Hello everyone, I've searched high and low but don't find a solution. Maybe I'm just missing the obvious. My project is using a Raspberry PI as an IoT device to get data from the Prius and store it for analysis. I can get the mode 01 data just fine, decode it and tie it out to reasonable real world situations. (like coolant temp increasing then stabalizing, decreasing when parked) However for mode 21 which seems to be the Toyota specfic data I get strange things. The below is with a Sparkfun ODB adapter and Putty. Example 2103 which should be wheel speed data with 4 bytes I get the following when parked: >2103 009 0: 61 03 01 00 80 7F 1: 8A 00 00 00 00 00 00 7F 21 12 with headers on: >2103 7EA 03 7F 21 12 00 00 00 00 7E8 10 09 61 03 01 00 80 7F 7E8 21 8A 00 00 00 00 00 00 When driving: >2103 7EA 03 7F 21 12 00 00 00 00 7E8 10 09 61 03 02 00 81 80 7E8 21 A1 00 00 00 00 00 00 The HV ECU has no change (would have expected something) The Engine ECU (I think) has a change but there is more data there than shows in the docu for 2103. (after accounting for the additional shown by the headers) Am I just missing the obvious? Any pointers in the right direction would be appreciated. There is a wealth of data in mode 21 but until I trust that I'm decoding it right we won't blindly use it. Thanks for any feedback. Including RTFM with a link to the good doc. Robert
It isn't unusual for car manufacturers to encrypt manufacturer specific data where they allow easy access to emissions relevant data. The latter is required by law so third party mechanics can work on the car. Cloaking the former is urged by dealers who want to have an advantage provided by the unique hardware they buy or rent from the manufacturer whose software enables the reading of all the information. Service is the dealer's money maker. Ran into this on another make of car where stuff like option enabling, airbag warnings, transmission codes, etc were encrypted. Can't help you with a Toyota.
All Toyota vehicles have a system that encrypts the vehicles performance data and saves it in a running memory. Only Toyota and top tier mechanics have the ability to decrypt and read that data. Toyota does this in order to provide this information for purposes of evaluating the system or the vehicle without fear of the data being corrected. This came about several years ago when several people started reporting the gas pedal getting stuck to the floor in their second generation prius. It turned out there were only one or two vehicles that actually had the stock accelerator pedal problem and all the rest were copycats trying to get a few dollars from Toyota. The encrypted data was a way toyota could go back and look at what's going on with the vehicle and have confidence with what it was seeing. You may just have stumbled across bad data
I am a little rusty with this but I will give it a shot. The wheel speed sensors come from the Skid Control ECU - header 7B0 request and 7B8 reply. I do not see this in your header response. The 2103 response from header 7E8 is from Engine Control ECU and has to do with Fuel Trim, I think. If you know how to request 2103 data from header 7B0 you should get the four wheel speeds. Good luck.