@ -28,10 +28,15 @@ class CarState(CarStateBase):
ret . vEgoRaw = mean ( [ ret . wheelSpeeds . fl , ret . wheelSpeeds . fr , ret . wheelSpeeds . rl , ret . wheelSpeeds . rr ] )
ret . vEgoRaw = mean ( [ ret . wheelSpeeds . fl , ret . wheelSpeeds . fr , ret . wheelSpeeds . rl , ret . wheelSpeeds . rr ] )
ret . vEgo , ret . aEgo = self . update_speed_kf ( ret . vEgoRaw )
ret . vEgo , ret . aEgo = self . update_speed_kf ( ret . vEgoRaw )
ret . standstill = ret . vEgoRaw < 0.01
ret . standstill = ret . vEgoRaw < 0.01
ret . gearShifter = self . parse_gear_shifter ( self . shifter_values . get ( pt_cp . vl [ " ECMPRDNL " ] [ " PRNDL " ] , None ) )
ret . gearShifter = self . parse_gear_shifter ( self . shifter_values . get ( pt_cp . vl [ " ECMPRDNL " ] [ " PRNDL " ] , None ) )
ret . brakePressed = pt_cp . vl [ " ECMEngineStatus " ] [ " Brake_Pressed " ] != 0
# Brake pedal's potentiometer returns near-zero reading even when pedal is not pressed.
ret . brake = pt_cp . vl [ " EBCMBrakePedalPosition " ] [ " BrakePedalPosition " ] / 0xd0
ret . brake = pt_cp . vl [ " EBCMBrakePedalPosition " ] [ " BrakePedalPosition " ] / 0xd0
ret . brakePressed = pt_cp . vl [ " EBCMBrakePedalPosition " ] [ " BrakePedalPosition " ] > = 10
# Regen braking is braking
if self . car_fingerprint == CAR . VOLT :
ret . brakePressed = ret . brakePressed or pt_cp . vl [ " EBCMRegenPaddle " ] [ " RegenPaddle " ] != 0
ret . gas = pt_cp . vl [ " AcceleratorPedal2 " ] [ " AcceleratorPedal2 " ] / 254.
ret . gas = pt_cp . vl [ " AcceleratorPedal2 " ] [ " AcceleratorPedal2 " ] / 254.
ret . gasPressed = ret . gas > 1e-5
ret . gasPressed = ret . gas > 1e-5
@ -64,10 +69,6 @@ class CarState(CarStateBase):
ret . espDisabled = pt_cp . vl [ " ESPStatus " ] [ " TractionControlOn " ] != 1
ret . espDisabled = pt_cp . vl [ " ESPStatus " ] [ " TractionControlOn " ] != 1
ret . accFaulted = pt_cp . vl [ " AcceleratorPedal2 " ] [ " CruiseState " ] == AccState . FAULTED
ret . accFaulted = pt_cp . vl [ " AcceleratorPedal2 " ] [ " CruiseState " ] == AccState . FAULTED
# Regen braking is braking
if self . car_fingerprint == CAR . VOLT :
ret . brakePressed = ret . brakePressed or pt_cp . vl [ " EBCMRegenPaddle " ] [ " RegenPaddle " ] != 0
ret . cruiseState . enabled = pt_cp . vl [ " AcceleratorPedal2 " ] [ " CruiseState " ] != AccState . OFF
ret . cruiseState . enabled = pt_cp . vl [ " AcceleratorPedal2 " ] [ " CruiseState " ] != AccState . OFF
ret . cruiseState . standstill = pt_cp . vl [ " AcceleratorPedal2 " ] [ " CruiseState " ] == AccState . STANDSTILL
ret . cruiseState . standstill = pt_cp . vl [ " AcceleratorPedal2 " ] [ " CruiseState " ] == AccState . STANDSTILL
@ -101,7 +102,6 @@ class CarState(CarStateBase):
( " TractionControlOn " , " ESPStatus " ) ,
( " TractionControlOn " , " ESPStatus " ) ,
( " EPBClosed " , " EPBStatus " ) ,
( " EPBClosed " , " EPBStatus " ) ,
( " CruiseMainOn " , " ECMEngineStatus " ) ,
( " CruiseMainOn " , " ECMEngineStatus " ) ,
( " Brake_Pressed " , " ECMEngineStatus " ) ,
]
]
checks = [
checks = [