rusefi_documentation/Knio_carhack_Nissan.md

715 lines
12 KiB
Markdown
Raw Permalink Normal View History

# knio/carhack Nissan 370Z CAN Data
Copy-paste of [https://github.com/Knio/carhack/blob/master/Cars/Nissan.markdown](https://github.com/Knio/carhack/blob/master/Cars/Nissan.markdown)
2021-02-05 09:11:36 -08:00
```md
2021-02-05 09:11:36 -08:00
Nissan 370Z CAN-BUS Data
========================
This file is for attempting to reverse engineer the CAN-BUS data
on a 2010 Nissan 370Z.
Data
----
Active IDs with power in ACC or ON:
002
160
180
182
1F9
215
216
245
280
284
285
292
2DE
342
351
354
355
358
35D
385
421
512
54C
551
580
5C5
60D
625
6E2
ID 002 - Unknown
----------------
interval 10ms
IGN ACC: no data
IGN ON:
(A, B, C, D, E)
* `A`, `B` - Steering wheel angle
2023-01-02 11:22:23 -08:00
* NOTE: `B` is the high-order bit
2021-02-05 09:11:36 -08:00
* `C` - Unknown - Goes up when steering (power steering under load)
* `D` - Unknown - Always 7
* `E` - Unknown - A strange permutation of 16 numbers
ID 160 - Unknown
----------------
interval 10ms
Related to engine load/fuel/something
IGN ON:
(50, 3, 32, 0, 8, 255, 192)
(61, 85, 217, 0, 8, 255, 224)
(61, 85, 220, 0, 8, 255, 224)
IGN ENG:
(A, B, C, D, E, F, G)
* `A` - Unknown - Sensor data.
* `B` - Unknown - Bitfield.
* `C` - Unknown - Sensor data. Related to throttle position
* `D` - Unknown - Sensor data. typically 0.
* `E` - Unknown - Bitfield. 8, or 224 - G
* `F` - Unknown - Sensor data. typically 255. related to `E` and `F`
* `G` - Unknown - Bitfield. related to `E`. typically 224
`B`, `E`, `G` all change values when first acellerating
ID 180 -- Unknown
-----------------
Related to throttle/fuel system.
When IGN in ACC: no data
When IGN in ON:
Sends once:
(0, 0, 50, 3, 32, 0, 1, 0)
Sometimes:
(0, 0, 93, 147, 213, 0, 50, 16)
(0, 0, 93, 179, 213, 0, 51, 16)
Sends every 10ms:
(0, 0, 93, 195, 213, 0, X, 16)
where X counts up from 48 to 63 and repeats
(A, B, C, D, E, F, G, H)
* `A`, `B` - Engine RPM.
2023-01-02 11:22:23 -08:00
* Same as `1F9` `C`,`D`
2021-02-05 09:11:36 -08:00
* `C` - Unknown - Sensor data.
* `D` - Unknown - Bitfield.
* `E` - Unknown - Sensor data.
* `F` - Throttle pedal postion, % `(F/255 * 100)`
* `G` - Unknown - Sensor / Bitfield.
* `H` - Bitfield
2023-01-02 11:22:23 -08:00
* `H1` - Unknown
* `H2` - 0
* `H3` - Unknown
* `H4` - 0
* `H5` - Unknown
* `H6` - 0
* `H7` - 0
2021-02-05 09:11:36 -08:00
ID 182 - Unknown
----------------
Similar to ID 180.
When IGN in ACC: no data
When IGN in ON:
Sends every 10ms:
(0, 0, 0, 0, 0, F, 0, 245)
`F` counts up from 32 to 47 and repeats
* `A` - 0
* `B` - Bitfield
2023-01-02 11:22:23 -08:00
* `B1` - Unknown - High when `580` `A`,`B` is 0.
* `B2-B7` - 0
2021-02-05 09:11:36 -08:00
* `C` - 0
* `D` - 0
* `E` - Unknown
* `F` - Unknown
* `G` - Unknown
* `H` - Unknown - higher when engine accelerating, cuts out when lifting
ID 1F9 - Unknown
----------------
When ignition goes from ACC to ON:
(0, 0, 0, 0, 0, 0, 0, 128) - (repeat every 10ms)
ON:
* `C`, `D` - Engine RPM
(21, 74) = idle
ID 6E2 - Unknown
----------------
Sends every 100ms:
(0, 0, 120)
(0, 0, 121)
(0, 0, 122)
ID 215 - Unknown
----------------
Sends every 20ms:
(255, 240, 255, 0, 255, 255)
* `B`
2023-01-02 11:22:23 -08:00
* 240 - AC LED off
* 248 - AC LED on
2021-02-05 09:11:36 -08:00
ID 216 - Unknown
----------------
20ms interval
When IGN in ACC:
(64, 36) - (repeat)
IGN ON:
(166, 100)
* `A`
2023-01-02 11:22:23 -08:00
* 100 - CLutch engaged
* 108 - CLutch *fully* pressed
2021-02-05 09:11:36 -08:00
IGN ACC -> ON:
(65, 36)
(65, 36)
(65, 36)
(65, 36)
(64, 100)
(66, 100) (repeat)
ID 245 - Unknown
----------------
20ms interval
When IGN ON, repeat:
(255, 224, 0, 24, 0, 0, 255, 224)
(255, 224, 0, 24, 0, 0, 255, 225)
(255, 224, 0, 24, 0, 0, 255, 226)
(255, 224, 0, 24, 0, 0, 255, 227)
ID 280 - Unknown
----------------
20ms interval
When IGN ACC:
(1, 255, 192, 0, 0, 0, 0, 0) - (repeat)
IGN ACC -> ON:
(1, 255, 192, 0, 0, 0, 162, 64)
IGN ON:
(1, X, 192, 0, 0, 0, Y, 64)
* `X` - varies randomly from 13 to 17
* `Y` - varies randomly from 154 to 161
* E, F - vehicle speed
ID 284 - Unknown
----------------
20ms interval
IGN ACC: no data
IGN ON:
(0, 0, 0, 0, 0, 0, X, Y)
* `X` - counts up from 0 to 255
* `Y` - counts up from 0 to 255, +134 offset from `X`
ID 285 - Unknown
----------------
Same as ID 284. Offset is +135 this time
ID 292 - Unknown
----------------
20ms interval
IGN ACC: no data
IGN ACC -> ON:
(255, 255, 255, 255, 255, 254, 255, 0)
for 3 seconds
IGN ON:
(255, 248, X, 128, 15, 254, 0, 0)
* `X` - varies from 60 - 71
ID 2DE - Unknown
----------------
10ms interval
(0, 0, 128, 5, 240, 0, X, 242)
* `X`
2023-01-02 11:22:23 -08:00
* 6 when IGN ACC
* 255 for 20s after ACC -> ON
* 6 again after
2021-02-05 09:11:36 -08:00
ID 342 - Unknown
----------------
IGN ACC -> ON:
(3, 35, 162, 246)
(3, 44, 255, 255)
ID 351 - Unknown
----------------
interval 110ms
IGN ACC:
(0, 0, 0, 0, 0, 0, 64, 0)
IGN ON:
(0, 0, 0, 0, 0, 0, 64, 2)
(0, 0, 0, 0, 0, 64, 64, 2)
(0, 0, 0, 0, 0, 76, 64, 2) (repeat * 15)
(0, 0, 0, 0, 0, 12, 64, 2) (repeat)
* `H` - Clutch pedal
2023-01-02 11:22:23 -08:00
* 2 - Engaged
* 6 - *fully* pressed
2021-02-05 09:11:36 -08:00
ID 354 - Unknown
----------------
interval 45ms
IGN ACC: no data
IGN ACC -> ON:
(0, 0, 0, 0, 42, 0, 4, 0)
(0, 0, 0, 0, 42, 8, 4, 0)
(0, 0, 0, 0, 42, 16, 4, 0)
(0, 0, 0, 0, 42, 24, 4, 0)
(repeat all)
for 3s
IGN ON:
(0, 0, 0, 0, 0, 0, 4, 0)
(0, 0, 0, 0, 0, 8, 4, 0)
(0, 0, 0, 0, 0, 16, 4, 0)
(0, 0, 0, 0, 0, 24, 4, 0)
(repeat all)
* `E` - TCS Status
2023-01-02 11:22:23 -08:00
* 0 - On
* 64 - Off
2021-02-05 09:11:36 -08:00
* `G`
2023-01-02 11:22:23 -08:00
* 4 - brake off
* 20 - brake pedal pressed (little bit)
2021-02-05 09:11:36 -08:00
* `A`,`B` - Speed
ID 355 - Unknown
----------------
interval 45ms
IGN ACC:
(0, 0, 255, 255, 32, 0, 96)
IGN ON:
(0, 0, 0, 0, 32, 0, 96)
A,B - Speed
C,D - Speed
ID 358 - Unknown
----------------
interval 110ms
IGN ACC:
(0, 10, 0, 0, 0, 0, 0, 0)
IGN ACC -> ON:
(0, 10, 0, 32, 0, 0, 0, 0)
(4, 10, 0, 32, 0, 0, 0, 0)
(4, 10, 0, 32, 0, 0, 0, 0)
(4, 10, 0, 32, 128, 0, 0, 0) (* 10)
IGN ON:
(4, 10, 0, 32, 0, 0, 0, 0)
ID 35D - Unknown
----------------
interval 110ms
IGN ACC:
(0, 3, 0, 0, 0, 0, 0, 0)
IGN ON:
(128, 3, 0, 0, 0, 0, 0, 0)
* `C`
2023-01-02 11:22:23 -08:00
* 0
* 64 - wiper pulse
* 192 - wiper 1 pulse (up)
* 192 - continuous wiper
* 224 - fast continuous wiper
2021-02-05 09:11:36 -08:00
* `E`
2023-01-02 11:22:23 -08:00
* 16 - car stopped
* 64 - car moving
* ?? - brake pressed
2021-02-05 09:11:36 -08:00
ID 385 - Unknown
----------------
interval 110ms
IGN ACC & ON
(4, 0, 0, 0, 0, 0, 0)
ID 421 - 6MT Gear Shift Position Sensor
---------------------------------------
interval 55ms
IGN ACC -> ON
(128, 1)
IGN ON:
(X, 65)
* `X` Gear shift position
2023-01-02 11:22:23 -08:00
* 24 - Neutral
* 128 - First
* 136 - Second
* 144 - Third
* 152 - Fourth
* 160 - Fifth
* 168 - Sixth
* 16 - Reverse
2021-02-05 09:11:36 -08:00
ID 512 - Unknown
----------------
IGN ACC -> ON:
(3, 32, 42, 88)
(3, 44, 255, 255)
ID 54C - Unknown
----------------
interval 110ms
IGN ACC: no data
IGN ON:
(X, 99, 192, 0, 0, 128, 4, 8)
* `X` - 157 or 158
ID 551 - Unknown
----------------
interval 110ms
IGN ACC: no data
IGN ON:
(A, B, C, D, E, F, G, H)
* `A` - Sensor data - Temp?
2023-01-02 11:22:23 -08:00
* Starts at ~60, slowly rises to ~125
2021-02-05 09:11:36 -08:00
* `B` - Counts up from 0 to 255 (only when engine running)
2023-01-02 11:22:23 -08:00
* Counts faster at higher RPMs
2021-02-05 09:11:36 -08:00
* `C` - `0x00` / `0` always
* `D` - Bitfield.
2023-01-02 11:22:23 -08:00
* `0xA0` / `160` - Engine off, ACC?
* `0x20` / `32` - Engine turning on (500ms)
* `0x00` / `0` - Engine turning on (2500ms)
* `0x80` / 128` - Engine running
* `0x00` / `0` - Engine shutting down (2500ms)
* `0x20` / `32` - Engine off
2021-02-05 09:11:36 -08:00
* `E`
2023-01-02 11:22:23 -08:00
* Cruise control set point (Kph), cruise control active
* `255` - Cruise control master off
* `254` - Cruise control master on, cruise control disengaged
2021-02-05 09:11:36 -08:00
* `F` - Cruise control status
2023-01-02 11:22:23 -08:00
* `0x02` / `2` - Cruise control master off
* `0x62` / `82` - Cruise control master on
* `0x42` / `66` - Cruise control engaged
* No other observed values
* `F1` / `0x01` - `0
* `F2` / `0x02` - `1`
* `F3` / `0x04` - `0`
* `F4` / `0x08` - `0`
* `F5` / `0x10` - Cruise control active(`0`) / disengaged and master switch on(`1`)
* `F6` / `0x20` - `0`
* `F7` / `0x40` - Cruise control master switch on(`1`) / off(`0`)
* `F8` / `0x80` - `0`
2021-02-05 09:11:36 -08:00
* `G` - `0x80` / `128` always
* `H` - `0xFF` / `255` always
ID 580 - Unknown
----------------
interval 110ms
IGN ACC: no data
IGN ACC -> ON
(0, 0, 64, 0, 70)
IGN ON:
(0, 0, 64, 8, 70)
(0, 0, 64, 10, 70)
(0, 0, 64, 12, 70)
(0, 0, 64, 14, 70)
* `A, B` - Engine RPM
2023-01-02 11:22:23 -08:00
* (0, 130) = idle (~600rpm)
2021-02-05 09:11:36 -08:00
* `C` - `0x40` / `64` always
* `D` - Unknown. Sensor - jumpy
2023-01-02 11:22:23 -08:00
* ~150 to ~200
2021-02-05 09:11:36 -08:00
* `E` - Sensor data - Temp?
2023-01-02 11:22:23 -08:00
* Slowly rises from ~60 to ~110.
2021-02-05 09:11:36 -08:00
ID 5C5 - Unknown
----------------
interval 110ms
IGN ACC:
(128, 0, 76, 156, 0, 12, 0, 127)
IGN ON:
(68, 0, 76, 156, 0, 12, 0, 127)
* `A` - Parking Brake
2023-01-02 11:22:23 -08:00
* 68 - On
* 64 - Off
* 128 - Engine off & parking brake on
* No other observed values
* `A1` / `0x01`
* `A2` / `0x02` - Parking brake indicator on(`1`) / off(`0`)
* `A3` / `0x04`
* `A4` / `0x08`
* `A5` / `0x10`
* `A6` / `0x30`
* `A7` / `0x40` - `1` Always
* `A8` / `0x80` - Engine off(`1`) / on(`0`) (not set when ACC)
2021-02-05 09:11:36 -08:00
* `B` - `0` always
* `C` - `100` always
* `D` - Sensor data - Unknown
2023-01-02 11:22:23 -08:00
* 96 to 100, very slowly increasing
2021-02-05 09:11:36 -08:00
* `E` - `0` always
* `F` - `12` always
* `G` - `0` always
* `H` - `127` always
ID 60D - Body Control Module
----------------------------
interval 110ms
length: 8
Active with IGN ACC, ON
Sample:
(0, 6, 8, 42, 0, 0, 0, 0)
* `A` - Body Status
2023-01-02 11:22:23 -08:00
* `A0` - 0
* `A1` - Headlights on(1)
* `A2` - Running lights on(1)
* `A3`
* `1` 6000ms after engine turns on
* `0` 1500ms after engine turns off
* `A4` - Driver door open(1)
* `A5` - Passenger door open(1)
* `A6` - 0
* `A7` - 0
2021-02-05 09:11:36 -08:00
* `B` - Turn Signal Status
2023-01-02 11:22:23 -08:00
* `B0` - 0
* `B1`
* 1 ACC(ON?) / IGN
* 0 OFF & for 1000ms when engine starting
* `B2`
* 1 ACC(ON?) / IGN
* 0 OFF
* `B3` - 0
* `B4` - 0
* `B5` - Left turn signal active(1)
* `B6` - Right turn signal active(1)
* `B7` - 0
2021-02-05 09:11:36 -08:00
* `C` - Lock Status
2023-01-02 11:22:23 -08:00
* `C0` - 0
* `C1` - 0
* `C2` - 0
* `C3` - Driver door locked(1)
* `C4` - Other locked(1)
* `C5` - 0
* `C6` - 0
* `C7` - 0
2021-02-05 09:11:36 -08:00
* `D` - 0
2023-01-02 11:22:23 -08:00
* Pulses 42 when IGN ACC->ON
2021-02-05 09:11:36 -08:00
* `E` - `0` always
* `F` - `0` always
* `G` - `0` always
* `H` - `0` always
ID 625 - Body Control Module
----------------------------
Similar to ID 60D
IGN ACC:
(2, 0, 255, 14, 32, 0)
IGN ACC -> ON:
(2, 0, 255, 13, 32, 0)
IGN ON:
(A, B, 255, 157, 32, 0)
* `A` - Climate Control
2023-01-02 11:22:23 -08:00
* `A0` - Rear defrost LED on(1)
* 2 - Idle
* 4, 6, 8, 10 - Wipers active(?)
2021-02-05 09:11:36 -08:00
* `B` - Body
2023-01-02 11:22:23 -08:00
* 0 - accelerating hard?
* 128 - all other times
* Following seems wrong:
* `A0` - 0
* `A1` - 0
* `A2` - 0
* `A3` - 0
* `A4` - Hi-beams on(1)
* `A5` - Headlights on(1)
* `A6` - Running lights on(1)
* `A7` - AC LED on(1)
2021-02-05 09:11:36 -08:00
* `C` - `255` always
* `D` - Unknown bitfield
2023-01-02 11:22:23 -08:00
* 157 - ACC(ON?)
* 29 - 1500ms after engine start
* 13 - engine off
2021-02-05 09:11:36 -08:00
* `E` - Unknown bitfield
ID 6E2 - Unknown
----------------
interval 110ms
IGN ACC: no data
IGN ON:
(0, 0, 120)
(0, 0, 121)
(0, 0, 122)
(0, 0, 123)
IGN ACC -> ON Sequence
----------------
20121007.164633.983 ID:216
20121007.164634.086 ID:280 Flags:0 Data: (1, 255, 192, 0, 0, 0, 162, 64)
20121007.164634.151 ID:1F9
20121007.164634.151 ID:280 Flags:0 Data: (1, 14, 192, 0, 0, 0, 161, 64)
20121007.164634.174 ID:280 Flags:0 Data: (1, 16, 192, 0, 0, 0, 156, 64)
20121007.164634.194 ID:280 Flags:0 Data: (1, 14, 192, 0, 0, 0, 158, 64)
20121007.164634.213 ID:245
20121007.164634.217 ID:280 Flags:0 Data: (1, 13, 192, 0, 0, 0, 159, 64)
20121007.164634.262 ID:512 Flags:0 Data: (3, 32, 42, 88)
20121007.164634.305 ID:512 Flags:0 Data: (3, 44, 255, 255)
----
20121008.191328.656 ID:60D Flags:0 Data: (6, 6, 0, 42, 0, 0, 0, 0)
20121008.191328.708 ID:5C5 Flags:0 Data: (68, 0, 76, 161, 0, 12, 0, 127)
20121008.191519.726 ID:180 Flags:0 Data: (4, 126, 93, 195, 213, 0, 63, 21)
20121008.191519.904 ID:580 Flags:0 Data: (0, 250, 64, 152, 69)
20121008.191520.016 ID:580 Flags:0 Data: (1, 8, 64, 154, 69)
20121008.191520.126 ID:580 Flags:0 Data: (1, 58, 64, 156, 69)
20121008.191648.293 Stop
```