En otros Toyotas esta ECU es la responsable de controlar el aire acondicionado y aunque la información que he visto por ahí no obtenía resultados en mi GT86, a base de realizar pruebas, he encontrado una solicitud a esta ECU relacionada con la temperatura que seleccionas para el habitáculo.
Así que tiene toda la pinta de que en el toyobaru, esta ECU tiene la misma función que en otros modelos de Toyota.
Pero vayamos por partes. Antes de analizar las solicitudes en particular, veamos cuales están disponibles. Para ello utilizamos el mismo método que en las ECUs anteriores. Solicitamos el PID 0x00 del servicio 0x21 a la ECU 0x7C4 y vamos elaborando la tabla de PIDs soportados.
Una vez obtenidos los PIDs, solicitamos todos ya cada uno de los PIDs soportados para obtener la respuesta y ver de que longitud es.
Con esa información podemos escribir la siguiente tabla.
PID | Longitud (bytes) | Unidades | Cálculo | Descripción | Status |
0x00 | 4 | - | Evaluación de bits | PIDs soportados [0x01...0x20] | Confirmado |
0x03 | 2 | Desconocido | |||
0x20 | 4 | - | Evaluación de bits | PIDs soportados [0x21...0x40] | Confirmado |
0x21 | 2 | Desconocido | |||
0x24 | 2 | Desconocido | |||
0x25 | 1 | Desconocido | |||
0x26 | 2 | Desconocido | |||
0x29 | 2 | Desconocido | |||
0x2A | 2 | Desconocido | |||
0x2B | 2 | Desconocido | |||
0x2C | 2 | Desconocido | |||
0x2D | 2 | Desconocido | |||
0x2E | 2 | Desconocido | |||
0x2F | 2 | Desconocido | |||
0x30 | 2 | Desconocido | |||
0x33 | 2 | Desconocido | |||
0x34 | 2 | Desconocido | |||
0x35 | 2 | Desconocido | |||
0x36 | 1 | Desconocido | |||
0x3C | 1 | Desconocido | |||
0x3D | 2 | Desconocido | |||
0x40 | 4 | - | Evaluación de bits | PIDs soportados [0x41...0x60] | Confirmado |
0x41 | 1 | Desconocido | |||
0x42 | 1 | Desconocido | |||
0x43 | 1 | Desconocido | |||
0x44 | 1 | Desconocido | |||
0x45 | 1 | Desconocido | |||
0x46 | 1 | Desconocido | |||
0x47 | 2 | Desconocido | |||
0x48 | 2 | Desconocido | |||
0x4B | 2 | Desconocido | |||
0x4C | 2 | Desconocido | |||
0x60 | 4 | - | Evaluación de bits | PIDs soportados [0x61...0x80] | Confirmado |
0x80 | 4 | - | Evaluación de bits | PIDs soportados [0x81...0xA0] | Confirmado |
0x81 | 4 | Desconocido | |||
0x82 | 4 | Desconocido | |||
0x89 | 1 | Desconocido | |||
0xA0 | 4 | - | Evaluación de bits | PIDs soportados [0xA1...0xC0] | Confirmado |
0xC0 | 4 | - | Evaluación de bits | PIDs soportados [0xC1...0xE0] | Confirmado |
0xE0 | 4 | - | Evaluación de bits | PIDs soportados [0xE1...0x100] | Confirmado |
0xE1 | 7 | Desconocido | |||
0xE2 | 5 | Desconocido |
Detectado el PID responsable, sólo había que ir cambiando la temperatura y ver que dos bytes devolvía para ella. Y así obtuve:
0x640 para 16ºC, 0x60E para LO (el mínimo que admite el climatizador), 0xA8C para 27ºC, 0xBB8 para 30ºC y 0xBEA para HI (la máxima temperatura soportada por el climatizador).
Entonces decidí poner el modo dual, y empezar a modificar la temperatura del copiloto. Así puse en el climatizador 20ºC - 20ºC y obtuve 0x7D0. A continuación puse 20ºC - 23 ºC y obtuve el mismo 0x7D0.
Realicé distintas pruebas y todos dieron el mismo resultado. El PID 0x29 del servicio 0x21 de la ECU 0x7C4 sólo cambia su respuesta cuando cambia la temperatura del piloto. La del copiloto no la tiene en cuenta. Habrá que buscarla en otro PID.
Pero en cualquier caso, la evidencia de que la ECU 0x7C4 estaba relacionada con el sistema de climatización estaba obtenida.
Quedaba por encontrar las unidades en las que la ECU devolvía el valor. Y para mi sorpresa fue trivial. Y es que a 22ºC había devuelto 0x898, que al convertirlo a decimar resultó ser 2200. Para 18ºC había devuelto 0x708, que al convertirlo a decimal resulto 1800. Y así con todos los valores, la ECU devolvía la temperatura seleccionada multiplicada por 100. Para LO obtuve 1550 (15,5ºC) y para HI 3250 (32,5ºC).
Ya podemos por tanto, rellenar la primera entrada de la tabla.
PID | Longitud (bytes) | Unidades | Cálculo | Descripción | Status |
0x29 | 2 A,B |
ºC | (A*256+B)/100 | Temperatura conductor demandada A/C | Confirmado |
Con paciencia, espero ir rellenado el resto de entradas en la tabla ...