FwQueryConfig: add data_requests

pull/31569/head
Cameron Clough 1 year ago
parent fe9e729675
commit dc5484a9b8
  1. 10
      selfdrive/car/ford/values.py
  2. 2
      selfdrive/car/fw_query_definitions.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=[

@ -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)

Loading…
Cancel
Save