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.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.