@ -186,11 +186,6 @@ class CarState(CarStateBase):
( " KBI_MFA_v_Einheit_02 " , " Einheiten_01 " , 0 ) , # MPH vs KMH speed display
( " KBI_Handbremse " , " Kombi_01 " , 0 ) , # Manual handbrake applied
( " TSK_Status " , " TSK_06 " , 0 ) , # ACC engagement status from drivetrain coordinator
( " TSK_Fahrzeugmasse_02 " , " Motor_16 " , 0 ) , # Estimated vehicle mass from drivetrain coordinator
( " ACC_Wunschgeschw " , " ACC_02 " , 0 ) , # ACC set speed
( " AWV2_Freigabe " , " ACC_10 " , 0 ) , # FCW brake jerk release
( " ANB_Teilbremsung_Freigabe " , " ACC_10 " , 0 ) , # AEB partial braking release
( " ANB_Zielbremsung_Freigabe " , " ACC_10 " , 0 ) , # AEB target braking release
( " GRA_Hauptschalter " , " GRA_ACC_01 " , 0 ) , # ACC button, on/off
( " GRA_Abbrechen " , " GRA_ACC_01 " , 0 ) , # ACC button, cancel
( " GRA_Tip_Setzen " , " GRA_ACC_01 " , 0 ) , # ACC button, set
@ -211,31 +206,17 @@ class CarState(CarStateBase):
( " ESP_19 " , 100 ) , # From J104 ABS/ESP controller
( " ESP_05 " , 50 ) , # From J104 ABS/ESP controller
( " ESP_21 " , 50 ) , # From J104 ABS/ESP controller
( " ACC_10 " , 50 ) , # From J428 ACC radar control module
( " Motor_20 " , 50 ) , # From J623 Engine control module
( " TSK_06 " , 50 ) , # From J623 Engine control module
( " ESP_02 " , 50 ) ,
( " GRA_ACC_01 " , 33 ) , # From J??? steering wheel control buttons
( " ACC_02 " , 17 ) , # From J428 ACC radar control module
( " ESP_02 " , 50 ) , # From J104 ABS/ESP controller
( " GRA_ACC_01 " , 33 ) , # From J533 CAN gateway (via LIN from steering wheel controls)
( " Gateway_72 " , 10 ) , # From J533 CAN gateway (aggregated data)
( " Motor_14 " , 10 ) , # From J623 Engine control module
( " Airbag_02 " , 5 ) , # From J234 Airbag control module
( " Kombi_01 " , 2 ) , # From J285 Instrument cluster
( " Motor_16 " , 2 ) , # From J623 Engine control module
( " Einheiten_01 " , 1 ) , # From J??? not known if gateway, cluster, or BCM
]
if CP . enableBsm :
signals + = [
( " SWA_Infostufe_SWA_li " , " SWA_01 " , 0 ) , # Blind spot object info, left
( " SWA_Warnung_SWA_li " , " SWA_01 " , 0 ) , # Blind spot object warning, left
( " SWA_Infostufe_SWA_re " , " SWA_01 " , 0 ) , # Blind spot object info, right
( " SWA_Warnung_SWA_re " , " SWA_01 " , 0 ) , # Blind spot object warning, right
]
checks + = [
( " SWA_01 " , 20 ) ,
]
if CP . transmissionType == TransmissionType . automatic :
signals + = [ ( " GE_Fahrstufe " , " Getriebe_11 " , 0 ) ] # Auto trans gear selector position
checks + = [ ( " Getriebe_11 " , 20 ) ] # From J743 Auto transmission control module
@ -247,6 +228,14 @@ class CarState(CarStateBase):
( " BCM1_Rueckfahrlicht_Schalter " , " Gateway_72 " , 0 ) ] # Reverse light from BCM
checks + = [ ( " Motor_14 " , 10 ) ] # From J623 Engine control module
# TODO: Detect ACC radar bus location
signals + = MqbExtraSignals . fwd_radar_signals
checks + = MqbExtraSignals . fwd_radar_checks
# TODO: Detect BSM radar bus location
if CP . enableBsm :
signals + = MqbExtraSignals . bsm_radar_signals
checks + = MqbExtraSignals . bsm_radar_checks
return CANParser ( DBC [ CP . carFingerprint ] [ ' pt ' ] , signals , checks , CANBUS . pt )
@staticmethod
@ -267,3 +256,25 @@ class CarState(CarStateBase):
]
return CANParser ( DBC [ CP . carFingerprint ] [ ' pt ' ] , signals , checks , CANBUS . cam )
class MqbExtraSignals :
# Additional signal and message lists for optional or bus-portable controllers
fwd_radar_signals = [
( " ACC_Wunschgeschw " , " ACC_02 " , 0 ) , # ACC set speed
( " AWV2_Freigabe " , " ACC_10 " , 0 ) , # FCW brake jerk release
( " ANB_Teilbremsung_Freigabe " , " ACC_10 " , 0 ) , # AEB partial braking release
( " ANB_Zielbremsung_Freigabe " , " ACC_10 " , 0 ) , # AEB target braking release
]
fwd_radar_checks = [
( " ACC_10 " , 50 ) , # From J428 ACC radar control module
( " ACC_02 " , 17 ) , # From J428 ACC radar control module
]
bsm_radar_signals = [
( " SWA_Infostufe_SWA_li " , " SWA_01 " , 0 ) , # Blind spot object info, left
( " SWA_Warnung_SWA_li " , " SWA_01 " , 0 ) , # Blind spot object warning, left
( " SWA_Infostufe_SWA_re " , " SWA_01 " , 0 ) , # Blind spot object info, right
( " SWA_Warnung_SWA_re " , " SWA_01 " , 0 ) , # Blind spot object warning, right
]
bsm_radar_checks = [
( " SWA_01 " , 20 ) , # From J1086 Lane Change Assist
]