Ford: detect missing LKAS from EPS configuration (#31821)

* debug: disable FW cache

* Ford: detect missing TJA/LCA config and disable LKAS

* set dashcamOnly

* revert

* clean up

* clean up

* some CAN FD do not have 0x01 block for PSCM

* bump cereal (fork)

* remove confusing comment

* add flags/event

* remove duplicate from events

* copy can be next pr

* dashcamOnly if no config comes back either (this shouldn't happen)

* flipped

* can do this

* Revert "can do this"

This reverts commit c3d311b2ff.

* Revert "flipped"

This reverts commit 75c01fb4c5.

* Revert "dashcamOnly if no config comes back either (this shouldn't happen)"

This reverts commit f82624a0eb.

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
pull/31301/head^2
Cameron Clough 1 year ago committed by GitHub
parent 406f30add4
commit 9f327aeb48
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 12
      selfdrive/car/ford/interface.py

@ -39,6 +39,18 @@ class CarInterface(CarInterfaceBase):
if ret.flags & FordFlags.CANFD: if ret.flags & FordFlags.CANFD:
ret.safetyConfigs[-1].safetyParam |= Panda.FLAG_FORD_CANFD ret.safetyConfigs[-1].safetyParam |= Panda.FLAG_FORD_CANFD
else:
# Lock out if the car does not have needed lateral and longitudinal control APIs.
# Note that we also check CAN for adaptive cruise, but no known signal for LCA exists
pscm_config = next((fw for fw in car_fw if fw.ecu == Ecu.eps and b'\x22\xDE\x01' in fw.request), None)
if pscm_config:
if len(pscm_config.response) != 24:
ret.dashcamOnly = True
else:
config_tja = pscm_config.response[7] # Traffic Jam Assist
config_lca = pscm_config.response[8] # Lane Centering Assist
if config_tja != 0xFF or config_lca != 0xFF:
ret.dashcamOnly = True
# Auto Transmission: 0x732 ECU or Gear_Shift_by_Wire_FD1 # Auto Transmission: 0x732 ECU or Gear_Shift_by_Wire_FD1
found_ecus = [fw.ecu for fw in car_fw] found_ecus = [fw.ecu for fw in car_fw]

Loading…
Cancel
Save