Реверс данных AVC-LAN
Формат данных:
| 00 | 01 | 02 | 03 | 04.. |
|---|---|---|---|---|
| Broadcast | Logic from | Logic to | Cmd | Data |
Логические устройства:
| AVC Address | Logic device | Desc |
|---|---|---|
| 0x1C6 | 0x01 | ?-> |
| 0x160 | 0x11 | >? Something in AUDIO |
| 0x1C6 | 0x12 | ->? |
| 0x1C6 | 0x25 | ?-> |
| 0x1C6 | 0x32 | ->? |
| 0x110 | 0x5D | Climate screen in HeadUnit |
| 0x110 | 0x5F | TripInfo экран в Head Unit |
| 0x1C6 | 0x8C | <> |
| 0x1C6 | 0xE0 | A/C Climate? |
| 0x1C6 | 0xE4 | Engine Control Module (ECM) |
| 0x1C6 | 0xE5 | Trip модуль? |
A/C Climate (0x1C6[0xE0]) -> Climate screen (0x110[0x5D])
| Cmd | Data | Look at | Value/Interval | Desc |
|---|---|---|---|---|
| 0xF5 | XX 0x38 | XX | 0 | Lo |
| 0xF5 | XX 0x38 | XX | 1..29 | Temp=15.5+(XX/2) *C |
| 0xF5 | XX 0x38 | XX | 55 | Hi |
| 0xF5 | XX 0x38 | XX | 57 | A/C Off |
| 0xF3 | [0] [1] ?? ?? ?? [5] | [bytes] | Bits. 7H[Byte]0L WARNING! Possible bits reversed 7<->0. Need recheck | |
| [N:M] - byte[N], bit M | ||||
| [0:7] Auto mode on | ||||
| [0:6] Outside air | ||||
| [0:5] Recirculation | ||||
| [0:4] Defrost windshield | ||||
| [0:3] Rear glass spirals | ||||
| [0:1] A/C on(allowed) | ||||
| [0:0] Head aiflow | ||||
| [1:7] Head and foot airflow | ||||
| [1:6] Foot airflow | ||||
| [1:5] Foot&windsheild | ||||
| [5:7]..[5:5] Fan speed | ||||
| 0xF7 | XX | XX | .. | Outside Temp, C+0x30 (0x30 = 0C, 0x2F=-1C, 0x3A=10C) |
Climate screen (0x110[0x5D]) -> A/C Climate (0x1C6[0xE0])
| Cmd | Data | Desc |
|---|---|---|
| 0xE0 | =no= | Request 0xF0 answer |
| 0xE4 | =no= | Request 0xF4 answer |
| 0xE6 | =no= | Request 0xF6 answer |
| 0xE8 | =no= | Request 0xF8 answer |
Trip engine (0x1C6[0xE5]) -> Trip screen (0x110[0x5F])
| Cmd | Data | Look at | Value/Interval | Desc |
|---|---|---|---|---|
| 0xD8 | XX xx 0x40 | XX xx | 0..Max | Fuel consuption (instant)=(XXxx/10)L /100 Km |
| 0xD8 | XX xx 0x40 | XX xx | 0xFFFE | Fuel consuption=Max |
| 0xDC | XX xx 0x80 | XX xx | -- | Trip from reset/Refill=(XXxx/10)Km |
| 0xDB | XX xx 0x40 | XX xx | -- | Fuel consuption (avg)=(XXxx/10)L /100 Km |
| 0xDB/D8/DC | nn nn 0x_0 | _ | 0x40 | L/100Km (?) |
| 0xDB/D8/DC | nn nn 0x_0 | _ | 0x80 | 1/10Km (?) |
ECM (0x1C6[0xE4]) -> All (0x110[0x00])
| Cmd | Data | Look at | Value/Interval | Desc |
|---|---|---|---|---|
| 0x95 | XX | Check if flags! Continious brcst. "00" |
ECM (0x1C6[0xE4]) -> Trip screen (0x110[0x5F])
| Cmd | Data | Look at | Value/Interval | Desc |
|---|---|---|---|---|
| 0x96 | XX | XX | 0..Max | Coolant temp in 1/2*C |
| 0x97 | XX XX | |||
| 0xB4 | XX | Status. Bits | ||
| [7] - "P" - Parking | ||||
| [3] - Not "P" - "D" or "N" or "R" or "B" mode | ||||
| [2] - IG active. 1 when IG or Ready state | ||||
| [1] - Shutting down? Sometimes flashes when "Ready" or "IG" switching to "OFF" | ||||
| [6],[5],[4],[0] - Zeros, unknown | ||||
| 0xB8 | ff ff ff ff ff ?? | ff | Status, bits | |
| [0:3] - P not set but driver's door open | ||||
| [0:5] - Inspection mode | ||||
| [1:0] - Problem - VCS off | ||||
| [2:7] - "Ready" state | ||||
| [2:3] - Brakes pedal pressed | ||||
| [2:2..2:0] Battery charge level. 0 - low, 7 - max | ||||
| [2:6],[2:5],[2:4] - Zeros, unknown | ||||
| [3:6] - "EV" mode | ||||
| [3:7] - "EV" request? | ||||
| [4:7] - Forced by car "EV" disabling (Shows text "Cannot switch to EV mode now") | ||||
| 0xB9 | ff ff 00 | ff | Energy direction status. Bits, gropped by 3. Looks like overhead protocol. Bit n - reverse, n+1 - forward, n+2 - active at all. So, 4ex, 101 means energy from Batt to MG1. 011 - from MG1 to Batt. Other values never saw. | |
| [15..13] - "011"="MG's -> Whells" 011 - reverse | ||||
| [12..10] - "011"="Batt -> MG's" 011 - reverse | ||||
| [7..5] - "011"="Gasoline eng -> MG2" 011 - reverse | ||||
| [4..2] - "011"="Gasoline eng -> MG1" 011 - reverse | ||||
| [9,8] - Unknown, always zero | ||||
| [1,0] - Unknown, always zero | ||||
| 0xBA | XX | XX | Value. Non-zero when drive |
Bradcast packets has no target address on the AVC LAN level but I am not sure if it has no "logical" address. So, it looks like a broadcast for AVC LAN still have target address (or class) inside the data:
| Data[0] | Data[1] | Data [2] | Data[3] ... |
|---|---|---|---|
| Src addr | Target addr (or class) | Command | Data |
| example: | |||
| E4 | 31 | B6 | XX XX XX |
ECM (0x1C6[0xE4]) -> Broadcast
| Class (Target) | Command | Data | Value |
|---|---|---|---|
| 31 | B6 | XX XX XX | Driving shift position. Bitfield. [Byte:Bit] |
| [0:7] - "P" | |||
| [0:6] - "R" | |||
| [0:5] - "N" | |||
| [0:4] - "D" | |||
| [2:7] - "B" |