Hi guys, I'm owner of '21 EUDM Toyota Corolla Touring sport hybrid with Li-Ion battery. I've used Torque pro for a long time for my previous gen2 Prius, but I didn't find PIDs for Corolla hybrid. Params for Prius gen4 and Corolla hybrid from ScanGauge website doesn't fit to my car. So I've extracted them by myself. Few comments: 1. To get cells voltages your adapter should work correctly with long responses (115byte). Mine not. 2. I'm not sure about equations for cell internal resistances. Enjoy.
Hi! I am an owner of a 2024 Corolla touring, which is similar, but I think has enough differences to the 21. I am very curious: how did you manage to extract these PIDs? I would like to do something for my 2024 Corolla. Thanks in advance.
1. that's correct, since 2022 toyota updated their powertrains, so my PIDs may not fit to you. So if you want to extract them from the scratch, you can do it. I don't know software you're using and CAN adapter model. I have cheap elm327 adapter & torque pro app. Doesn't matter what you're using, you need to send custom messages and see responses. Most important thing you need to know is fact all widely used modes 01, 21 & 22 have "special " PIDs with "support bitmask". you can read this in wiki https://en.wikipedia.org/wiki/OBD-II_PIDs. For example, response from address 0x00 in mode 01 represent bitmask of supported PIDs for next 0x20 (=32 dec) PIDs. mode 21 operates absolutely the same way. So by checking addresses 0x00,0x20,0x40 etc you can extract full list of PIDs supported. Mode 22 operates very similar, but there are two differences: a. In mode 22 bitmask PIDs placed with step equal 256 instead of 32. Meaning bitmask adresses will be 0x100, 0x200 etc. b. LSB of each bitmask PIDs DOESN'T point to next non-empty bitmask like in modes 01 & 21. Even if LSB =0, you still need to check all valid bitmask addresses. 2. Next step - ping & check responding ECUs. Just request address 0x00 for mode 01, or 0x00 for mode 21, or 0x100 for mode 22. The responses could be 3 types: a. No response at all. That means ECU doesn't support this mode. b. Negative response with "7F" byte inside. That means ECU is exist, responding to you, but PID maybe not correct. c. Positive response with data. So even PID is correct. There are a lot of ECUs in the car, but most likely you need ECUs 7E0 (engine) & 7D2 (hybrid vehicle ECU). Maybe another addresses, check them. If you found responding ECU, collect all bitmask responses, build all PIDs table and ping all of them . It takes time, but not that much. Save all data, and start to analyze what you've got.. analysis of data could take long time. Few hints: a. If you can have a snapshot of yours ECUs with Techstream software - it will be GREAT help. You can compare parameter's name and values with collected data, so you can extract them faster. b. Parameters located close to each other in Techstream table, could be same close / same order in your data. c. Try to think, is PID integer, or float, what the accuracy of value and how it can be represented in your data. d. For example, values close to 0x8000 (or 0x7F**, or 0x80**) can represent positive/negative parameters like battery current. e. For example, I found very strange value in Techstream snapshot (Aux battery integrated thermal load, 5579950 dec) just translated to hex (0x5524AE) and found this sequence in the only cell of my table. So one by one, you will be able to analyze data under different conditions and find PID equations. As for me, it took few hours to take data from ECUs and days of analysis work.