GithubHelp home page GithubHelp logo

techie66 / libignitech Goto Github PK

View Code? Open in Web Editor NEW
5.0 5.0 0.0 9.36 MB

Library to read information from the Ignitech TCIP-4 ignition controller.

License: GNU General Public License v2.0

C 27.64% C++ 59.25% Shell 13.11%

libignitech's People

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

libignitech's Issues

emulator upgrades

To fully support the testing framework, the emulator must be able to toggle the "flags" individually by option

V96 support

V96 branch is up with basic support for V96 controllers.
Several bugs found and fixed that have been there for a while and never got caught. A little refactoring to make the code more readable/sensible/efficient.
Testing framework needs updating for V96
No regression testing done with V88 controller support yet.

TCIP emulator mostly needs a complete re-write. It doesn't communicate with official software. Looks like its getting hung up on responding before reading the actual command string. An "easy" option to emulate a V96 or V88. It should generate output itself to allow programmatic tests instead of regurgitating a hexdump blindly.

Lots of work to go, but a nice step in the right direction.

read_sync() never return

From looking at the code, there is the possibility that certain conditions would keep read_sync() from ever returning.
Need to implement a method to detect failure loop, and exit.

Perhaps a non-fatal failure return status whenever a reset occurs, this would signal read_sync() to exit with error and would allow read_async() direct use with more visibility to failure mode.

TCIP4 to CAN bridge

How about building a TCIP4 to CAN bridge?
Idea is to read out TCIP4 with the known serial protocol an put the read values out on CAN bus in several CAN streams (ISO 11898). This would help to use other CAN enabled app, e.g. RealDash for logging and display and e.g. MegaLogViewer for evaluation.

RPM error issue (also other values)

Now that the testing framework is coming together, an old bug thought to be on the firmware side showed up in testing.
It was confirmed that the serial device was opened with incorrect attributes and certain byte values were getting transformed by the kernel I/O. This is probably fixed now, but it also probably renders some sections of code completely useless as their intent was to work around this issue.

Arduino support

To support Arduino would require changes to the way the serial port is read. Hopefully find a way to keep the library in one piece.

ignitech.cpp return value of ignition.advance_2_deg;

ignitech.cpp

I think
get_advance(2) , get_advance(3), get_advance(4) in sipmle getter section always return ignition.advance_1_deg.

return has to be ignition.advance_2_deg; ignition.advance_3_deg; ignition.advance_4_deg; acordingly

Simple Getter
*/
int IGNITECH::get_advance1() {
return ignition.advance_1_deg;
}
/*
Simple Getter
*/
int IGNITECH::get_advance2() {
return ignition.advance_1_deg;
}
/*
Simple Getter
*/
int IGNITECH::get_advance3() {
return ignition.advance_1_deg;
}
/*
Simple Getter
*/
int IGNITECH::get_advance4() {
return ignition.advance_1_deg;
}

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.