From 6483decb5a434946395d9057c1347984fdacbb63 Mon Sep 17 00:00:00 2001 From: MoreTore Date: Thu, 18 May 2023 23:45:22 -0500 Subject: [PATCH] added new mazda --- can/common.cc | 16 ++ can/common.h | 1 + can/common.pxd | 1 + can/common_dbc.h | 1 + can/dbc.cc | 2 + mazda_2019.dbc | 633 +++++++++++++++++++++++++++++++++++++++++++++++ 6 files changed, 654 insertions(+) create mode 100644 mazda_2019.dbc diff --git a/can/common.cc b/can/common.cc index 0df9e04b90..647bf8970e 100644 --- a/can/common.cc +++ b/can/common.cc @@ -65,6 +65,22 @@ unsigned int chrysler_checksum(uint32_t address, const Signal &sig, const std::v return ~checksum & 0xFF; } +unsigned int mazda_checksum(uint32_t address, const Signal &sig, const std::vector &d) { + uint8_t checksum = 0; + if (address == 0x220U) { + checksum = 0x2aU; + } + if (address == 0x249U){ + checksum = 0x53U; + } + // Simple XOR over the payload, except for the byte where the checksum lives. + for (int i = 0; i < 7; i++) { + checksum += d[i]; + } + return checksum; +} + + // Static lookup table for fast computation of CRCs uint8_t crc8_lut_8h2f[256]; // CRC8 poly 0x2F, aka 8H2F/AUTOSAR uint16_t crc16_lut_xmodem[256]; // CRC16 poly 0x1021, aka XMODEM diff --git a/can/common.h b/can/common.h index 0031d787f0..0ce86b32be 100644 --- a/can/common.h +++ b/can/common.h @@ -30,6 +30,7 @@ unsigned int honda_checksum(uint32_t address, const Signal &sig, const std::vect unsigned int toyota_checksum(uint32_t address, const Signal &sig, const std::vector &d); unsigned int subaru_checksum(uint32_t address, const Signal &sig, const std::vector &d); unsigned int chrysler_checksum(uint32_t address, const Signal &sig, const std::vector &d); +unsigned int mazda_checksum(uint32_t address, const Signal &sig, const std::vector &d); unsigned int volkswagen_mqb_checksum(uint32_t address, const Signal &sig, const std::vector &d); unsigned int xor_checksum(uint32_t address, const Signal &sig, const std::vector &d); unsigned int hkg_can_fd_checksum(uint32_t address, const Signal &sig, const std::vector &d); diff --git a/can/common.pxd b/can/common.pxd index 2d3a8eefd5..5e9647c546 100644 --- a/can/common.pxd +++ b/can/common.pxd @@ -23,6 +23,7 @@ cdef extern from "common_dbc.h": SUBARU_CHECKSUM, CHRYSLER_CHECKSUM HKG_CAN_FD_CHECKSUM, + MAZDA2019_CHECKSUM, cdef struct Signal: string name diff --git a/can/common_dbc.h b/can/common_dbc.h index 1e0f034520..65587b6817 100644 --- a/can/common_dbc.h +++ b/can/common_dbc.h @@ -41,6 +41,7 @@ enum SignalType { SUBARU_CHECKSUM, CHRYSLER_CHECKSUM, HKG_CAN_FD_CHECKSUM, + MAZDA2019_CHECKSUM, }; struct Signal { diff --git a/can/dbc.cc b/can/dbc.cc index 22317169b2..e560fb58fa 100644 --- a/can/dbc.cc +++ b/can/dbc.cc @@ -66,6 +66,8 @@ ChecksumState* get_checksum(const std::string& dbc_name) { s = new ChecksumState({8, -1, 7, -1, false, CHRYSLER_CHECKSUM, &chrysler_checksum}); } else if (startswith(dbc_name, "comma_body")) { s = new ChecksumState({8, 4, 7, 3, false, PEDAL_CHECKSUM, &pedal_checksum}); + } else if (startswith(dbc_name, "mazda_2019")) { + s = new ChecksumState({8, 8, 0, 0, true, MAZDA2019_CHECKSUM, &mazda_checksum}); } return s; } diff --git a/mazda_2019.dbc b/mazda_2019.dbc new file mode 100644 index 0000000000..707b214861 --- /dev/null +++ b/mazda_2019.dbc @@ -0,0 +1,633 @@ +VERSION "" + + +NS_ : + NS_DESC_ + CM_ + BA_DEF_ + BA_ + VAL_ + CAT_DEF_ + CAT_ + FILTER + BA_DEF_DEF_ + EV_DATA_ + ENVVAR_DATA_ + SGTYPE_ + SGTYPE_VAL_ + BA_DEF_SGTYPE_ + BA_SGTYPE_ + SIG_TYPE_REF_ + VAL_TABLE_ + SIG_GROUP_ + SIG_VALTYPE_ + SIGTYPE_VALTYPE_ + BO_TX_BU_ + BA_DEF_REL_ + BA_REL_ + BA_DEF_DEF_REL_ + BU_SG_REL_ + BU_EV_REL_ + BU_BO_REL_ + SG_MUL_VAL_ + +BS_: + +BU_: XXX + +BO_ 1167 SYSTEM_SETTINGS: 8 XXX + SG_ IMPERIAL_UNIT : 15|1@0- (1,0) [0|1] "" XXX + +BO_ 585 EPS_LKAS: 8 XXX + SG_ LKAS_REQUEST : 7|16@0+ (1,0) [0|65535] "" XXX + SG_ CHECKSUM : 56|8@1+ (1,0) [0|255] "" XXX + SG_ STEER_FEEL : 23|16@0+ (1,0) [0|65535] "" XXX + SG_ COUNTER : 48|8@1+ (1,0) [0|255] "" XXX + +BO_ 587 EPS_FEEDBACK: 8 XXX + SG_ STEER_TORQUE_SENSOR : 7|16@0- (1,0) [0|65535] "" XXX + SG_ CPU_0_VIOL : 23|8@0+ (1,0) [0|15] "" XXX + SG_ CPU_1_VIOL : 31|8@0+ (1,0) [0|255] "" XXX + SG_ CPU_2_VIOL : 39|8@0+ (1,0) [0|255] "" XXX + SG_ CPU_3_VIOL : 47|8@0+ (1,0) [0|255] "" XXX + SG_ CPU_0_STATE : 55|4@0+ (1,0) [0|15] "" XXX + SG_ CPU_1_STATE : 48|4@1+ (1,0) [0|15] "" XXX + SG_ CPU_3_STATE : 56|4@1+ (1,0) [0|15] "" XXX + SG_ CPU_2_STATE : 63|4@0+ (1,0) [0|15] "" XXX + +BO_ 1098 CRUZE_STATE: 8 XXX + SG_ CRZ_SPEED : 31|8@0+ (1,0) [0|255] "" XXX + SG_ CRZ_ENABLED : 5|1@0+ (1,0) [0|1] "" XXX + SG_ CRZ_DISABLED : 4|1@0+ (1,0) [0|1] "" XXX + SG_ PRE_ENABLE : 6|1@0+ (1,0) [0|1] "" XXX + SG_ NEW_SIGNAL_1 : 13|1@0+ (1,0) [0|1] "" XXX + SG_ NEW_SIGNAL_2 : 18|1@0+ (1,0) [0|1] "" XXX + SG_ NEW_SIGNAL_3 : 44|1@0+ (1,0) [0|1] "" XXX + SG_ NEW_SIGNAL_4 : 45|1@0+ (1,0) [0|1] "" XXX + SG_ NEW_SIGNAL_5 : 42|1@0+ (1,0) [0|1] "" XXX + SG_ NEW_SIGNAL_7 : 1|1@0+ (1,0) [0|1] "" XXX + +BO_ 157 CRZ_BTNS: 8 XXX + SG_ SET_M : 3|1@0+ (1,0) [0|1] "" XXX + SG_ RES : 2|1@0+ (1,0) [0|1] "" XXX + SG_ CTR : 48|4@1+ (1,0) [0|15] "" XXX + SG_ MODE_LKAS : 11|1@0+ (1,0) [0|1] "" XXX + SG_ MODE_ACC : 13|1@0+ (1,0) [0|3] "" XXX + SG_ STATIC_2 : 19|32@0+ (1,0) [0|7] "" XXX + SG_ STATIC_1 : 10|7@0+ (1,0) [0|15] "" XXX + SG_ SET_P : 4|1@0+ (1,0) [0|1] "" XXX + SG_ STATIC_0 : 7|2@0+ (1,0) [0|7] "" XXX + SG_ CAN : 5|1@0+ (1,0) [0|1] "" XXX + SG_ CHKSUM : 56|8@1+ (1,0) [0|63] "" XXX + +BO_ 134 STEER: 8 XXX + SG_ STEER_ANGLE : 25|14@0- (0.1,36) [0|1023] "" XXX + SG_ NEW_SIGNAL_1 : 7|16@0+ (1,0) [0|65535] "" XXX + +BO_ 576 STEER_TORQUE: 8 XXX + SG_ STEER_TORQUE_SENSOR : 7|16@0+ (1,0) [0|65535] "" XXX + +BO_ 120 BCM_ECHO_MAYBE: 8 XXX + SG_ BRAKE_MAYBE : 39|8@0+ (1,0) [0|65535] "" XXX + SG_ EPS_MOTOR_TORQUE_MAYBE : 7|16@0+ (1,0) [0|65535] "" XXX + +BO_ 256 CAM_Start: 8 XXX + SG_ NEW_SIGNAL_7 : 56|4@1+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_8 : 61|2@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_10 : 44|12@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_2 : 63|2@0+ (1,0) [0|3] "" XXX + SG_ NEW_SIGNAL_5 : 24|12@0+ (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_1 : 2|2@0+ (1,0) [0|1] "" XXX + SG_ ACTIVE_TARGET : 4|1@0+ (1,0) [0|1] "" XXX + SG_ NEW_SIGNAL_3 : 20|12@0+ (1,0) [0|7] "" XXX + SG_ DISTANCE_LEAD_CAR : 0|12@0+ (1,0) [0|255] "" XXX + +BO_ 358 CAM_End: 8 XXX + SG_ NEW_SIGNAL_2 : 61|2@0+ (1,0) [0|3] "" XXX + SG_ NEW_SIGNAL_3 : 59|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_1 : 31|8@0+ (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_4 : 11|14@0+ (1,0) [0|255] "" XXX + +BO_ 1216 CAM_69: 8 XXX + SG_ NEW_SIGNAL_1 : 56|4@1+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_2 : 7|16@0+ (1,0) [0|65535] "" XXX + SG_ NEW_SIGNAL_3 : 23|16@0+ (1,0) [0|65535] "" XXX + SG_ NEW_SIGNAL_4 : 39|16@0+ (1,0) [0|65535] "" XXX + SG_ NEW_SIGNAL_5 : 55|12@0+ (1,0) [0|7] "" XXX + +BO_ 1120 CAM_KEEP_ALIVE_2: 8 XXX + SG_ NEW_SIGNAL_1 : 7|16@0+ (1,0) [0|65535] "" XXX + SG_ NEW_SIGNAL_2 : 23|16@0+ (1,0) [0|65535] "" XXX + SG_ NEW_SIGNAL_3 : 39|16@0+ (1,0) [0|65535] "" XXX + SG_ NEW_SIGNAL_4 : 55|16@0+ (1,0) [0|65535] "" XXX + +BO_ 1436 CAM_71: 8 XXX + SG_ NEW_SIGNAL_1 : 7|16@0+ (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_2 : 23|16@0+ (1,0) [0|65535] "" XXX + SG_ NEW_SIGNAL_3 : 39|16@0+ (1,0) [0|65535] "" XXX + SG_ NEW_SIGNAL_4 : 55|16@0+ (1,0) [0|65535] "" XXX + +BO_ 18 STEER_VB: 8 XXX + SG_ NEW_SIGNAL_3 : 55|2@0+ (1,0) [0|15] "" XXX + SG_ CTR : 41|2@0+ (1,0) [0|3] "" XXX + SG_ STEER_LEFT_BIT : 26|1@0+ (1,0) [0|1] "" XXX + SG_ STEER_ANGLE : 25|14@0- (1,375) [0|65536] "" XXX + SG_ ENGINE_OFF : 43|2@0+ (1,0) [0|63] "" XXX + SG_ NEW_SIGNAL_2 : 53|6@0+ (1,0) [0|15] "" XXX + +BO_ 257 LKAS: 8 XXX + SG_ CTR : 59|4@0+ (1,0) [0|255] "" XXX + SG_ CTR_ACT : 61|2@0+ (1,0) [0|3] "" XXX + SG_ SET_0 : 48|1@1+ (1,0) [0|3] "" XXX + SG_ SET_0_1 : 63|2@0+ (1,0) [0|3] "" XXX + SG_ SET_19 : 2|2@0+ (1,0) [0|255] "" XXX + SG_ LEAD_DIST : 0|12@0+ (1,0) [0|255] "" XXX + SG_ ANGLE_TARGET : 20|12@0+ (1,0) [0|4095] "" XXX + SG_ UNKNOWN : 24|12@0+ (1,0) [0|4095] "" XXX + SG_ MAX_TORQUE__ : 44|12@0- (1,0) [0|4095] "" XXX + +BO_ 258 NEW_MSG_3: 8 XXX + SG_ NEW_SIGNAL_3 : 59|4@0+ (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_5 : 44|10@0- (1,0) [0|1] "" XXX + SG_ NEW_SIGNAL_6 : 1|2@1+ (1,0) [0|3] "" XXX + SG_ NEW_SIGNAL_4 : 39|10@0- (1,0) [0|1] "" XXX + SG_ NEW_SIGNAL_1 : 13|10@0- (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_2 : 18|10@0- (1,0) [0|255] "" XXX + +BO_ 259 NEW_MSG_5: 8 XXX + SG_ NEW_SIGNAL_3 : 39|10@0- (1,0) [0|1] "" XXX + SG_ NEW_SIGNAL_4 : 44|10@0- (1,0) [0|1] "" XXX + SG_ NEW_SIGNAL_1 : 0|12@0- (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_2 : 19|11@0- (1,0) [0|10000000] "" XXX + +BO_ 260 NEW_MSG_6: 8 XXX + SG_ NEW_SIGNAL_1 : 0|12@0+ (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_3 : 24|12@0+ (1,0) [0|1] "" XXX + SG_ NEW_SIGNAL_2 : 20|12@0- (1,0) [0|1] "" XXX + +BO_ 261 NEW_MSG_7: 8 XXX + SG_ NEW_SIGNAL_1 : 15|8@0+ (1,0) [0|255] "" XXX + +BO_ 262 NEW_MSG_8: 8 XXX + SG_ NEW_SIGNAL_1 : 15|8@0- (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_2 : 7|8@0+ (1,0) [0|255] "" XXX + +BO_ 263 NEW_MSG_9: 8 XXX + SG_ NEW_SIGNAL_1 : 15|8@0+ (1,0) [0|255] "" XXX + +BO_ 310 NEW_MSG_10: 8 XXX + SG_ NEW_SIGNAL_1 : 56|4@1+ (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_2 : 47|8@0+ (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_3 : 61|2@0+ (1,0) [0|3] "" XXX + +BO_ 308 ACC_POSSIBLY: 8 XXX + SG_ NEW_SIGNAL_1 : 63|8@0+ (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_6 : 4|1@0+ (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_3 : 54|7@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_2 : 0|7@0+ (1,0) [0|63] "" XXX + SG_ NEW_SIGNAL_7 : 37|1@0+ (1,0) [0|1] "" XXX + SG_ NEW_SIGNAL_4 : 18|7@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_5 : 36|7@0+ (1,0) [0|1] "" XXX + SG_ NEW_SIGNAL_8 : 55|1@0+ (1,0) [0|1] "" XXX + +BO_ 304 CAM_LANES: 8 XXX + SG_ NEW_SIGNAL_3 : 59|4@0+ (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_4 : 61|2@0+ (1,0) [0|3] "" XXX + SG_ LEFT_LANE_DETECTED : 7|1@0+ (1,0) [0|1] "" XXX + SG_ RIGHT_LANE_DETECTED : 4|1@0+ (1,0) [0|255] "" XXX + SG_ DISTANCE_TO_LEFT_LANE_LOW_RES : 29|8@0+ (1,0) [0|4095] "" XXX + SG_ DISTANCE_TO_RIGHT_LANE_LOW_RES : 37|8@0+ (1,0) [0|15] "" XXX + SG_ DISTANCE_TO_RIGHT_LANE : 23|10@0- (1,0) [0|2047] "" XXX + SG_ DISTANCE_TO_LEFT_LANE : 1|10@0- (1,0) [0|1] "" XXX + +BO_ 305 CAM_LANES_2_MAYBE: 8 XXX + SG_ NEW_SIGNAL_5 : 56|4@1+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_6 : 61|2@0+ (1,0) [0|3] "" XXX + SG_ NEW_SIGNAL_4 : 23|8@0+ (1,0) [0|1] "" XXX + +BO_ 352 NEW_MSG_14: 8 XXX + SG_ NEW_SIGNAL_1 : 7|16@0+ (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_2 : 23|16@0+ (1,0) [0|65535] "" XXX + SG_ NEW_SIGNAL_3 : 39|16@0+ (1,0) [0|65535] "" XXX + SG_ NEW_SIGNAL_4 : 55|16@0+ (1,0) [0|65535] "" XXX + +BO_ 355 NEW_MSG_15: 8 XXX + SG_ NEW_SIGNAL_1 : 7|8@0+ (1,0) [0|127] "" XXX + +BO_ 356 NEW_MSG_16: 8 XXX + SG_ NEW_SIGNAL_1 : 56|4@1+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_2 : 61|2@0+ (1,0) [0|3] "" XXX + +BO_ 357 NEW_MSG_17: 8 XXX + SG_ NEW_SIGNAL_1 : 61|2@0+ (1,0) [0|3] "" XXX + SG_ NEW_SIGNAL_2 : 7|32@0+ (1,0) [0|4294967295] "" XXX + SG_ NEW_SIGNAL_3 : 56|4@1+ (1,0) [0|15] "" XXX + +BO_ 59 STEER_RATE: 8 XXX + SG_ NEW_SIGNAL_2 : 47|4@0+ (1,0) [0|15] "" XXX + SG_ STEER_ANGLE_RATE : 55|8@0+ (0.05,0) [0|65535] "" XXX + SG_ NEW_SIGNAL_1 : 43|4@0+ (1,0) [0|15] "" XXX + SG_ STEER_ANGLE : 23|16@0+ (0.05,-1600) [-500|500] "" XXX + SG_ CHKSUM : 39|8@0+ (1,0) [0|15] "" XXX + +BO_ 24 BRAKE_PEDAL_VB: 8 XXX + SG_ BRAKE_PEDAL_PRESSED_AND_ENGINE_ON : 0|1@0+ (1,0) [0|3] "" XXX + SG_ NOT_BRAKE_PEDAL_PRESSED : 6|1@0+ (1,0) [0|3] "" XXX + SG_ BRAKE_PEDAL_PRESSED : 7|1@0+ (1,0) [0|65535] "" XXX + SG_ NOT_BRAKE_PEDAL_PRESSED_AND_ENGINE_ON : 15|1@0+ (1,0) [0|7] "" XXX + +BO_ 26 ENGINE_DATA_VB: 8 XXX + SG_ CHKSUM : 63|8@0- (1,0) [0|15] "" XXX + SG_ RPM : 7|13@0+ (1,0) [0|15] "" XXX + SG_ ENGINE_ON : 52|1@0+ (1,0) [0|15] "" XXX + SG_ PEDAL_GAS : 39|10@0+ (1,0) [0|15] "" XXX + +BO_ 145 BLINK_INFO: 8 XXX + SG_ RIGHT_BLINK : 12|1@0+ (1,0) [0|3] "" XXX + SG_ LEFT_BLINK : 13|1@0+ (1,0) [0|3] "" XXX + SG_ Speed : 27|12@0+ (1,0) [0|255] "" XXX + SG_ CTR : 51|4@0+ (1,0) [0|15] "" XXX + SG_ CHKSUM : 63|8@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_1 : 40|8@1+ (1,0) [0|255] "" XXX + +BO_ 16 STEER_TORQUE_VB: 8 XXX + SG_ NEW_SIGNAL_12 : 7|2@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_1 : 43|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_5 : 47|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_3 : 51|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_4 : 55|4@0+ (1,0) [0|15] "" XXX + SG_ STEER_TORQUE_SENSOR : 5|13@0+ (1,-4000) [0|15] "" XXX + SG_ CHKSUM : 63|8@0- (1,0) [0|15] "" XXX + SG_ STEER_TORQUE_MOTOR : 8|13@0+ (0.05,-205) [0|15] "" XXX + SG_ BRAKE_PREASURE : 27|12@0+ (1,0) [0|15] "" XXX + +BO_ 17 STEER_TORQUE_VB_2: 8 XXX + SG_ CTR : 51|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_5 : 55|4@0+ (1,0) [0|15] "" XXX + SG_ CHKSUM : 63|8@0+ (1,0) [0|255] "" XXX + SG_ STEER_TORQUE_MOTOR : 7|16@0+ (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_1 : 27|14@0+ (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_2 : 45|6@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_3 : 23|12@0+ (1,0) [0|255] "" XXX + +BO_ 29 WHEEL: 8 XXX + SG_ STANDSTILL : 52|1@0+ (1,0) [0|15] "" XXX + SG_ SPEED : 39|16@0+ (1,0) [0|127] "" XXX + SG_ ENCODER_1 : 7|16@0+ (1,0) [0|65535] "" XXX + SG_ ENCODER_2 : 23|16@0+ (1,0) [0|65535] "" XXX + SG_ NEW_SIGNAL_6 : 55|3@0+ (1,0) [0|7] "" XXX + SG_ NEW_SIGNAL_1 : 63|8@0+ (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_2 : 51|4@0+ (1,0) [0|15] "" XXX + +BO_ 31 GEAR_VB: 8 XXX + SG_ NEW_SIGNAL_1 : 7|16@0+ (1,0) [0|65535] "" XXX + SG_ NEW_SIGNAL_2 : 23|16@0+ (1,0) [0|65535] "" XXX + SG_ NEW_SIGNAL_4 : 55|16@0+ (1,0) [0|65535] "" XXX + SG_ GEAR : 36|4@0+ (1,0) [0|65535] "" XXX + +BO_ 96 STEER2: 8 XXX + SG_ NEW_SIGNAL_5 : 48|4@1+ (1,0) [0|15] "" XXX + SG_ CTR : 55|4@0+ (1,0) [0|15] "" XXX + SG_ CHKSUM : 63|8@0+ (1,0) [0|255] "" XXX + SG_ TURN_ON : 34|1@0+ (1,0) [0|1] "" XXX + SG_ TURN_OFF : 32|1@0+ (1,0) [0|1] "" XXX + SG_ ENGINE_ON : 33|1@0+ (1,0) [0|1] "" XXX + SG_ CAR_MOVING_FORWARD : 21|1@0+ (1,0) [0|15] "" XXX + SG_ CAR_REVERSING : 22|1@0+ (1,0) [0|1] "" XXX + SG_ ENGINE_OFF : 23|1@0+ (1,0) [0|1] "" XXX + SG_ NEW_SIGNAL_4 : 45|1@0+ (1,0) [0|15] "" XXX + SG_ SPEED : 18|16@0- (0.00621371,-62.1371) [-65635|65635] "MPH" XXX + SG_ STEER__ : 7|16@0+ (1,0) [0|65535] "" XXX + +BO_ 1209 KEEP_ALIVE_1: 8 XXX + SG_ NEW_SIGNAL_1 : 63|8@0+ (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_2 : 55|8@0+ (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_3 : 47|8@0+ (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_5 : 31|8@0+ (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_6 : 23|8@0+ (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_7 : 15|8@0+ (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_4 : 39|8@0+ (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_8 : 4|5@0+ (1,0) [0|127] "" XXX + +BO_ 37 BLANK_1: 8 XXX + SG_ NEW_SIGNAL_1 : 7|16@0+ (1,0) [0|65535] "" XXX + SG_ NEW_SIGNAL_2 : 23|16@0+ (1,0) [0|65535] "" XXX + SG_ NEW_SIGNAL_3 : 39|16@0+ (1,0) [0|65535] "" XXX + SG_ NEW_SIGNAL_4 : 55|16@0+ (1,0) [0|65535] "" XXX + +BO_ 44 BLANK_2: 8 XXX + SG_ NEW_SIGNAL_1 : 7|16@0+ (1,0) [0|16777215] "" XXX + SG_ NEW_SIGNAL_3 : 55|16@0+ (1,0) [0|65535] "" XXX + SG_ NEW_SIGNAL_4 : 23|16@0+ (1,0) [0|65535] "" XXX + SG_ NEW_SIGNAL_2 : 39|16@0+ (1,0) [0|16777215] "" XXX + +BO_ 128 RADARS: 8 XXX + SG_ NEW_SIGNAL_1 : 59|4@0+ (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_3 : 7|8@0+ (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_4 : 15|1@0+ (1,0) [0|255] "" XXX + SG_ FRONT_LEFT : 19|1@0+ (1,0) [0|255] "" XXX + SG_ FRONT : 21|1@0+ (1,0) [0|1] "" XXX + SG_ FRONT_RIGHT : 18|1@0+ (1,0) [0|1] "" XXX + SG_ REAR_RIGHT : 20|1@0+ (1,0) [0|15] "" XXX + SG_ REAR_LEFT : 17|1@0+ (1,0) [0|1] "" XXX + +BO_ 129 NEW_MSG_19: 8 XXX + SG_ NEW_SIGNAL_2 : 15|1@0+ (1,0) [0|65535] "" XXX + SG_ NEW_SIGNAL_3 : 31|16@0+ (1,0) [0|65535] "" XXX + SG_ NEW_SIGNAL_4 : 47|16@0+ (1,0) [0|65535] "" XXX + SG_ NEW_SIGNAL_5 : 56|8@1+ (1,0) [0|15] "" XXX + +BO_ 1034 KEEP_ALIVE_2: 8 XXX + SG_ NEW_SIGNAL_1 : 7|16@0+ (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_3 : 23|16@0+ (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_4 : 39|16@0+ (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_5 : 55|16@0+ (1,0) [0|255] "" XXX + +BO_ 1200 KEEP_ALIVE_3: 8 XXX + SG_ NEW_SIGNAL_1 : 7|16@0+ (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_2 : 55|16@0+ (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_3 : 23|16@0+ (1,0) [0|65535] "" XXX + SG_ NEW_SIGNAL_4 : 39|16@0+ (1,0) [0|65535] "" XXX + +BO_ 354 CAM_KEEP_ALIVE_1: 8 XXX + SG_ NEW_SIGNAL_1 : 7|16@0+ (1,0) [0|65535] "" XXX + SG_ NEW_SIGNAL_2 : 23|16@0+ (1,0) [0|65535] "" XXX + SG_ NEW_SIGNAL_3 : 39|16@0+ (1,0) [0|65535] "" XXX + SG_ NEW_SIGNAL_4 : 55|30@0+ (1,0) [0|65535] "" XXX + +BO_ 336 NEW_MSG_20: 8 XXX + SG_ NEW_SIGNAL_2 : 7|8@0+ (1,0) [0|4095] "" XXX + SG_ NEW_SIGNAL_1 : 11|12@0+ (1,0) [0|127] "" XXX + SG_ NEW_SIGNAL_3 : 31|8@0+ (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_4 : 39|8@0+ (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_5 : 47|8@0+ (1,0) [0|255] "" XXX + +BO_ 342 NEW_MSG_21: 8 XXX + SG_ NEW_SIGNAL_1 : 56|4@1+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_2 : 63|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_4 : 55|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_5 : 39|16@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_3 : 48|4@1+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_7 : 7|16@0+ (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_8 : 23|16@0+ (1,0) [0|65535] "" XXX + SG_ NEW_SIGNAL_6 : 40|4@1+ (1,0) [0|15] "" XXX + +BO_ 264 NEW_MSG_2: 8 XXX + SG_ NEW_SIGNAL_1 : 56|8@1+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_2 : 49|3@1+ (1,0) [0|7] "" XXX + SG_ CRZ_CTRL_PRESSED : 48|1@0+ (1,0) [0|1] "" XXX + +BO_ 22 CRZ_CTRL_BTNS: 8 XXX + SG_ CRZ_CTRL_BTN_PRESSED : 48|1@0+ (1,0) [0|1] "" XXX + SG_ NEW_SIGNAL_2 : 51|3@0+ (1,0) [0|7] "" XXX + SG_ SIGNAL : 45|1@0+ (1,0) [0|15] "" XXX + SG_ NOT_SIGNAL : 46|1@0+ (1,0) [0|3] "" XXX + +BO_ 306 CAM_LANE_3_MAYBE: 8 XXX + SG_ NEW_SIGNAL_1 : 19|10@0+ (1,0) [0|63] "" XXX + SG_ NEW_SIGNAL_2 : 13|10@0+ (1,0) [0|255] "" XXX + SG_ LANE_DETECTED_1 : 44|1@0+ (1,0) [0|1] "" XXX + SG_ LANE_DETECTED_2 : 45|1@0+ (1,0) [0|1] "" XXX + SG_ NEW_SIGNAL_4 : 25|10@0+ (1,0) [0|1] "" XXX + SG_ STEER : 7|10@0+ (1,0) [0|1] "" XXX + +BO_ 307 NEW_MSG_1: 8 XXX + SG_ NEW_SIGNAL_2 : 13|10@0+ (1,0) [0|1] "" XXX + SG_ NEW_SIGNAL_5 : 61|6@0+ (1,0) [0|1] "" XXX + SG_ NEW_SIGNAL_3 : 25|10@0+ (1,0) [0|1] "" XXX + SG_ NEW_SIGNAL_4 : 7|10@0+ (1,0) [0|1] "" XXX + SG_ NEW_SIGNAL_1 : 19|10@0+ (1,0) [0|1] "" XXX + +BO_ 320 NEW_MSG_4: 8 XXX + SG_ NEW_SIGNAL_4 : 16|1@0+ (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_3 : 43|6@0+ (1,0) [0|1] "" XXX + SG_ NEW_SIGNAL_1 : 36|9@0+ (1,0) [0|1] "" XXX + SG_ NEW_SIGNAL_2 : 27|7@0+ (1,0) [0|1] "" XXX + +BO_ 321 NEW_MSG_11: 8 XXX + SG_ NEW_SIGNAL_1 : 5|1@0+ (1,0) [0|1] "" XXX + SG_ NEW_SIGNAL_2 : 32|1@0+ (1,0) [0|1] "" XXX + +BO_ 293 NEW_MSG_12: 8 XXX + SG_ NEW_SIGNAL_1 : 7|8@0+ (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_2 : 39|16@0+ (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_3 : 19|4@0+ (1,0) [0|1] "" XXX + +BO_ 294 NEW_MSG_13: 8 XXX + SG_ NEW_SIGNAL_1 : 59|4@0+ (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_2 : 61|2@0+ (1,0) [0|1] "" XXX + SG_ NEW_SIGNAL_3 : 7|16@0+ (1,0) [0|1] "" XXX + +BO_ 292 NEW_MSG_18: 8 XXX + SG_ NEW_SIGNAL_1 : 63|8@0+ (1,0) [0|255] "" XXX + +BO_ 291 NEW_MSG_22: 8 XXX + SG_ NEW_SIGNAL_1 : 39|8@0+ (1,0) [0|255] "" XXX + +BO_ 290 NEW_MSG_23: 8 XXX + SG_ NEW_SIGNAL_1 : 31|5@0+ (1,0) [0|255] "" XXX + +BO_ 277 NEW_MSG_24: 8 XXX + SG_ NEW_SIGNAL_1 : 47|8@0+ (1,0) [0|1] "" XXX + +BO_ 278 NEW_MSG_25: 8 XXX + +BO_ 273 NEW_MSG_26: 8 XXX + SG_ NEW_SIGNAL_1 : 23|4@0+ (1,0) [0|3] "" XXX + +BO_ 274 NEW_MSG_27: 8 XXX + SG_ NEW_SIGNAL_1 : 39|8@0+ (1,0) [0|1] "" XXX + +BO_ 289 NEW_MSG_28: 8 XXX + SG_ NEW_SIGNAL_1 : 55|8@0+ (1,0) [0|1] "" XXX + +BO_ 20 NEW_MSG_29: 8 XXX + SG_ RIGHT_BLINK_CLOCK : 23|8@0+ (1,0) [0|1] "" XXX + +BO_ 288 NEW_MSG_30: 8 XXX + +BO_ 533 WHEEL_SPEEDS: 8 XXX + SG_ RR : 55|16@0+ (0.01,-100) [0|65535] "" XXX + SG_ RL : 39|16@0+ (0.01,-100) [0|65535] "" XXX + SG_ FR : 23|16@0+ (0.01,-100) [0|65535] "" XXX + SG_ FL : 7|16@0+ (0.01,-100) [0|65535] "" XXX + +BO_ 117 NEW_MSG_31_MAIN: 8 XXX + +BO_ 130 STEER_ANGLE: 8 XXX + SG_ NEW_SIGNAL_2 : 39|8@0+ (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_1 : 55|16@0- (1,0) [0|65535] "" XXX + SG_ STEER_ANGLE : 23|16@0+ (1,0) [0|65535] "" XXX + +BO_ 514 ENGINE_DATA: 8 XXX + SG_ NEW_SIGNAL_1 : 19|12@0+ (1,0) [0|255] "" XXX + SG_ PEDAL_GAS : 39|10@0+ (1,0) [0|65535] "" XXX + SG_ RPM : 7|13@0+ (1,0) [0|8191] "" XXX + SG_ ENGINE_ON : 52|1@0+ (1,0) [0|1] "" XXX + SG_ CHKSUM : 56|8@1+ (1,0) [0|255] "" XXX + +BO_ 512 NEW_MSG_32: 8 XXX + SG_ NEW_SIGNAL_1 : 7|16@0+ (1,0) [0|65535] "" XXX + SG_ NEW_SIGNAL_2 : 23|16@0+ (1,0) [0|65535] "" XXX + SG_ NEW_SIGNAL_3 : 39|16@0+ (1,0) [0|65535] "" XXX + +BO_ 1067 NEW_MSG_33: 8 XXX + SG_ NEW_SIGNAL_1 : 7|16@0+ (1,0) [0|65535] "" XXX + SG_ NEW_SIGNAL_2 : 42|1@0+ (1,0) [0|1] "" XXX + SG_ NEW_SIGNAL_3 : 45|1@0+ (1,0) [0|1] "" XXX + SG_ NEW_SIGNAL_4 : 23|8@0+ (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_5 : 43|1@0+ (1,0) [0|1] "" XXX + SG_ NEW_SIGNAL_6 : 44|1@0+ (1,0) [0|1] "" XXX + SG_ NEW_SIGNAL_7 : 47|8@0+ (1,0) [0|3] "" XXX + +BO_ 544 ACC: 8 XXX + SG_ ACCEL_CMD : 16|12@0+ (1,0) [0|65535] "" XXX + SG_ NEW_SIGNAL_2 : 1|1@0+ (1,0) [0|1] "" XXX + SG_ NEW_SIGNAL_3 : 47|1@0+ (1,0) [0|1] "" XXX + SG_ ACC_ENABLED : 18|1@0+ (1,0) [0|1] "" XXX + SG_ ACC_ENABLED_2 : 36|1@1+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_1 : 34|1@0+ (1,0) [0|1] "" XXX + SG_ NEW_SIGNAL_4 : 7|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_5 : 33|1@0+ (1,0) [0|1] "" XXX + SG_ NEW_SIGNAL_6 : 3|1@0+ (1,0) [0|1] "" XXX + SG_ NEW_SIGNAL_7 : 46|1@0+ (1,0) [0|1] "" XXX + SG_ NEW_SIGNAL_8 : 45|4@0+ (1,0) [0|3] "" XXX + SG_ CHECKSUM : 56|8@1+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_9 : 35|1@0+ (1,0) [0|1] "" XXX + SG_ NEW_SIGNAL_10 : 32|1@0+ (1,0) [0|1] "" XXX + SG_ HOLD : 49|1@0+ (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_11 : 2|1@0+ (1,0) [0|1] "" XXX + SG_ NEW_SIGNAL_12 : 17|1@0+ (1,0) [0|1] "" XXX + SG_ NEW_SIGNAL_13 : 40|2@1+ (1,0) [0|3] "" XXX + SG_ RESUME : 54|1@0+ (1,0) [0|1] "" XXX + +BO_ 546 ACC_2: 8 XXX + SG_ NEW_SIGNAL_2 : 31|16@0+ (1,0) [0|255] "" XXX + SG_ ACCEL_CMD : 0|12@0+ (1,0) [0|65535] "" XXX + SG_ NEW_SIGNAL_1 : 47|16@0+ (1,0) [0|65535] "" XXX + SG_ CHKSUM : 63|8@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_4 : 2|1@0+ (1,0) [0|1] "" XXX + SG_ ACC_NOT_ENABLED : 1|1@0+ (1,0) [0|1] "" XXX + SG_ CTR : 7|4@0+ (1,0) [0|15] "" XXX + SG_ ACC_ENABLED : 18|1@0+ (1,0) [0|255] "" XXX + SG_ BRAKE_RELATED : 20|1@0+ (1,0) [0|15] "" XXX + +BO_ 253 NEW_MSG_34: 8 XXX + SG_ NEW_SIGNAL_1 : 36|5@0+ (1,0) [0|31] "" XXX + +BO_ 133 NEW_MSG_35: 8 XXX + SG_ NEW_SIGNAL_1 : 7|8@0+ (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_2 : 15|8@0+ (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_3 : 22|1@1+ (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_4 : 28|1@0+ (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_5 : 39|8@0+ (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_6 : 47|8@0+ (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_7 : 55|8@0+ (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_8 : 56|8@1+ (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_9 : 23|1@0+ (1,0) [0|1] "" XXX + SG_ NEW_SIGNAL_10 : 19|1@0+ (1,0) [0|1] "" XXX + SG_ NEW_SIGNAL_12 : 16|1@0+ (1,0) [0|1] "" XXX + SG_ IGNITION : 17|1@0+ (1,0) [0|1] "" XXX + SG_ NEW_SIGNAL_11 : 29|1@0+ (1,0) [0|1] "" XXX + SG_ NEW_SIGNAL_13 : 30|1@0+ (1,0) [0|1] "" XXX + SG_ NEW_SIGNAL_14 : 31|1@0+ (1,0) [0|1] "" XXX + SG_ NEW_SIGNAL_15 : 25|1@0+ (1,0) [0|1] "" XXX + SG_ NEW_SIGNAL_16 : 26|1@0+ (1,0) [0|1] "" XXX + SG_ NEW_SIGNAL_17 : 27|1@0+ (1,0) [0|1] "" XXX + SG_ NEW_SIGNAL_18 : 24|1@0+ (1,0) [0|1] "" XXX + +BO_ 515 NEW_MSG_36: 8 XXX + SG_ NEW_SIGNAL_1 : 31|5@0+ (1,0) [0|31] "" XXX + +BO_ 535 SPEED: 8 XXX + SG_ SPEED : 39|16@0+ (0.01,0) [0|65535] "" XXX + +BO_ 537 NEW_MSG_38: 8 XXX + SG_ NEW_SIGNAL_2 : 7|16@0+ (1,0) [0|65535] "" XXX + SG_ NEW_SIGNAL_3 : 23|16@0+ (1,0) [0|65535] "" XXX + SG_ NEW_SIGNAL_4 : 55|16@0+ (1,0) [0|65535] "" XXX + SG_ GEAR_RELATED : 39|8@0+ (1,0) [0|255] "" XXX + +BO_ 552 GEAR: 8 XXX + SG_ GEAR : 33|4@1+ (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_1 : 0|1@0+ (1,0) [0|1] "" XXX + SG_ NEW_SIGNAL_2 : 16|1@0+ (1,0) [0|1] "" XXX + +BO_ 529 NEW_MSG_31: 8 XXX + SG_ NEW_SIGNAL_1 : 39|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_2 : 47|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_3 : 8|1@0+ (1,0) [0|1] "" XXX + SG_ NEW_SIGNAL_4 : 24|1@0+ (1,0) [0|1] "" XXX + +BO_ 121 NEW_MSG_39: 8 XXX + SG_ NEW_SIGNAL_2 : 16|2@1+ (1,0) [0|3] "" XXX + SG_ NEW_SIGNAL_1 : 25|10@0+ (1,0) [0|3] "" XXX + SG_ NEW_SIGNAL_3 : 7|16@0+ (1,0) [0|65535] "" XXX + +BO_ 136 NEW_MSG_40: 8 XXX + SG_ NEW_SIGNAL_1 : 36|13@0+ (1,0) [0|8191] "" XXX + SG_ NEW_SIGNAL_2 : 59|1@0+ (1,0) [0|1] "" XXX + SG_ NEW_SIGNAL_3 : 60|1@0+ (1,0) [0|1] "" XXX + SG_ NEW_SIGNAL_4 : 4|1@0+ (1,0) [0|1] "" XXX + SG_ NEW_SIGNAL_5 : 5|1@0+ (1,0) [0|1] "" XXX + SG_ NEW_SIGNAL_6 : 6|1@0+ (1,0) [0|1] "" XXX + +BO_ 608 NEW_MSG_41: 8 XXX + SG_ NEW_SIGNAL_1 : 8|7@1+ (1,0) [0|15] "" XXX + +BO_ 1087 BRAKE_PEDAL: 8 XXX + SG_ NEW_SIGNAL_2 : 32|1@0+ (1,0) [0|1] "" XXX + SG_ NEW_SIGNAL_3 : 7|16@0+ (1,0) [0|65535] "" XXX + SG_ NEW_SIGNAL_4 : 23|16@0+ (1,0) [0|65535] "" XXX + SG_ NEW_SIGNAL_5 : 47|4@0+ (1,0) [0|15] "" XXX + SG_ BRAKE_PEDAL_PRESSED : 42|1@0+ (1,0) [0|1] "" XXX + +BO_ 1103 NEW_MSG_42: 8 XXX + SG_ NEW_SIGNAL_1 : 12|12@0+ (1,0) [0|4095] "" XXX + +BO_ 155 NEW_MSG_43: 8 XXX + SG_ NEW_SIGNAL_1 : 7|8@0+ (1,0) [0|16777215] "" XXX + SG_ NEW_SIGNAL_2 : 15|8@0+ (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_3 : 23|8@0+ (1,0) [0|255] "" XXX + +BO_ 159 BRAKE_2: 8 XXX + SG_ NEW_SIGNAL_3 : 40|6@1+ (1,0) [0|15] "" XXX + SG_ REVERSE : 1|1@0+ (1,0) [0|65535] "" XXX + SG_ BRAKE_NOT_PRESSED : 58|1@0+ (1,0) [0|1] "" XXX + SG_ BRAKE_PEDAL_PRESSED : 59|1@0+ (1,0) [0|1] "" XXX + SG_ NEW_SIGNAL_1 : 2|1@0+ (1,0) [0|1] "" XXX + SG_ NEW_SIGNAL_2 : 4|1@1+ (1,0) [0|3] "" XXX + +BO_ 1078 NEW_MSG_44: 8 XXX + SG_ IGNITION : 10|1@1+ (1,0) [0|255] "" XXX + +BO_ 1867 EPS_FEEDBACK2: 8 XXX + SG_ CTR : 63|8@0+ (1,0) [0|65535] "" XXX + SG_ NEW_SIGNAL_5 : 55|8@0+ (1,0) [0|255] "" XXX + SG_ HALL2 : 7|16@0- (-1,0) [0|65535] "" XXX + SG_ HALL3 : 23|16@0- (-1,0) [0|65535] "" XXX + SG_ HALL4 : 39|16@0- (1,0) [0|65535] "" XXX + +BO_ 1868 EPS_FEEDBACK3: 8 XXX + SG_ OUT2 : 23|16@0- (1,0) [0|65535] "" XXX + SG_ OUT3 : 39|16@0- (-1,0) [0|65535] "" XXX + SG_ OUT4 : 55|16@0- (-1,0) [0|65535] "" XXX + SG_ OUT1 : 7|16@0+ (1,-32767) [0|65535] "" XXX + +BO_ 1866 NEW_MSG_37: 8 XXX + SG_ NEW_SIGNAL_1 : 7|8@0+ (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_2 : 15|8@0+ (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_3 : 23|8@0+ (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_4 : 31|8@0+ (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_5 : 39|8@0+ (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_6 : 47|8@0+ (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_7 : 55|8@0+ (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_8 : 63|8@0+ (1,0) [0|255] "" XXX + + + + +CM_ SG_ 31 GEAR "13-P, 12-R, 11-N, 1-6-D"; +CM_ SG_ 96 SPEED ""; +VAL_ 31 GEAR 13 "P" 12 "R" 11 "N" 1 "D" 2 "D" 3 "D" 4 "D" 5 "D" 6 "D" ; +VAL_ 552 GEAR 13 "P" 12 "R" 11 "N" 1 "D" 2 "D" 3 "D" 4 "D" 5 "D" 6 "D" ;