Monthly Archives: August 2019
Automatic SCI-bus speed change
I added a new feature to the scanner firmware and GUI.
If the scanner recognizes a special byte in the beginning of a message (0x12 in low speed mode and 0xFE in high speed mode) then it changes its SCI-bus speed accordingly.
[<-TX] Data transmitted
3D 00 03 26 01 12 3C // 0x12 sent to PCM
[RX->] SCI-bus message (PCM)
3D 00 07 87 00 00 00 61 AB 12 AC // 0x12 received from PCM
[RX->] SCI-bus settings changed
3D 00 03 03 02 D0 D8
[INFO] PCM settings:
- state: enabled
- configuration: "A"
- speed: 62500 baud // <-- speed changed from 7812.5 baud
TCM settings:
- state: disabled
- configuration: -
- speed: -
[<-TX] Data transmitted
3D 00 03 26 01 FE 28 // 0xFE sent to PCM
[RX->] SCI-bus message (PCM)
3D 00 07 87 00 00 00 73 DA FE D9 // 0xFE received from PCM
[RX->] SCI-bus settings changed
3D 00 03 03 02 C0 C8
[INFO] PCM settings:
- state: enabled
- configuration: "A"
- speed: 7812.5 baud // <-- speed changed from 62500 baud
TCM settings:
- state: disabled
- configuration: -
- speed: -
Download the updated GUI from here and once connected to the scanner click "Tools/Update scanner firmware" to update the scanner’s firmware.
V1.4X GUI – Command Line Interface
I managed to implement a rudimentary command line interface in the scanner firmware. It only accepts one command ("help") and responds with a static text. Not helpful at all but a great proof of concept for now.
Download the updated GUI from here.
CLI source
Also new feature is the online scanner firmware update. Click Tools menu and select "Update scanner firmware". The application downloads the latest firmware from GitHub, decides if the current firmware is old and automatically uploads the new one.
V1.41 PCB assembled
Side by side comparison between V1.40 and V1.41:
I only assembled this V1.41 PCB only and there are none for sale yet.
V1.41 PCBs arrived
Part list: V1.41 BOM
V1.4X LCD idea
All these parameters are readily available from CCD-bus messages: vehicle speed, engine speed, intake manifold absolute pressure, battery voltage / charging voltage, selected gear (auto transmission only), ambient / coolant temperature, throttle pedal position, odometer.