diff --git a/selfdrive/car/ford/values.py b/selfdrive/car/ford/values.py index c3ebb3edfa..64daeecba0 100644 --- a/selfdrive/car/ford/values.py +++ b/selfdrive/car/ford/values.py @@ -146,6 +146,8 @@ FW_QUERY_CONFIG = FwQueryConfig( bus=0, auxiliary=True, ), + ], + data_requests=[ # Ecu.abs: Wheel Base (response[0] & 0xF0), Payload (response[0] & 0xF), # Steering Gear (response[1] & 0b11), Cruise Control Mode (response[5] & 0xF) # Ecu.eps: Lane Keeping Aid (LKA) (response[6] & 0xFF), Traffic Jam Assist (TJA) (response[7] & 0xFF), @@ -154,56 +156,48 @@ FW_QUERY_CONFIG = FwQueryConfig( [StdQueries.TESTER_PRESENT_REQUEST, ford_asbuilt_block_request(1)], [StdQueries.TESTER_PRESENT_RESPONSE, ford_asbuilt_block_response(1)], whitelist_ecus=[Ecu.abs, Ecu.eps], - logging=True, ), # Ecu.abs: Stop and Go (response[0] & 0x80) Request( [StdQueries.TESTER_PRESENT_REQUEST, ford_asbuilt_block_request(2)], [StdQueries.TESTER_PRESENT_RESPONSE, ford_asbuilt_block_response(2)], whitelist_ecus=[Ecu.abs], - logging=True, ), # Ecu.debug: Wheel Base (response[4:6] & 0xFFFF) Request( [StdQueries.TESTER_PRESENT_REQUEST, ford_asbuilt_block_request(4)], [StdQueries.TESTER_PRESENT_RESPONSE, ford_asbuilt_block_response(4)], whitelist_ecus=[Ecu.debug], - logging=True, ), # Ecu.debug: Wheel Base (response[4:6] & 0xFFFF) Request( [StdQueries.TESTER_PRESENT_REQUEST, ford_asbuilt_block_request(5)], [StdQueries.TESTER_PRESENT_RESPONSE, ford_asbuilt_block_response(5)], whitelist_ecus=[Ecu.debug], - logging=True, ), # Ecu.debug: Vehicle Weight (response[0] & 0xFF) Request( [StdQueries.TESTER_PRESENT_REQUEST, ford_asbuilt_block_request(6)], [StdQueries.TESTER_PRESENT_RESPONSE, ford_asbuilt_block_response(6)], whitelist_ecus=[Ecu.debug], - logging=True, ), # Ecu.debug: Steering Gear Ratio (response[22] & 0x10) Request( [StdQueries.TESTER_PRESENT_REQUEST, ford_asbuilt_block_request(8)], [StdQueries.TESTER_PRESENT_RESPONSE, ford_asbuilt_block_response(8)], whitelist_ecus=[Ecu.debug], - logging=True, ), # Ecu.fwdCamera: VehicleCfg_SteeringRatio (response[1:3] & 0xFFF0) Request( [StdQueries.TESTER_PRESENT_REQUEST, ford_asbuilt_block_request(17)], [StdQueries.TESTER_PRESENT_RESPONSE, ford_asbuilt_block_response(17)], whitelist_ecus=[Ecu.fwdCamera], - logging=True, ), # Ecu.fwdCamera: VehicleCfg_Wheelbase (response[2:4] & 0xFFFF) Request( [StdQueries.TESTER_PRESENT_REQUEST, ford_asbuilt_block_request(20)], [StdQueries.TESTER_PRESENT_RESPONSE, ford_asbuilt_block_response(20)], whitelist_ecus=[Ecu.fwdCamera], - logging=True, ), ], extra_ecus=[ diff --git a/selfdrive/car/fw_query_definitions.py b/selfdrive/car/fw_query_definitions.py index 80492b4177..8abfc2bab2 100755 --- a/selfdrive/car/fw_query_definitions.py +++ b/selfdrive/car/fw_query_definitions.py @@ -87,6 +87,8 @@ class Request: @dataclass class FwQueryConfig: requests: list[Request] + # Additional requests for data collection after fingerprinting + data_requests: list[Request] = field(default_factory=list) # TODO: make this automatic and remove hardcoded lists, or do fingerprinting with ecus # Overrides and removes from essential ecus for specific models and ecus (exact matching) non_essential_ecus: dict[capnp.lib.capnp._EnumModule, list[str]] = field(default_factory=dict)