8#define NISSAN_STEERING_WHEEL 0x002
10#define NISSAN_ENGINE_2 0x231_561
12#define NISSAN_ENGINE_7_233_563 0x233
14#define NISSAN_ENGINE_1_RPM_1F9_505 0x1F9
18#define NISSAN_ENGINE_3_23D_573 0x23D
19#define NISSAN_ENGINE_4_23E_574 0x23E
21#define NISSAN_TCU_1 0x251
22#define NISSAN_TCU_2 0x253
25#define NISSAN_VEHICLE_SPEED_280 0x280
29#define NISSAN_WHEEL_SPEED1 0x284
31#define NISSAN_WHEEL_SPEED2 0x285
34#define NISSAN_UNKNOWN_4 0x29E
36#define NISSAN_ABS 0x2A0
39#define NISSAN_BCM 0x341
43#define NISSAN_VEHICLE_SPEED 0x354
45#define NISSAN_ENGINE_5_CLT_551_1361 0x551
47#define NISSAN_RPM_AGAIN 0x580
48#define NISSAN_ODOMETER 0x5C5
50#define NISSAN_BCM_2 0x60D
54 static int rollingId = 0;
73 rollingId = (rollingId + 1) % 4;
74 const uint8_t magicByte[4] = {0x03, 0x23, 0x42, 0x63};
76 msg[0] = magicByte[rollingId];
80#define CAN_23D_RPM_MULT 3.15
void canDashboardNissanVQ(CanCycle cycle)
bool isInterval(CanInterval interval)
void setShortValueMsb(uint16_t value, size_t offset)
void setShortValue(uint16_t value, size_t offset)
Write a 16-bit short value to the buffer. Note: this writes in Intel little endian byte order.
static float getOrZero(SensorType type)
static CCM_OPTIONAL FunctionalSensor clt(SensorType::Clt, MS2NT(10))