-
-
Notifications
You must be signed in to change notification settings - Fork 257
rusEFI calibration via CAN
With all the electromagnetic interference around the gasoline engine due to sparking CAN physical layer provides the level of reliability above RS232 and USB physical layers.
rusEFI acts as a tranlator between either Linux SockerCAN or Windows PCAN and TunerStudio since as of March 2024 TunerStudio does not integrate with any CANbus dongle native.
ISO 15765-2, or ISO-TP (Transport Layer), helps us exchange up to 4096 packets into which we wrap TS protocol. See also wikipedia
https://github.com/rusefi/rusefi/tree/master/java_console/io/src/main/java/com/rusefi/io/can folder has java implementation of ISO-TP packet encoding/decoding.
There is no standard way of communicating with CAN bus on Windows. At the moment rusEFI is focusing on PCAN by Peak System and ELM327 options of the Windows side of CAN.
It works! https://www.youtube.com/watch?v=Mwgq26M5-JY
Between three major professional CAN frontend vendors we like PCAN by https://www.peak-system.com/ due to the combination of the following
-
documented Windows DLL drivers with official java wrappers called PCAN-Basic API
-
https://github.com/moonglow/pcan_cantact open source firmware for cheeeeeeap third party devices
rusEFI bridge between PCAN and ISO-TP is located at https://github.com/rusefi/rusefi/tree/master/java_console/io/src/main/java/com/rusefi/io/stream
Could have should have worked, but it does not.
With more than a dozen magic commands it's possible to switch ELM327 device into binary transition with serial communication between calibration software and ELM327 acting as a bridge. At the moment we have a very odd bug making the overall solution not working as of Jan 2022.
See https://canhacker.com/ch-obd-m02/ for great pinout image. Yes both GND are needed for reliable ELM327 operation.
- How to search the Wiki
- Quick Start
- How to ask questions
- Support
- How to create a TunerStudio project
- HOWTOs and FAQs
- rusEFI Online
- Fueling
- Multispark
- Cranking
- Electronic Throttle
- Knock Sensing
- Variable Valve Timing
- Lua Scripting
- GDI
- rusEFI virtual simulator
- Digital Dash