mirror of
https://github.com/MoreTore/openpilot.git
synced 2026-07-27 04:42:05 +08:00
mazda 2023
This commit is contained in:
+1
-1
@@ -67,7 +67,7 @@ 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")) {
|
||||
} else if (startswith(dbc_name, "mazda_2019") || startswith(dbc_name, "mazda_2023")) {
|
||||
s = new ChecksumState({8, 8, 0, 0, true, MAZDA2019_CHECKSUM, &mazda2019_checksum});
|
||||
} else if (startswith(dbc_name, "mazda_2017")) {
|
||||
s = new ChecksumState({8, -1, 0, -1, true, MAZDA2017_CHECKSUM, &mazda2017_checksum});
|
||||
|
||||
@@ -0,0 +1,660 @@
|
||||
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_ 16 STEER_TORQUE_VB: 8 XXX
|
||||
SG_ STEER_TORQUE_SENSOR : 5|13@0+ (1,-4000) [0|15] "" XXX
|
||||
SG_ NEW_SIGNAL_12 : 7|2@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
|
||||
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_ CHKSUM : 63|8@0- (1,0) [0|15] "" XXX
|
||||
|
||||
BO_ 17 STEER_TORQUE_VB_2: 8 XXX
|
||||
SG_ STEER_TORQUE_MOTOR : 7|16@0+ (1,0) [0|255] "" XXX
|
||||
SG_ NEW_SIGNAL_3 : 23|12@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_ 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
|
||||
|
||||
BO_ 18 STEER_VB: 8 XXX
|
||||
SG_ STEER_ANGLE : 25|14@0- (1,375) [0|65536] "" XXX
|
||||
SG_ STEER_LEFT_BIT : 26|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ CTR : 41|2@0+ (1,0) [0|3] "" XXX
|
||||
SG_ ENGINE_OFF : 43|2@0+ (1,0) [0|63] "" XXX
|
||||
SG_ NEW_SIGNAL_2 : 53|6@0+ (1,0) [0|15] "" XXX
|
||||
SG_ NEW_SIGNAL_3 : 55|2@0+ (1,0) [0|15] "" XXX
|
||||
|
||||
BO_ 20 NEW_MSG_29: 8 XXX
|
||||
SG_ RIGHT_BLINK_CLOCK : 23|8@0+ (1,0) [0|1] "" XXX
|
||||
|
||||
BO_ 22 CRZ_CTRL_BTNS: 8 XXX
|
||||
SG_ SIGNAL : 45|1@0+ (1,0) [0|15] "" XXX
|
||||
SG_ NOT_SIGNAL : 46|1@0+ (1,0) [0|3] "" 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
|
||||
|
||||
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_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_ RPM : 7|13@0+ (1,0) [0|15] "" XXX
|
||||
SG_ PEDAL_GAS : 39|10@0+ (1,0) [0|15] "" XXX
|
||||
SG_ ENGINE_ON : 52|1@0+ (1,0) [0|15] "" XXX
|
||||
SG_ CHKSUM : 63|8@0- (1,0) [0|15] "" XXX
|
||||
|
||||
BO_ 29 WHEEL: 8 XXX
|
||||
SG_ ENCODER_1 : 7|16@0+ (1,0) [0|65535] "" XXX
|
||||
SG_ ENCODER_2 : 23|16@0+ (1,0) [0|65535] "" XXX
|
||||
SG_ SPEED : 39|16@0+ (1,0) [0|127] "" XXX
|
||||
SG_ NEW_SIGNAL_2 : 51|4@0+ (1,0) [0|15] "" XXX
|
||||
SG_ STANDSTILL : 52|1@0+ (1,0) [0|15] "" 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
|
||||
|
||||
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_ GEAR : 36|4@0+ (1,0) [0|65535] "" XXX
|
||||
SG_ NEW_SIGNAL_4 : 55|16@0+ (1,0) [0|65535] "" 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_4 : 23|16@0+ (1,0) [0|65535] "" XXX
|
||||
SG_ NEW_SIGNAL_2 : 39|16@0+ (1,0) [0|16777215] "" XXX
|
||||
SG_ NEW_SIGNAL_3 : 55|16@0+ (1,0) [0|65535] "" XXX
|
||||
|
||||
BO_ 59 STEER_RATE: 8 XXX
|
||||
SG_ STEER_ANGLE : 23|16@0+ (0.05,-1600) [-500|500] "" XXX
|
||||
SG_ CHKSUM : 39|8@0+ (1,0) [0|15] "" XXX
|
||||
SG_ NEW_SIGNAL_1 : 43|4@0+ (1,0) [0|15] "" 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
|
||||
|
||||
BO_ 96 STEER2: 8 XXX
|
||||
SG_ STEER__ : 7|16@0+ (1,0) [0|65535] "" XXX
|
||||
SG_ SPEED : 18|16@0- (0.00621371,-62.1371) [-65635|65635] "MPH" 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_ TURN_OFF : 32|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ ENGINE_ON : 33|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ TURN_ON : 34|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ NEW_SIGNAL_4 : 45|1@0+ (1,0) [0|15] "" 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
|
||||
|
||||
BO_ 116 BRAKE_2: 8 XXX
|
||||
SG_ BRAKE_PRESSURE : 3|9@0+ (1,-152) [0|511] "" XXX
|
||||
|
||||
BO_ 117 NEW_MSG_31_MAIN: 8 XXX
|
||||
|
||||
BO_ 120 BCM_ECHO_MAYBE: 8 XXX
|
||||
SG_ EPS_MOTOR_TORQUE_MAYBE : 7|16@0+ (1,0) [0|65535] "" XXX
|
||||
SG_ BRAKE_MAYBE : 39|8@0+ (1,0) [0|65535] "" XXX
|
||||
|
||||
BO_ 121 NEW_MSG_39: 8 XXX
|
||||
SG_ NEW_SIGNAL_3 : 7|16@0+ (1,0) [0|65535] "" 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
|
||||
|
||||
BO_ 128 RADARS: 8 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_ REAR_LEFT : 17|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ FRONT_RIGHT : 18|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ FRONT_LEFT : 19|1@0+ (1,0) [0|255] "" XXX
|
||||
SG_ REAR_RIGHT : 20|1@0+ (1,0) [0|15] "" XXX
|
||||
SG_ FRONT : 21|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ NEW_SIGNAL_1 : 59|4@0+ (1,0) [0|255] "" 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_ 130 STEER_AUX: 8 XXX
|
||||
SG_ STEER_ANGLE : 23|14@0+ (0.2,-1600) [0|65535] "" 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
|
||||
|
||||
BO_ 132 NEW_MSG_84: 8 XXX
|
||||
SG_ STEER_ANGLE : 23|16@0+ (1,0) [0|65535] "" XXX
|
||||
|
||||
BO_ 133 NEW_MSG_35: 8 XXX
|
||||
SG_ STEER_ANGLE : 23|16@0+ (1,0) [0|65535] "" XXX
|
||||
|
||||
BO_ 134 STEER_OLD: 8 XXX
|
||||
SG_ NEW_SIGNAL_1 : 7|16@0+ (1,0) [0|65535] "" XXX
|
||||
SG_ STEER_ANGLE : 25|14@0- (0.1,36) [0|1023] "" XXX
|
||||
|
||||
BO_ 135 STEER: 8 XXX
|
||||
SG_ STEER_ANGLE : 23|16@0+ (0.1,-1600) [0|65535] "" XXX
|
||||
|
||||
BO_ 136 NEW_MSG_40: 8 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
|
||||
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
|
||||
|
||||
BO_ 137 SPEED: 8 XXX
|
||||
SG_ SPEED : 23|16@0+ (1,-12) [0|65535] "" 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_ NEW_SIGNAL_1 : 40|8@1+ (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
|
||||
|
||||
BO_ 151 NEW_MSG_97: 8 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_ 157 CRZ_BTNS: 8 XXX
|
||||
SG_ RES : 2|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ SET_M : 3|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ SET_P : 4|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ CAN : 5|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ STATIC_0 : 7|2@0+ (1,0) [0|7] "" XXX
|
||||
SG_ STATIC_1 : 10|7@0+ (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_ CTR : 48|4@1+ (1,0) [0|15] "" XXX
|
||||
SG_ CHKSUM : 56|8@1+ (1,0) [0|63] "" XXX
|
||||
|
||||
BO_ 159 BRAKE_PEDAL: 8 XXX
|
||||
SG_ REVERSE : 1|1@0+ (1,0) [0|65535] "" 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
|
||||
SG_ NEW_SIGNAL_3 : 40|6@1+ (1,0) [0|15] "" XXX
|
||||
SG_ BRAKE_NOT_PRESSED : 58|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ BRAKE_PRESSED : 59|1@0+ (1,0) [0|1] "" XXX
|
||||
|
||||
BO_ 253 NEW_MSG_34: 8 XXX
|
||||
SG_ NEW_SIGNAL_1 : 36|5@0+ (1,0) [0|31] "" XXX
|
||||
|
||||
BO_ 256 CAM_Start: 8 XXX
|
||||
SG_ DISTANCE_LEAD_CAR : 0|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_ NEW_SIGNAL_5 : 24|12@0+ (1,0) [0|255] "" XXX
|
||||
SG_ NEW_SIGNAL_10 : 44|12@0+ (1,0) [0|15] "" 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_2 : 63|2@0+ (1,0) [0|3] "" XXX
|
||||
|
||||
BO_ 257 LKAS: 8 XXX
|
||||
SG_ LEAD_DIST : 0|12@0+ (1,0) [0|255] "" XXX
|
||||
SG_ SET_19 : 2|2@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
|
||||
SG_ SET_0 : 48|1@1+ (1,0) [0|3] "" 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_1 : 63|2@0+ (1,0) [0|3] "" XXX
|
||||
|
||||
BO_ 258 NEW_MSG_3: 8 XXX
|
||||
SG_ NEW_SIGNAL_6 : 1|2@1+ (1,0) [0|3] "" 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
|
||||
SG_ NEW_SIGNAL_4 : 39|10@0- (1,0) [0|1] "" XXX
|
||||
SG_ NEW_SIGNAL_5 : 44|10@0- (1,0) [0|1] "" XXX
|
||||
SG_ NEW_SIGNAL_3 : 59|4@0+ (1,0) [0|255] "" XXX
|
||||
|
||||
BO_ 259 NEW_MSG_5: 8 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
|
||||
SG_ NEW_SIGNAL_3 : 39|10@0- (1,0) [0|1] "" XXX
|
||||
SG_ NEW_SIGNAL_4 : 44|10@0- (1,0) [0|1] "" XXX
|
||||
|
||||
BO_ 260 NEW_MSG_6: 8 XXX
|
||||
SG_ NEW_SIGNAL_1 : 0|12@0+ (1,0) [0|255] "" XXX
|
||||
SG_ NEW_SIGNAL_2 : 20|12@0- (1,0) [0|1] "" XXX
|
||||
SG_ NEW_SIGNAL_3 : 24|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_2 : 7|8@0+ (1,0) [0|255] "" XXX
|
||||
SG_ NEW_SIGNAL_1 : 15|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_ 264 NEW_MSG_2: 8 XXX
|
||||
SG_ CRZ_CTRL_PRESSED : 48|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ NEW_SIGNAL_2 : 49|3@1+ (1,0) [0|7] "" XXX
|
||||
SG_ NEW_SIGNAL_1 : 56|8@1+ (1,0) [0|15] "" 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_ 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_ 288 NEW_MSG_30: 8 XXX
|
||||
|
||||
BO_ 289 NEW_MSG_28: 8 XXX
|
||||
SG_ NEW_SIGNAL_1 : 55|8@0+ (1,0) [0|1] "" XXX
|
||||
|
||||
BO_ 290 NEW_MSG_23: 8 XXX
|
||||
SG_ NEW_SIGNAL_1 : 31|5@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_ 292 NEW_MSG_18: 8 XXX
|
||||
SG_ NEW_SIGNAL_1 : 63|8@0+ (1,0) [0|255] "" XXX
|
||||
|
||||
BO_ 293 NEW_MSG_12: 8 XXX
|
||||
SG_ NEW_SIGNAL_1 : 7|8@0+ (1,0) [0|255] "" XXX
|
||||
SG_ NEW_SIGNAL_3 : 19|4@0+ (1,0) [0|1] "" XXX
|
||||
SG_ NEW_SIGNAL_2 : 39|16@0+ (1,0) [0|255] "" XXX
|
||||
|
||||
BO_ 294 NEW_MSG_13: 8 XXX
|
||||
SG_ NEW_SIGNAL_3 : 7|16@0+ (1,0) [0|1] "" 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
|
||||
|
||||
BO_ 304 CAM_LANES: 8 XXX
|
||||
SG_ DISTANCE_TO_LEFT_LANE : 1|10@0- (1,0) [0|1] "" XXX
|
||||
SG_ RIGHT_LANE_DETECTED : 4|1@0+ (1,0) [0|255] "" XXX
|
||||
SG_ LEFT_LANE_DETECTED : 7|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ DISTANCE_TO_RIGHT_LANE : 23|10@0- (1,0) [0|2047] "" 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_ NEW_SIGNAL_3 : 59|4@0+ (1,0) [0|255] "" XXX
|
||||
SG_ NEW_SIGNAL_4 : 61|2@0+ (1,0) [0|3] "" XXX
|
||||
|
||||
BO_ 305 CAM_LANES_2_MAYBE: 8 XXX
|
||||
SG_ NEW_SIGNAL_4 : 23|8@0+ (1,0) [0|1] "" 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
|
||||
|
||||
BO_ 306 CAM_LANE_3_MAYBE: 8 XXX
|
||||
SG_ STEER : 7|10@0+ (1,0) [0|1] "" XXX
|
||||
SG_ NEW_SIGNAL_2 : 13|10@0+ (1,0) [0|255] "" XXX
|
||||
SG_ NEW_SIGNAL_1 : 19|10@0+ (1,0) [0|63] "" XXX
|
||||
SG_ NEW_SIGNAL_4 : 25|10@0+ (1,0) [0|1] "" 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
|
||||
|
||||
BO_ 307 NEW_MSG_1: 8 XXX
|
||||
SG_ NEW_SIGNAL_4 : 7|10@0+ (1,0) [0|1] "" XXX
|
||||
SG_ NEW_SIGNAL_2 : 13|10@0+ (1,0) [0|1] "" XXX
|
||||
SG_ NEW_SIGNAL_1 : 19|10@0+ (1,0) [0|1] "" XXX
|
||||
SG_ NEW_SIGNAL_3 : 25|10@0+ (1,0) [0|1] "" XXX
|
||||
SG_ NEW_SIGNAL_5 : 61|6@0+ (1,0) [0|1] "" XXX
|
||||
|
||||
BO_ 308 ACC_POSSIBLY: 8 XXX
|
||||
SG_ NEW_SIGNAL_2 : 0|7@0+ (1,0) [0|63] "" XXX
|
||||
SG_ NEW_SIGNAL_6 : 4|1@0+ (1,0) [0|255] "" 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_7 : 37|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ NEW_SIGNAL_3 : 54|7@0+ (1,0) [0|15] "" XXX
|
||||
SG_ NEW_SIGNAL_8 : 55|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ NEW_SIGNAL_1 : 63|8@0+ (1,0) [0|255] "" XXX
|
||||
|
||||
BO_ 310 NEW_MSG_10: 8 XXX
|
||||
SG_ NEW_SIGNAL_2 : 47|8@0+ (1,0) [0|255] "" XXX
|
||||
SG_ NEW_SIGNAL_1 : 56|4@1+ (1,0) [0|255] "" XXX
|
||||
SG_ NEW_SIGNAL_3 : 61|2@0+ (1,0) [0|3] "" XXX
|
||||
|
||||
BO_ 320 NEW_MSG_4: 8 XXX
|
||||
SG_ NEW_SIGNAL_4 : 16|1@0+ (1,0) [0|255] "" XXX
|
||||
SG_ NEW_SIGNAL_2 : 27|7@0+ (1,0) [0|1] "" XXX
|
||||
SG_ NEW_SIGNAL_1 : 36|9@0+ (1,0) [0|1] "" XXX
|
||||
SG_ NEW_SIGNAL_3 : 43|6@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_ 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_7 : 7|16@0+ (1,0) [0|255] "" XXX
|
||||
SG_ NEW_SIGNAL_8 : 23|16@0+ (1,0) [0|65535] "" XXX
|
||||
SG_ NEW_SIGNAL_5 : 39|16@0+ (1,0) [0|15] "" XXX
|
||||
SG_ NEW_SIGNAL_6 : 40|4@1+ (1,0) [0|15] "" XXX
|
||||
SG_ NEW_SIGNAL_3 : 48|4@1+ (1,0) [0|15] "" XXX
|
||||
SG_ NEW_SIGNAL_4 : 55|4@0+ (1,0) [0|15] "" 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
|
||||
|
||||
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_ 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_ 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_2 : 7|32@0+ (1,0) [0|4294967295] "" XXX
|
||||
SG_ NEW_SIGNAL_3 : 56|4@1+ (1,0) [0|15] "" XXX
|
||||
SG_ NEW_SIGNAL_1 : 61|2@0+ (1,0) [0|3] "" XXX
|
||||
|
||||
BO_ 358 CAM_End: 8 XXX
|
||||
SG_ NEW_SIGNAL_4 : 11|14@0+ (1,0) [0|255] "" XXX
|
||||
SG_ NEW_SIGNAL_1 : 31|8@0+ (1,0) [0|255] "" XXX
|
||||
SG_ NEW_SIGNAL_3 : 59|4@0+ (1,0) [0|15] "" XXX
|
||||
SG_ NEW_SIGNAL_2 : 61|2@0+ (1,0) [0|3] "" 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_ 514 ENGINE_DATA: 8 XXX
|
||||
SG_ RPM : 7|14@0+ (1,0) [0|8191] "" 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_ ENGINE_ON : 52|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ CHKSUM : 56|8@1+ (1,0) [0|255] "" XXX
|
||||
|
||||
BO_ 515 NEW_MSG_36: 8 XXX
|
||||
SG_ NEW_SIGNAL_1 : 31|5@0+ (1,0) [0|31] "" XXX
|
||||
|
||||
BO_ 529 NEW_MSG_31: 8 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
|
||||
SG_ NEW_SIGNAL_1 : 39|4@0+ (1,0) [0|15] "" XXX
|
||||
SG_ NEW_SIGNAL_2 : 47|4@0+ (1,0) [0|15] "" XXX
|
||||
|
||||
BO_ 533 WHEEL_SPEEDS: 8 XXX
|
||||
SG_ FL : 7|16@0+ (0.01,-100) [0|65535] "" XXX
|
||||
SG_ FR : 23|16@0+ (0.01,-100) [0|65535] "" XXX
|
||||
SG_ RL : 39|16@0+ (0.01,-100) [0|65535] "" XXX
|
||||
SG_ RR : 55|16@0+ (0.01,-100) [0|65535] "" XXX
|
||||
|
||||
BO_ 535 SPEED_OLD: 8 XXX
|
||||
SG_ SPEED : 39|16@0+ (0.01,0) [0|65535] "" XXX
|
||||
|
||||
BO_ 537 MANUAL_GEAR: 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_ GEAR : 33|2@0+ (1,0) [0|255] "" XXX
|
||||
SG_ NEW_SIGNAL_4 : 55|16@0+ (1,0) [0|65535] "" XXX
|
||||
|
||||
BO_ 542 ACC: 8 XXX
|
||||
SG_ CTR1 : 3|4@0+ (1,0) [0|31] "" XXX
|
||||
SG_ DERIVATIVE : 7|4@0+ (1,0) [0|1] "" XXX
|
||||
SG_ CTR2 : 11|4@0+ (1,0) [0|255] "" XXX
|
||||
SG_ NEW_SIGNAL_5 : 12|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ ACC_ACTIVE : 13|1@0+ (1,0) [0|15] "" XXX
|
||||
SG_ NEW_SIGNAL_4 : 15|2@0+ (1,0) [0|3] "" XXX
|
||||
SG_ ACCEL_CMD : 23|12@0+ (1,-2000) [0|8191] "" XXX
|
||||
SG_ ACC_ACTIVE2 : 27|1@0+ (1,0) [0|7] "" XXX
|
||||
SG_ NEW_SIGNAL_1 : 35|4@0+ (1,0) [0|15] "" XXX
|
||||
SG_ CTR3 : 37|2@0+ (1,0) [0|3] "" XXX
|
||||
SG_ NEW_SIGNAL_6 : 39|2@0+ (1,0) [0|1] "" XXX
|
||||
SG_ NEW_SIGNAL_7 : 47|8@0+ (1,0) [0|255] "" XXX
|
||||
SG_ NEW_SIGNAL_9 : 48|8@1+ (1,0) [0|255] "" XXX
|
||||
SG_ NEW_SIGNAL_11 : 63|8@0+ (1,0) [0|255] "" XXX
|
||||
|
||||
BO_ 543 NEW_MSG_21F: 8 XXX
|
||||
SG_ NEW_SIGNAL_1 : 22|7@0+ (1,0) [0|127] "" XXX
|
||||
SG_ NEW_SIGNAL_2 : 31|8@0+ (1,0) [0|255] "" XXX
|
||||
|
||||
BO_ 546 ACC_2: 8 XXX
|
||||
SG_ NEW_SIGNAL_3 : 7|8@0+ (1,0) [0|255] "" XXX
|
||||
SG_ NEW_SIGNAL_4 : 11|4@0+ (1,0) [0|255] "" XXX
|
||||
SG_ NEW_SIGNAL_5 : 17|2@0+ (1,0) [0|15] "" XXX
|
||||
SG_ NEW_SIGNAL_7 : 19|2@0+ (1,0) [0|3] "" XXX
|
||||
SG_ NEW_SIGNAL_6 : 23|4@0+ (1,0) [0|63] "" XXX
|
||||
SG_ NEW_SIGNAL_2 : 31|16@0+ (1,0) [0|255] "" XXX
|
||||
SG_ NEW_SIGNAL_1 : 47|16@0+ (1,0) [0|65535] "" XXX
|
||||
SG_ CHKSUM : 63|8@0+ (1,0) [0|15] "" XXX
|
||||
|
||||
BO_ 547 NEW_MSG_223: 8 XXX
|
||||
|
||||
BO_ 552 GEAR: 8 XXX
|
||||
SG_ NEW_SIGNAL_1 : 0|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ SHIFT : 8|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ TORQUE_CONVERTER_LOCK : 11|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ NEW_SIGNAL_2 : 16|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ GEAR : 33|4@1+ (1,0) [0|255] "" XXX
|
||||
SG_ GEAR_SHIFT : 43|4@0+ (1,0) [0|15] "" XXX
|
||||
SG_ NEW_SIGNAL_3 : 56|6@1+ (1,0) [0|63] "" XXX
|
||||
|
||||
BO_ 576 STEER_TORQUE: 8 XXX
|
||||
SG_ STEER_TORQUE_SENSOR : 7|16@0+ (1,0) [0|65535] "" XXX
|
||||
|
||||
BO_ 585 EPS_LKAS: 8 XXX
|
||||
SG_ LKAS_REQUEST : 7|16@0- (1,0) [0|65535] "" XXX
|
||||
SG_ STEER_FEEL : 23|16@0+ (1,0) [0|65535] "" XXX
|
||||
SG_ COUNTER : 48|8@1+ (1,0) [0|255] "" XXX
|
||||
SG_ CHECKSUM : 56|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_1_STATE : 48|4@1+ (1,0) [0|15] "" XXX
|
||||
SG_ CPU_0_STATE : 55|4@0+ (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_ 608 NEW_MSG_41: 8 XXX
|
||||
SG_ NEW_SIGNAL_1 : 8|7@1+ (1,0) [0|15] "" XXX
|
||||
|
||||
BO_ 640 NEW_MSG_280: 8 XXX
|
||||
SG_ NEW_SIGNAL_1 : 2|3@0+ (1,0) [0|7] "" XXX
|
||||
|
||||
BO_ 1029 NEW_MSG_405: 8 XXX
|
||||
SG_ LEFT_TURN_SIGNAL_PULSE : 48|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ RIGHT_TURN_SIGNAL_PULSE : 49|1@0+ (1,0) [0|1] "" 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_ 1045 NEW_MSG_415: 8 XXX
|
||||
SG_ AUTO_HOLD_ACTIVE : 4|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ AUTO_HOLD_ENABLED : 22|1@0+ (1,0) [0|3] "" XXX
|
||||
SG_ PARKING_BRAKE_ACTIVE : 37|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ CTR : 51|4@0+ (1,0) [0|15] "" XXX
|
||||
SG_ CHKSUM : 63|8@0+ (1,0) [0|255] "" XXX
|
||||
|
||||
BO_ 1066 NEW_MSG_42A: 8 XXX
|
||||
|
||||
BO_ 1067 NEW_MSG_33: 8 XXX
|
||||
SG_ NEW_SIGNAL_1 : 7|16@0+ (1,0) [0|65535] "" XXX
|
||||
SG_ NEW_SIGNAL_4 : 23|8@0+ (1,0) [0|255] "" XXX
|
||||
SG_ NEW_SIGNAL_2 : 42|1@0+ (1,0) [0|1] "" 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_3 : 45|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ NEW_SIGNAL_7 : 47|8@0+ (1,0) [0|3] "" XXX
|
||||
|
||||
BO_ 1078 NEW_MSG_44: 8 XXX
|
||||
SG_ IGNITION : 10|1@1+ (1,0) [0|255] "" XXX
|
||||
|
||||
BO_ 1087 BRAKE_PEDAL_BUS1: 8 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_ LEFT_TURN_SIGNAL_PULSE : 32|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ RIGHT_TURN_SIGNAL_PULSE : 34|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ BRAKE_PEDAL_PRESSED : 42|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ NEW_SIGNAL_5 : 47|4@0+ (1,0) [0|15] "" XXX
|
||||
|
||||
BO_ 1098 CRUZE_STATE: 8 XXX
|
||||
SG_ NEW_SIGNAL_7 : 1|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ CRZ_STATE : 6|3@0+ (1,0) [0|15] "" 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_ CRZ_SPEED : 31|9@0+ (1,0) [0|255] "" XXX
|
||||
SG_ DISTANCE_SETTING : 38|3@0+ (1,0) [0|4] "" XXX
|
||||
SG_ NEW_SIGNAL_5 : 42|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ STOCK_LKAS_MODE : 44|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ NEW_SIGNAL_4 : 45|1@0+ (1,0) [0|1] "" XXX
|
||||
|
||||
BO_ 1100 NEW_MSG_44C: 8 XXX
|
||||
SG_ TRAFFIC_SIGN_SYSTEM_ENABLED_1 : 4|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ NEW_SIGNAL_1 : 5|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ NEW_SIGNAL_4 : 8|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ NEW_SIGNAL_3 : 10|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ NEW_SIGNAL_2 : 37|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_ 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_ 1167 SYSTEM_SETTINGS: 8 XXX
|
||||
SG_ IMPERIAL_UNIT : 15|1@0+ (1,0) [0|1] "" XXX
|
||||
|
||||
BO_ 1170 NEW_MSG_492: 8 XXX
|
||||
SG_ MRCC_NOT_ALLOWED : 12|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ MRRC_ALLOWED : 13|1@0+ (1,0) [0|3] "" XXX
|
||||
|
||||
BO_ 1200 KEEP_ALIVE_3: 8 XXX
|
||||
SG_ NEW_SIGNAL_1 : 7|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
|
||||
SG_ NEW_SIGNAL_2 : 55|16@0+ (1,0) [0|255] "" XXX
|
||||
|
||||
BO_ 1209 KEEP_ALIVE_1: 8 XXX
|
||||
SG_ NEW_SIGNAL_8 : 4|5@0+ (1,0) [0|127] "" XXX
|
||||
SG_ NEW_SIGNAL_7 : 15|8@0+ (1,0) [0|255] "" XXX
|
||||
SG_ NEW_SIGNAL_6 : 23|8@0+ (1,0) [0|255] "" XXX
|
||||
SG_ NEW_SIGNAL_5 : 31|8@0+ (1,0) [0|255] "" XXX
|
||||
SG_ NEW_SIGNAL_4 : 39|8@0+ (1,0) [0|255] "" XXX
|
||||
SG_ NEW_SIGNAL_3 : 47|8@0+ (1,0) [0|255] "" XXX
|
||||
SG_ NEW_SIGNAL_2 : 55|8@0+ (1,0) [0|255] "" XXX
|
||||
SG_ NEW_SIGNAL_1 : 63|8@0+ (1,0) [0|255] "" XXX
|
||||
|
||||
BO_ 1216 CAM_69: 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 : 39|16@0+ (1,0) [0|65535] "" XXX
|
||||
SG_ NEW_SIGNAL_5 : 55|12@0+ (1,0) [0|7] "" XXX
|
||||
SG_ NEW_SIGNAL_1 : 56|4@1+ (1,0) [0|15] "" 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_ 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
|
||||
|
||||
BO_ 1867 EPS_FEEDBACK2: 8 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
|
||||
SG_ NEW_SIGNAL_5 : 55|8@0+ (1,0) [0|255] "" XXX
|
||||
SG_ CTR : 63|8@0+ (1,0) [0|65535] "" XXX
|
||||
|
||||
BO_ 1868 EPS_FEEDBACK3: 8 XXX
|
||||
SG_ OUT1 : 7|16@0- (1,-32767) [0|65535] "" 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
|
||||
|
||||
CM_ SG_ 31 GEAR "13-P, 12-R, 11-N, 1-6-D";
|
||||
VAL_ 31 GEAR 13 "P" 12 "R" 11 "N" 1 "D" 2 "D" 3 "D" 4 "D" 5 "D" 6 "D";
|
||||
VAL_ 537 GEAR 0 "P" 1 "D" 2 "R";
|
||||
VAL_ 552 GEAR 13 "P" 12 "R" 11 "N" 1 "D" 2 "D" 3 "D" 4 "D" 5 "D" 6 "D";
|
||||
VAL_ 552 GEAR_SHIFT 6 "6th" 5 "5th" 4 "4th" 3 "3rd" 2 "2nd" 1 "1st" 14 "Shift" 13 "Park" 11 "Neutral" 12 "Reverse";
|
||||
VAL_ 1098 CRZ_STATE 1 "CRUISE_DISABLED" 2 "CRUISE_READY" 4 "GAS_OVERRIDE" 3 "CRUISE_ENABLE";
|
||||
VAL_ 1098 DISTANCE_SETTING 4 "CLOSE" 3 "MEDIUM_CLOSE" 2 "MEDIUM_FAR" 1 "FAR" 0 "ACC_DISABLED";
|
||||
@@ -197,10 +197,9 @@ void can_set_forwarding(uint8_t from, uint8_t to) {
|
||||
|
||||
void ignition_can_hook(CANPacket_t *to_push) {
|
||||
int bus = GET_BUS(to_push);
|
||||
int addr = GET_ADDR(to_push);
|
||||
int len = GET_LEN(to_push);
|
||||
if (bus == 0) {
|
||||
int addr = GET_ADDR(to_push);
|
||||
int len = GET_LEN(to_push);
|
||||
|
||||
// GM exception
|
||||
if ((addr == 0x1F1) && (len == 8)) {
|
||||
// SystemPowerMode (2=Run, 3=Crank Request)
|
||||
@@ -226,9 +225,13 @@ void ignition_can_hook(CANPacket_t *to_push) {
|
||||
ignition_can_cnt = 0U;
|
||||
}
|
||||
|
||||
} else if (bus == 1) {
|
||||
// Mazda 2019 exception
|
||||
if ((addr == 0x274) && (len == 8)) {
|
||||
ignition_can = (GET_BYTE(to_push, 5) & 0x4U) != 0U;
|
||||
ignition_can_cnt = 0U;
|
||||
}
|
||||
} else if (bus == 2) {
|
||||
int addr = GET_ADDR(to_push);
|
||||
int len = GET_LEN(to_push);
|
||||
// GM exception, SDGM cars have this message on bus 2
|
||||
if ((addr == 0x1F1) && (len == 8)) {
|
||||
// SystemPowerMode (2=Run, 3=Crank Request)
|
||||
|
||||
@@ -29,6 +29,10 @@
|
||||
#define MAZDA_2019_CRZ_BTNS 0x9d // rx on main tx on camera. DBC: CRZ_BTNS
|
||||
#define MAZDA_2019_ACC 0x220 // main bus. DBC: ACC
|
||||
|
||||
#define MAZDA_2023_SPEED 0x215 // main bus. DBC: WHEEL_SPEEDS
|
||||
#define MAZDA_2023_BRAKE 0x9F // main bus. DBC: BRAKE_PEDAL
|
||||
#define MAZDA_2023_ACC 0x21e // main bus. DBC: ACC
|
||||
|
||||
#define MAZDA_TI_LKAS 0x249
|
||||
|
||||
// CAN bus numbers
|
||||
@@ -39,13 +43,16 @@
|
||||
// param flag masks
|
||||
const int FLAG_GEN1 = 1;
|
||||
const int FLAG_GEN2 = 2;
|
||||
const int FLAG_TORQUE_INTERCEPTOR = 4;
|
||||
const int FLAG_RADAR_INTERCEPTOR = 8;
|
||||
const int FLAG_NO_FSC = 16;
|
||||
const int FLAG_NO_MRCC = 32;
|
||||
const int FLAG_GEN3 = 4;
|
||||
const int FLAG_TORQUE_INTERCEPTOR = 8;
|
||||
const int FLAG_RADAR_INTERCEPTOR = 16;
|
||||
const int FLAG_NO_FSC = 32;
|
||||
const int FLAG_NO_MRCC = 64;
|
||||
const int FLAG_MANUAL_TRANSMISSION = 128;
|
||||
|
||||
bool gen1 = false;
|
||||
bool gen2 = false;
|
||||
bool gen3 = false;
|
||||
bool torque_interceptor = false;
|
||||
bool radar_interceptor = false;
|
||||
bool no_fsc = false;
|
||||
@@ -84,7 +91,7 @@ const CanMsg MAZDA_TI_RI_TX_MSGS[] = {{MAZDA_LKAS, 0, 8}, {MAZDA_TI_LKAS, 1, 8},
|
||||
{MAZDA_RADAR_363, 0, 8}, {MAZDA_RADAR_364, 0, 8}, {MAZDA_RADAR_365, 0, 8}, {MAZDA_RADAR_366, 0, 8},
|
||||
{MAZDA_RADAR_499, 0, 8}};
|
||||
|
||||
const CanMsg MAZDA_2019_TX_MSGS[] = {{MAZDA_TI_LKAS, 1, 8}, {MAZDA_2019_ACC, 2, 8}};
|
||||
const CanMsg MAZDA_2019_TX_MSGS[] = {{MAZDA_TI_LKAS, 1, 8}, {MAZDA_2019_ACC, 2, 8}, {MAZDA_2023_ACC, 2, 8}};
|
||||
|
||||
RxCheck mazda_rx_checks[] = {
|
||||
{.msg = {{MAZDA_CRZ_CTRL, 0, 8, .frequency = 50U}, { 0 }, { 0 }}},
|
||||
@@ -110,8 +117,17 @@ RxCheck mazda_2019_rx_checks[] = {
|
||||
{.msg = {{MAZDA_2019_STEER_TORQUE, 1, 8, .frequency = 50U}, { 0 }, { 0 }}},
|
||||
};
|
||||
|
||||
RxCheck mazda_2023_rx_checks[] = {
|
||||
{.msg = {{MAZDA_2023_BRAKE, 0, 8, .frequency = 5U}, { 0 }, { 0 }}},
|
||||
{.msg = {{MAZDA_2019_GAS, 2, 8, .frequency = 100U}, { 0 }, { 0 }}},
|
||||
{.msg = {{MAZDA_2019_CRUISE, 1, 8, .frequency = 10U}, { 0 }, { 0 }}},
|
||||
{.msg = {{MAZDA_2023_SPEED, 2, 8, .frequency = 30U}, { 0 }, { 0 }}},
|
||||
{.msg = {{MAZDA_2019_STEER_TORQUE, 1, 8, .frequency = 50U}, { 0 }, { 0 }}},
|
||||
};
|
||||
|
||||
// track msgs coming from OP so that we know what CAM msgs to drop and what to forward
|
||||
static void mazda_rx_hook(const CANPacket_t *to_push) {
|
||||
print("pcm_cruise_check");
|
||||
int addr = GET_ADDR(to_push);
|
||||
if ((int)GET_BUS(to_push) == MAZDA_MAIN) {
|
||||
if (gen1){
|
||||
@@ -163,6 +179,16 @@ static void mazda_rx_hook(const CANPacket_t *to_push) {
|
||||
|
||||
generic_rx_checks(addr == MAZDA_2019_SPEED);
|
||||
}
|
||||
if (gen3) {
|
||||
if (addr == MAZDA_2023_BRAKE) {
|
||||
brake_pressed = (GET_BYTE(to_push, 7) & 0x8U);
|
||||
}
|
||||
if (addr == MAZDA_2023_SPEED) {
|
||||
int speed = ( (GET_BYTE(to_push, 0) << 8) | (GET_BYTE(to_push, 1)) ) - 10000; // Front Left Wheel Speed
|
||||
vehicle_moving = speed != 0;
|
||||
}
|
||||
generic_rx_checks(false);
|
||||
}
|
||||
}
|
||||
|
||||
if ((GET_BUS(to_push) == MAZDA_AUX)) {
|
||||
@@ -171,9 +197,20 @@ static void mazda_rx_hook(const CANPacket_t *to_push) {
|
||||
update_sample(&torque_driver, torque_driver_new);
|
||||
}
|
||||
|
||||
if (addr == MAZDA_2019_STEER_TORQUE && gen2) {
|
||||
if (addr == MAZDA_2019_STEER_TORQUE && (gen2 || gen3)) {
|
||||
update_sample(&torque_driver, (int16_t)(GET_BYTE(to_push, 0) << 8 | GET_BYTE(to_push, 1)));
|
||||
}
|
||||
|
||||
if (gen3) {
|
||||
if (addr == MAZDA_2019_CRUISE) {
|
||||
uint8_t state = GET_BYTE(to_push, 0) & 0x70U;
|
||||
bool cruise_engaged = (0x30U == state);
|
||||
bool cruise_override = (0x40U == state);
|
||||
//bool cruise_disable = (state == 0x10U);
|
||||
acc_main_on = true;
|
||||
pcm_cruise_check(cruise_engaged || cruise_override);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ((GET_BUS(to_push) == MAZDA_CAM)) {
|
||||
@@ -189,6 +226,12 @@ static void mazda_rx_hook(const CANPacket_t *to_push) {
|
||||
}
|
||||
generic_rx_checks(addr == MAZDA_2019_CRUISE);
|
||||
}
|
||||
if (gen3) {
|
||||
if (addr == MAZDA_2019_GAS) {
|
||||
gas_pressed = (GET_BYTE(to_push, 4) || ((GET_BYTE(to_push, 5) & 0xC0U)));
|
||||
}
|
||||
generic_rx_checks(false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -218,7 +261,7 @@ static bool mazda_tx_hook(const CANPacket_t *to_send) {
|
||||
}
|
||||
}
|
||||
}
|
||||
if (gen2 && (bus == MAZDA_AUX) && (addr == MAZDA_TI_LKAS)) {
|
||||
if ((gen2 || gen3) && (bus == MAZDA_AUX) && (addr == MAZDA_TI_LKAS)) {
|
||||
int desired_torque = (int16_t)((GET_BYTE(to_send, 0) << 8) | GET_BYTE(to_send, 1)); // signal is signed
|
||||
if (steer_torque_cmd_checks(desired_torque, -1, MAZDA_2019_STEERING_LIMITS)) {
|
||||
tx = false;
|
||||
@@ -260,6 +303,7 @@ static safety_config mazda_init(uint16_t param) {
|
||||
safety_config ret = BUILD_SAFETY_CFG(mazda_rx_checks, MAZDA_TX_MSGS);
|
||||
gen1 = GET_FLAG(param, FLAG_GEN1);
|
||||
gen2 = GET_FLAG(param, FLAG_GEN2);
|
||||
gen3 = GET_FLAG(param, FLAG_GEN3);
|
||||
radar_interceptor = GET_FLAG(param, FLAG_RADAR_INTERCEPTOR);
|
||||
torque_interceptor = GET_FLAG(param, FLAG_TORQUE_INTERCEPTOR);
|
||||
no_fsc = GET_FLAG(param, FLAG_NO_FSC);
|
||||
@@ -281,6 +325,9 @@ static safety_config mazda_init(uint16_t param) {
|
||||
if (gen2) {
|
||||
ret = BUILD_SAFETY_CFG(mazda_2019_rx_checks, MAZDA_2019_TX_MSGS);
|
||||
}
|
||||
if (gen3) {
|
||||
ret = BUILD_SAFETY_CFG(mazda_2023_rx_checks, MAZDA_2019_TX_MSGS);
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -244,10 +244,13 @@ class Panda:
|
||||
|
||||
FLAG_MAZDA_GEN1 = 1
|
||||
FLAG_MAZDA_GEN2 = 2
|
||||
FLAG_MAZDA_TORQUE_INTERCEPTOR = 4
|
||||
FLAG_MAZDA_RADAR_INTERCEPTOR = 8
|
||||
FLAG_MAZDA_NO_FSC = 16
|
||||
FLAG_MAZDA_NO_MRCC = 32
|
||||
FLAG_MAZDA_GEN3 = 4
|
||||
FLAG_MAZDA_TORQUE_INTERCEPTOR = 8
|
||||
FLAG_MAZDA_RADAR_INTERCEPTOR = 16
|
||||
FLAG_MAZDA_NO_FSC = 32
|
||||
FLAG_MAZDA_NO_MRCC = 64
|
||||
FLAG_MAZDA_MANUAL_TRANSMISSION = 128
|
||||
|
||||
|
||||
def __init__(self, serial: str | None = None, claim: bool = True, disable_checks: bool = True, can_speed_kbps: int = 500):
|
||||
self._connect_serial = serial
|
||||
|
||||
@@ -106,7 +106,7 @@ class CarController(CarControllerBase):
|
||||
if self.frame % 2 == 0:
|
||||
can_sends.extend(mazdacan.create_radar_command(self.packer, self.frame, CC.longActive, CS, hold))
|
||||
|
||||
else:
|
||||
elif self.CP.flags & MazdaFlags.GEN2:
|
||||
raw_acc_output = (CC.actuators.accel * 200) + 2000
|
||||
if CC.longActive:
|
||||
if self.params.get_bool("BlendedACC"):
|
||||
|
||||
@@ -41,7 +41,7 @@ class CarState(CarStateBase):
|
||||
self.update = self.update_gen1
|
||||
if CP.flags & MazdaFlags.GEN1:
|
||||
self.update = self.update_gen1
|
||||
if CP.flags & MazdaFlags.GEN2:
|
||||
if CP.flags & MazdaFlags.GEN2 or CP.flags & MazdaFlags.GEN3:
|
||||
self.update = self.update_gen2
|
||||
|
||||
def update_gen1(self, cp, cp_cam, cp_body, frogpilot_variables):
|
||||
@@ -184,11 +184,6 @@ class CarState(CarStateBase):
|
||||
#self.shifting = cp_cam.vl["GEAR"]["SHIFT"]
|
||||
#self.torque_converter_lock = cp_cam.vl["GEAR"]["TORQUE_CONVERTER_LOCK"]
|
||||
|
||||
ret.steeringAngleDeg = cp.vl["STEER"]["STEER_ANGLE"] # updated at 100hz and its high resolution
|
||||
ret.steeringRateDeg = (ret.steeringAngleDeg - self._prev_steering_angle) / DT_CTRL
|
||||
self._prev_steering_angle = ret.steeringAngleDeg
|
||||
#ret.steeringRateDeg = cp.vl["STEER"]["STEER_RATE"] # This signal doesn't seem accurate
|
||||
|
||||
ret.steeringTorque = cp_body.vl["EPS_FEEDBACK"]["STEER_TORQUE_SENSOR"]
|
||||
ret.gas = cp_cam.vl["ENGINE_DATA"]["PEDAL_GAS"]
|
||||
|
||||
@@ -209,10 +204,19 @@ class CarState(CarStateBase):
|
||||
ret.steerFaultTemporary = False # TODO locate signal. Car shows light on dash if there is a fault
|
||||
|
||||
ret.standstill = cp_cam.vl["SPEED"]["SPEED"] * unit_conversion < 0.1
|
||||
ret.cruiseState.speed = cp.vl["CRUZE_STATE"]["CRZ_SPEED"] * unit_conversion
|
||||
ret.cruiseState.enabled = (cp.vl["CRUZE_STATE"]["CRZ_STATE"] >= 2)
|
||||
ret.cruiseState.available = (cp.vl["CRUZE_STATE"]["CRZ_STATE"] != 0)
|
||||
ret.cruiseState.standstill = ret.standstill if not self.CP.openpilotLongitudinalControl else False
|
||||
if self.CP.flags & MazdaFlags.GEN2:
|
||||
ret.steeringAngleDeg = cp_cam.vl["STEER"]["STEER_ANGLE"]
|
||||
ret.cruiseState.speed = cp.vl["CRUZE_STATE"]["CRZ_SPEED"] * unit_conversion
|
||||
ret.cruiseState.enabled = (cp.vl["CRUZE_STATE"]["CRZ_STATE"] >= 2)
|
||||
ret.cruiseState.available = (cp.vl["CRUZE_STATE"]["CRZ_STATE"] != 0)
|
||||
else:
|
||||
ret.steeringAngleDeg = cp.vl["STEER"]["STEER_ANGLE"]
|
||||
ret.cruiseState.speed = cp_body.vl["CRUZE_STATE"]["CRZ_SPEED"] * unit_conversion
|
||||
ret.cruiseState.enabled = (cp_body.vl["CRUZE_STATE"]["CRZ_STATE"] >= 3)
|
||||
ret.cruiseState.available = (cp_body.vl["CRUZE_STATE"]["CRZ_STATE"] >= 2)
|
||||
ret.cruiseState.standstill = ret.standstill
|
||||
ret.steeringRateDeg = (ret.steeringAngleDeg - self._prev_steering_angle) / DT_CTRL
|
||||
self._prev_steering_angle = ret.steeringAngleDeg
|
||||
|
||||
self.cp = cp
|
||||
self.cp_cam = cp_cam
|
||||
@@ -224,6 +228,7 @@ class CarState(CarStateBase):
|
||||
|
||||
return ret, fp_ret
|
||||
|
||||
|
||||
@staticmethod
|
||||
def get_ti_messages(CP):
|
||||
messages = []
|
||||
@@ -231,29 +236,15 @@ class CarState(CarStateBase):
|
||||
messages += [
|
||||
("TI_FEEDBACK", 50),
|
||||
]
|
||||
elif CP.flags & MazdaFlags.GEN2:
|
||||
elif CP.flags & (MazdaFlags.GEN2 | MazdaFlags.GEN3):
|
||||
messages += [
|
||||
("EPS_FEEDBACK", 50),
|
||||
("EPS_FEEDBACK2", 50),
|
||||
("EPS_FEEDBACK3", 50),
|
||||
]
|
||||
return messages
|
||||
|
||||
@staticmethod
|
||||
def get_can_parser(CP, FPCP):
|
||||
messages = []
|
||||
|
||||
if not (CP.flags & MazdaFlags.GEN2):
|
||||
messages += [
|
||||
# sig_address, frequency
|
||||
("CRZ_BTNS", 10),
|
||||
("BLINK_INFO", 10),
|
||||
("STEER", 67),
|
||||
("STEER_RATE", 83),
|
||||
("STEER_TORQUE", 83),
|
||||
("WHEEL_SPEEDS", 100),
|
||||
]
|
||||
|
||||
if CP.flags & MazdaFlags.GEN1:
|
||||
messages += [
|
||||
("ENGINE_DATA", 100),
|
||||
@@ -264,6 +255,12 @@ class CarState(CarStateBase):
|
||||
("DOORS", 10),
|
||||
("GEAR", 20),
|
||||
("BSM", 10),
|
||||
("CRZ_BTNS", 10),
|
||||
("BLINK_INFO", 10),
|
||||
("STEER", 67),
|
||||
("STEER_RATE", 83),
|
||||
("STEER_TORQUE", 83),
|
||||
("WHEEL_SPEEDS", 100),
|
||||
]
|
||||
|
||||
if not (CP.flags & MazdaFlags.RADAR_INTERCEPTOR) and not (CP.flags & MazdaFlags.NO_MRCC):
|
||||
@@ -271,14 +268,22 @@ class CarState(CarStateBase):
|
||||
("CRZ_CTRL", 50),
|
||||
]
|
||||
|
||||
if CP.flags & MazdaFlags.GEN2:
|
||||
if not CP.flags & MazdaFlags.GEN1:
|
||||
messages += [
|
||||
("BRAKE_PEDAL", 5),
|
||||
("CRUZE_STATE", 10),
|
||||
("BLINK_INFO", 10),
|
||||
("ACC", 50),
|
||||
("SYSTEM_SETTINGS", 10),
|
||||
("STEER", 100)
|
||||
("ACC", 50),
|
||||
]
|
||||
|
||||
if CP.flags & MazdaFlags.GEN2:
|
||||
messages += [
|
||||
("CRUZE_STATE", 10),
|
||||
]
|
||||
|
||||
if CP.flags & MazdaFlags.GEN3:
|
||||
messages += [
|
||||
("STEER", 50),
|
||||
]
|
||||
|
||||
return CANParser(DBC[CP.carFingerprint]["pt"], messages, 0)
|
||||
@@ -306,14 +311,12 @@ class CarState(CarStateBase):
|
||||
(msg,10),
|
||||
]
|
||||
|
||||
if CP.flags & MazdaFlags.GEN2:
|
||||
if not CP.flags & MazdaFlags.GEN1:
|
||||
messages += [
|
||||
("ENGINE_DATA", 100),
|
||||
("STEER_TORQUE", 100),
|
||||
("WHEEL_SPEEDS", 100),
|
||||
("SPEED", 50),
|
||||
]
|
||||
|
||||
if CP.flags & MazdaFlags.MANUAL_TRANSMISSION:
|
||||
messages += [
|
||||
("MANUAL_GEAR", 50),
|
||||
@@ -323,8 +326,19 @@ class CarState(CarStateBase):
|
||||
("GEAR", 40),
|
||||
]
|
||||
|
||||
if CP.flags & MazdaFlags.GEN2:
|
||||
messages += [
|
||||
("STEER", 50),
|
||||
]
|
||||
|
||||
return CANParser(DBC[CP.carFingerprint]["pt"], messages, 2)
|
||||
|
||||
@staticmethod
|
||||
def get_body_can_parser(CP):
|
||||
return CANParser(DBC[CP.carFingerprint]["pt"], CarState.get_ti_messages(CP), 1)
|
||||
messages = CarState.get_ti_messages(CP)
|
||||
if CP.flags & MazdaFlags.GEN3:
|
||||
messages += [
|
||||
("CRUZE_STATE", 10),
|
||||
]
|
||||
|
||||
return CANParser(DBC[CP.carFingerprint]["pt"], messages, 1)
|
||||
|
||||
@@ -351,5 +351,11 @@ FW_VERSIONS = {
|
||||
b'PX03-21PS1-E\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00',
|
||||
b'PX4K-21PS1-B\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00',
|
||||
],
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
FINGERPRINTS ={
|
||||
CAR.MAZDA_CX_30_2023: [{
|
||||
32: 8, 80: 8, 112: 8, 113: 8, 114: 8, 115: 8, 116: 8, 124: 8, 125: 8, 126: 8, 128: 8, 130: 8, 132: 8, 133: 8, 135: 8, 136: 8, 145: 8, 146: 8, 148: 8, 150: 8, 151: 8, 152: 8, 154: 8, 159: 8, 192: 8, 253: 8, 304: 8, 357: 8, 514: 8, 520: 8, 530: 8, 531: 8, 532: 8, 533: 8, 537: 8, 552: 8, 570: 8, 628: 8, 830: 8, 831: 8, 832: 8, 835: 8, 836: 8, 960: 8, 1034: 8, 1044: 8, 1045: 8, 1066: 8, 1068: 8, 1077: 8, 1078: 8, 1081: 8, 1088: 8, 1095: 8, 1096: 8, 1098: 8, 1099: 8, 1106: 8, 1120: 8, 1121: 8, 1170: 8, 1254: 8, 1264: 8, 1324: 8, 1325: 8, 1409: 8, 1430: 8
|
||||
}],
|
||||
}
|
||||
@@ -5,7 +5,7 @@ import numpy as np
|
||||
from cereal import car, custom
|
||||
from panda import Panda
|
||||
from openpilot.common.conversions import Conversions as CV
|
||||
from openpilot.selfdrive.car.mazda.values import CAR, LKAS_LIMITS, MazdaFlags, GEN1, GEN2
|
||||
from openpilot.selfdrive.car.mazda.values import CAR, LKAS_LIMITS, MazdaFlags, GEN1, GEN2, GEN3
|
||||
from openpilot.selfdrive.car import create_button_events, get_safety_config
|
||||
from openpilot.selfdrive.car.interfaces import CarInterfaceBase, TorqueFromLateralAccelCallbackType, LateralAccelFromTorqueCallbackType
|
||||
from openpilot.common.params import Params
|
||||
@@ -17,6 +17,7 @@ EventName = car.CarEvent.EventName
|
||||
NON_LINEAR_TORQUE_PARAMS = {
|
||||
CAR.MAZDA_3_2019: (4.6, 0.6, 0.134, 0.3605),
|
||||
CAR.MAZDA_CX_30: (4.68689, 0.79999, 0.18244, 0.38763),
|
||||
CAR.MAZDA_CX_30_2023: (4.68689, 0.79999, 0.18244, 0.38763),
|
||||
CAR.MAZDA_CX_50: (4.68689, 0.79999, 0.18244, 0.38763)
|
||||
}
|
||||
|
||||
@@ -115,11 +116,18 @@ class CarInterface(CarInterfaceBase):
|
||||
ret.startingState = True
|
||||
ret.steerActuatorDelay = 0.335
|
||||
|
||||
if candidate in GEN3:
|
||||
ret.safetyConfigs[0].safetyParam |= Panda.FLAG_MAZDA_GEN3
|
||||
ret.experimentalLongitudinalAvailable = False
|
||||
ret.openpilotLongitudinalControl = False
|
||||
if p.get_bool("ManualTransmission"):
|
||||
ret.flags |= MazdaFlags.MANUAL_TRANSMISSION.value
|
||||
|
||||
ret.steerLimitTimer = 0.8
|
||||
|
||||
CarInterfaceBase.configure_torque_tune(candidate, ret.lateralTuning)
|
||||
|
||||
if candidate not in (CAR.MAZDA_CX5_2022, CAR.MAZDA_3_2019, CAR.MAZDA_CX_30, CAR.MAZDA_CX_50) and not ret.flags & MazdaFlags.TORQUE_INTERCEPTOR:
|
||||
if candidate not in (CAR.MAZDA_CX5_2022, CAR.MAZDA_3_2019, CAR.MAZDA_CX_30, CAR.MAZDA_CX_50, CAR.MAZDA_3_2023, CAR.MAZDA_CX_30_2023) and not ret.flags & MazdaFlags.TORQUE_INTERCEPTOR:
|
||||
ret.minSteerSpeed = LKAS_LIMITS.DISABLE_SPEED * CV.KPH_TO_MS
|
||||
|
||||
ret.centerToFront = ret.wheelbase * 0.41
|
||||
|
||||
@@ -67,12 +67,12 @@ def create_steering_control(packer, CP, frame, apply_steer, lkas):
|
||||
}
|
||||
msgs.append(packer.make_can_msg("CAM_LKAS2", 1, values))
|
||||
|
||||
elif CP.flags & MazdaFlags.GEN2:
|
||||
elif CP.flags & ( MazdaFlags.GEN2 | MazdaFlags.GEN3 ):
|
||||
bus = 1
|
||||
sig_name = "EPS_LKAS"
|
||||
values = {
|
||||
"LKAS_REQUEST": apply_steer,
|
||||
"STEER_FEEL": 12000,
|
||||
"STEER_FEEL": 10000,
|
||||
}
|
||||
msgs.append(packer.make_can_msg(sig_name, bus, values))
|
||||
|
||||
|
||||
@@ -31,7 +31,7 @@ class CarControllerParams:
|
||||
self.TI_STEER_DRIVER_MULTIPLIER = 40 # weight driver torque
|
||||
self.TI_STEER_DRIVER_FACTOR = 1 # from dbc
|
||||
self.TI_STEER_ERROR_MAX = 350 # max delta between torque cmd and torque motor
|
||||
if CP.flags & MazdaFlags.GEN2:
|
||||
if CP.flags & (MazdaFlags.GEN2 | MazdaFlags.GEN3):
|
||||
self.STEER_MAX = 8000
|
||||
self.STEER_DELTA_UP = 45 # torque increase per refresh
|
||||
self.STEER_DELTA_DOWN = 80 # torque decrease per refresh
|
||||
@@ -62,16 +62,19 @@ class MazdaFlags(IntFlag):
|
||||
# Gen 1 hardware: same CAN messages and same camera
|
||||
GEN1 = 1
|
||||
GEN2 = 2
|
||||
TORQUE_INTERCEPTOR = 4
|
||||
RADAR_INTERCEPTOR = 8
|
||||
NO_FSC = 16
|
||||
NO_MRCC = 32
|
||||
MANUAL_TRANSMISSION = 64
|
||||
GEN3 = 4
|
||||
TORQUE_INTERCEPTOR = 8
|
||||
RADAR_INTERCEPTOR = 16
|
||||
NO_FSC = 32
|
||||
NO_MRCC = 64
|
||||
MANUAL_TRANSMISSION = 128
|
||||
|
||||
@dataclass
|
||||
class MazdaPlatformConfig(PlatformConfig):
|
||||
dbc_dict: DbcDict = field(default_factory=lambda: dbc_dict('mazda_2017', None))
|
||||
def init(self):
|
||||
if self.flags & MazdaFlags.GEN3:
|
||||
self.dbc_dict = dbc_dict('mazda_2023', None)
|
||||
if self.flags & MazdaFlags.GEN2:
|
||||
self.dbc_dict = dbc_dict('mazda_2019', None)
|
||||
elif self.flags & MazdaFlags.GEN1 and self.flags & MazdaFlags.RADAR_INTERCEPTOR:
|
||||
@@ -116,7 +119,7 @@ class CAR(Platforms):
|
||||
flags=MazdaFlags.GEN2,
|
||||
)
|
||||
MAZDA_CX_30 = MazdaPlatformConfig(
|
||||
[MazdaCarDocs("Mazda CX-30 2019-24")],
|
||||
[MazdaCarDocs("Mazda CX-30 2019-22")],
|
||||
MazdaCarSpecs(mass=3375 * CV.LB_TO_KG, wheelbase=2.814, steerRatio=15.5),
|
||||
flags=MazdaFlags.GEN2,
|
||||
)
|
||||
@@ -125,6 +128,16 @@ class CAR(Platforms):
|
||||
MazdaCarSpecs(mass=3375 * CV.LB_TO_KG, wheelbase=2.814, steerRatio=15.5),
|
||||
flags=MazdaFlags.GEN2,
|
||||
)
|
||||
MAZDA_3_2023 = MazdaPlatformConfig(
|
||||
[MazdaCarDocs("Mazda 3 2024-26")],
|
||||
MazdaCarSpecs(mass=3000 * CV.LB_TO_KG, wheelbase=2.725, steerRatio=18.8),
|
||||
flags=MazdaFlags.GEN3,
|
||||
)
|
||||
MAZDA_CX_30_2023 = MazdaPlatformConfig(
|
||||
[MazdaCarDocs("Mazda CX-30 23-26")],
|
||||
MazdaCarSpecs(mass=3375 * CV.LB_TO_KG, wheelbase=2.814, steerRatio=15.5),
|
||||
flags=MazdaFlags.GEN3,
|
||||
)
|
||||
|
||||
|
||||
class LKAS_LIMITS:
|
||||
@@ -169,3 +182,4 @@ FW_QUERY_CONFIG = FwQueryConfig(
|
||||
DBC = CAR.create_dbc_map()
|
||||
GEN1 = CAR.with_flags(MazdaFlags.GEN1)
|
||||
GEN2 = CAR.with_flags(MazdaFlags.GEN2)
|
||||
GEN3 = CAR.with_flags(MazdaFlags.GEN3)
|
||||
|
||||
@@ -81,5 +81,7 @@ legend = ["LAT_ACCEL_FACTOR", "MAX_LAT_ACCEL_MEASURED", "FRICTION"]
|
||||
"HONDA_HRV_3G" = [2.5, 1.2, 0.2]
|
||||
|
||||
"MAZDA_3_2019" = [1.45, 3.0, 0.33]
|
||||
"MAZDA_3_2023" = [1.45, 3.0, 0.33]
|
||||
"MAZDA_CX_30" = [1.45, 3.0, 0.33]
|
||||
"MAZDA_CX_50" = [1.45, 3.0, 0.33]
|
||||
"MAZDA_CX_30_2023" = [1.45, 3.0, 0.33]
|
||||
"MAZDA_CX_50" = [1.45, 3.0, 0.33]
|
||||
|
||||
Reference in New Issue
Block a user