Git Product home page Git Product logo

java-cardiag's Introduction

java-cardiag

Description

Car diagnostic software for vehicles with OBD2 compatible interface.

Example

  • now we can run two actions. Program looks for serial interfaces and lets the user to select one. Then it runs the action.
  • report creates a text file in the current directory containing all implemented values.
  • clear_trouble_codes erases the saved errors.
sudo java -jar ./java-cardiag-0.0.1-SNAPSHOT-jar-with-dependencies.jar report;
sudo java -jar ./java-cardiag-0.0.1-SNAPSHOT-jar-with-dependencies.jar CLEAR_TROUBLE_CODES;

Targets

  • support for most of today's operating systems
  • communication via USB ELM327/OBD2 car interface, probably other in future
  • stability
  • simple startup, no system modifications needed (only JRE6 and higher)
  • pretty maintainable code covered by tests, both unit (without real serial interface) and integration (with interface and car)
  • open source free code

Problems

  • how
  • only available hardware for testing - ELM327 clone (1.5a)
  • only few available cars for testing - Lada Kalina 1.6 8V 2007, Škoda Fabia 2010, Ford Focus 2007, Seat Ibiza 2001.
  • need help with a selection of the license ... GNU GPL v3? EPL? BSD? MIT?

Troubleshooting

Port name - /dev/ttyUSB0; Method name - openPort(); Exception type - Permission denied. (Linux)

  • sudo gpasswd --add ${USER} dialout
  • or run the program with sudo.

Current stage

  • early development.
  • can reset error codes
  • can produce a report file with the current values
  • version 0.0.1 will be released after I will fix my problem with my car (P300, P303, P304) ... or later, in 2017 ;)
  • if someone will start implementing GUI, many people will be finally happy ;)

Useful links

Maybe useful links

These libraries were not selected due to license or incompatibilities or other reason:

java-cardiag's People

Contributors

dmatej avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

java-cardiag's Issues

Communication with user via command line

For the simplicity no GUI will be implemented at this time. Program can be run only from command line and user interaction will be in the form of questions and answers.

Refactor

  • conversion of bytes to values/enums/etc.
  • communication with the ELM/OBD
  • communication with a GUI (does not exist yet)
  • communication with a server (statistics, analysis, comparison, etc.; does not exist yet)

LICENSE

Hi! Could you add a license for this repo?

Also, it would be great if you could publish this as a library to Maven.

Thanks!

Simulator of ELM324 device

Needed for unit testing.
Simulator must not use any serial interface, it will be only Java code responding as if it was serial device.
In should be extensible to simulate many cars and OBD2 implementations in the future.

Fix parsing - Seat Ibiza 2001 1.2 issue ...

  • Bytes from Siemens unit are not separated by space.
  • getSecondaryAirStatus is incorrect, throws exception. Seat returns hexa 44/46, but there should be only one bit set: 1/2/4/8)

Communication with the device

See ELM327DS.pdf - this issue is only about the communication:

  • initiation
  • AT commands and processing responses and errors

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.