Yesterday, 04:45 PM
Quote:Thanks so much again for passing over - it looks like the issue with my code was almost certainly using the incorrect canbus speed, I can't believe it!
For anyone who wants to dig into VOLVO canbus.
the new gen VOLVO (SPA, CMA) has several isolated CAN BUS networks and all of them are operating in 500kbps. There is no low canbus network.
Second important point.
There is no individual message ID for each operational command such as window down / up, climate control.
Instead, Can BUS nodes send (broadcast) messages with different message IDs continuously while changing only one byte within the same message.
This makes it really hard to hack the canbus.
Let's say you want to control the fan speed from an app on your phone.
There are two different message IDs which are sent by the CEM to the CCM every 10ms to 20ms for this. The source of the initial command to CEM is the IHU via Flexray.
One byte in one message ID controls which fan motor (ventilated seats or main or back ) to turn on and the other 1 byte in another message ID commands the speed of the fan.
Even though external device / software catches and sends the exact message to turn on the FAN, 10ms to 20ms later, CEM sends the default message then CCM turn the fan off. This happens because IHU did not send turn on FlexRay message to CEM at the first place.
On the other hand,
All diagnostic commands are one time commands with specific bytes. The reply message if an info requested such as coolant temp, always has the same message ID for reply. All there is left to do is parsing the message.