Skip to content

Commit d16bb0a

Browse files
committed
Ford: detect reverse gear for manual transmision (commaai#24234)
1 parent 6ab6dcd commit d16bb0a

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

selfdrive/car/ford/carstate.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,8 +55,10 @@ def update(self, cp, cp_cam):
5555
ret.gearShifter = self.parse_gear_shifter(self.shifter_values.get(gear, None))
5656
elif self.CP.transmissionType == TransmissionType.manual:
5757
ret.clutchPressed = cp.vl["Engine_Clutch_Data"]["CluPdlPos_Pc_Meas"] > 0
58-
# TODO: find reverse light signal
59-
ret.gearShifter = GearShifter.drive
58+
if bool(cp.vl["BCM_Lamp_Stat_FD1"]["RvrseLghtOn_B_Stat"]):
59+
ret.gearShifter = GearShifter.reverse
60+
else:
61+
ret.gearShifter = GearShifter.drive
6062

6163
# safety
6264
ret.stockFcw = bool(cp_cam.vl["ACCDATA_3"]["FcwVisblWarn_B_Rq"])
@@ -148,9 +150,11 @@ def get_can_parser(CP):
148150
elif CP.transmissionType == TransmissionType.manual:
149151
signals += [
150152
("CluPdlPos_Pc_Meas", "Engine_Clutch_Data"), # PCM clutch (pct)
153+
("RvrseLghtOn_B_Stat", "BCM_Lamp_Stat_FD1"), # BCM reverse light
151154
]
152155
checks += [
153156
("Engine_Clutch_Data", 33),
157+
("BCM_Lamp_Stat_FD1", 1),
154158
]
155159

156160
if CP.enableBsm:

0 commit comments

Comments
 (0)