diff --git a/panda b/panda index 36c62afa0c..6d19b46ef5 160000 --- a/panda +++ b/panda @@ -1 +1 @@ -Subproject commit 36c62afa0c170aa1b7a39bcae3316ffb844499e8 +Subproject commit 6d19b46ef525b0ae224e0bf7db71918e96f9be66 diff --git a/selfdrive/car/gm/carstate.py b/selfdrive/car/gm/carstate.py index 65ce2e3421..e6a1c08dda 100644 --- a/selfdrive/car/gm/carstate.py +++ b/selfdrive/car/gm/carstate.py @@ -28,10 +28,15 @@ class CarState(CarStateBase): 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.standstill = ret.vEgoRaw < 0.01 - 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.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.gasPressed = ret.gas > 1e-5 @@ -64,10 +69,6 @@ class CarState(CarStateBase): ret.espDisabled = pt_cp.vl["ESPStatus"]["TractionControlOn"] != 1 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.standstill = pt_cp.vl["AcceleratorPedal2"]["CruiseState"] == AccState.STANDSTILL @@ -101,7 +102,6 @@ class CarState(CarStateBase): ("TractionControlOn", "ESPStatus"), ("EPBClosed", "EPBStatus"), ("CruiseMainOn", "ECMEngineStatus"), - ("Brake_Pressed", "ECMEngineStatus"), ] checks = [