From 86173bee9a0ee97d142aaa6db2c08fbced8e4af7 Mon Sep 17 00:00:00 2001 From: Shane Smiskol Date: Mon, 2 Jun 2025 16:05:33 -0700 Subject: [PATCH] log --- opendbc/car/car.capnp | 1 + opendbc/car/ford/interface.py | 3 +++ opendbc/car/hyundai/interface.py | 6 ++++-- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/opendbc/car/car.capnp b/opendbc/car/car.capnp index 6df7f668e..fa9482f6d 100644 --- a/opendbc/car/car.capnp +++ b/opendbc/car/car.capnp @@ -520,6 +520,7 @@ struct CarParams { openpilotLongitudinalControl @37 :Bool; # is openpilot doing the longitudinal control? carVin @38 :Text; # VIN number queried during fingerprinting dashcamOnly @41: Bool; + dashcamReason @78: Text; passive @73: Bool; # is openpilot in control? transmissionType @43 :TransmissionType; carFw @44 :List(CarFw); diff --git a/opendbc/car/ford/interface.py b/opendbc/car/ford/interface.py index 97685df58..bd800a604 100644 --- a/opendbc/car/ford/interface.py +++ b/opendbc/car/ford/interface.py @@ -62,6 +62,7 @@ class CarInterface(CarInterfaceBase): if len(fingerprint[CAN.camera]): if fingerprint[CAN.camera].get(0x3d6) != 8 or fingerprint[CAN.camera].get(0x186) != 8: carlog.error('dashcamOnly: SecOC is unsupported') + ret.dashcamReason = 'SecOC is unsupported' ret.dashcamOnly = True else: # Lock out if the car does not have needed lateral and longitudinal control APIs. @@ -70,12 +71,14 @@ class CarInterface(CarInterfaceBase): if pscm_config: if len(pscm_config.fwVersion) != 24: carlog.error('dashcamOnly: Invalid EPS FW version') + ret.dashcamReason = 'Invalid EPS FW version' ret.dashcamOnly = True else: config_tja = pscm_config.fwVersion[7] # Traffic Jam Assist config_lca = pscm_config.fwVersion[8] # Lane Centering Assist if config_tja != 0xFF or config_lca != 0xFF: carlog.error('dashcamOnly: Car lacks required lateral control APIs') + ret.dashcamReason = 'Car lacks required lateral control APIs' ret.dashcamOnly = True # Auto Transmission: 0x732 ECU or Gear_Shift_by_Wire_FD1 diff --git a/opendbc/car/hyundai/interface.py b/opendbc/car/hyundai/interface.py index 73e8179cc..e31388854 100644 --- a/opendbc/car/hyundai/interface.py +++ b/opendbc/car/hyundai/interface.py @@ -61,8 +61,10 @@ class CarInterface(CarInterfaceBase): ret.flags |= HyundaiFlags.CANFD_CAMERA_SCC.value # sanity check SCC_CONTROL isn't on E-CAN (powertrain bus) - carlog.error('dashcamOnly: invalid CAN topology. Incorrect harness?') - ret.dashcamOnly = 0x1a0 in fingerprint[CAN.ECAN] + if 0x1a0 in fingerprint[CAN.ECAN]: + carlog.error('dashcamOnly: invalid CAN topology. Incorrect harness?') + ret.dashcamReason = 'Possibly incorrect harness variant' + ret.dashcamOnly = True # Some LKA steering cars have alternative messages for gear checks # ICE cars do not have 0x130; GEARS message on 0x40 or 0x70 instead