selfdrive.car.ford package

Submodules

selfdrive.car.ford.carcontroller module

class selfdrive.car.ford.carcontroller.CarController(dbc_name, CP, VM)[source]

Bases: object

update(CC, CS)[source]
selfdrive.car.ford.carcontroller.apply_ford_steer_angle_limits(apply_angle, apply_angle_last, vEgo)[source]

selfdrive.car.ford.carstate module

class selfdrive.car.ford.carstate.CarState(CP)[source]

Bases: CarStateBase

static get_cam_can_parser(CP)[source]
static get_can_parser(CP)[source]
update(cp, cp_cam)[source]

selfdrive.car.ford.fordcan module

selfdrive.car.ford.fordcan.create_acc_ui_command(packer, main_on: bool, enabled: bool, hud_control, stock_values: dict)[source]

Creates a CAN message for the Ford IPC adaptive cruise, forward collision warning and traffic jam assist status.

Stock functionality is maintained by passing through unmodified signals.

Frequency is 20Hz.

selfdrive.car.ford.fordcan.create_button_command(packer, stock_values: dict, cancel=False, resume=False, tja_toggle=False, bus=2)[source]

Creates a CAN message for the Ford SCCM buttons/switches.

Includes cruise control buttons, turn lights and more.

selfdrive.car.ford.fordcan.create_lka_command(packer, angle_deg: float, curvature: float)[source]

Creates a CAN message for the Ford LKAS Command.

This command can apply “Lane Keeping Aid” manoeuvres, which are subject to the PSCM lockout.

Frequency is 20Hz.

selfdrive.car.ford.fordcan.create_lkas_ui_command(packer, main_on: bool, enabled: bool, steer_alert: bool, hud_control, stock_values: dict)[source]

Creates a CAN message for the Ford IPC IPMA/LKAS status.

Show the LKAS status with the “driver assist” lines in the IPC.

Stock functionality is maintained by passing through unmodified signals.

Frequency is 1Hz.

selfdrive.car.ford.fordcan.create_tja_command(packer, lca_rq: int, ramp_type: int, precision: int, path_offset: float, path_angle: float, curvature_rate: float, curvature: float)[source]

Creates a CAN message for the Ford TJA/LCA Command.

This command can apply “Lane Centering” manoeuvres: continuous lane centering for traffic jam assist and highway driving. It is not subject to the PSCM lockout.

The PSCM should be configured to accept TJA/LCA commands before these commands will be processed. This can be done using tools such as Forscan.

Frequency is 20Hz.

selfdrive.car.ford.interface module

class selfdrive.car.ford.interface.CarInterface(CP, CarController, CarState)[source]

Bases: CarInterfaceBase

apply(c)[source]
static get_params(candidate, fingerprint={0: {}, 1: {}, 2: {}, 3: {}, 4: {}, 5: {}, 6: {}, 7: {}}, car_fw=None, experimental_long=False)[source]

selfdrive.car.ford.radar_interface module

class selfdrive.car.ford.radar_interface.RadarInterface(CP)[source]

Bases: RadarInterfaceBase

update(can_strings)[source]

selfdrive.car.ford.values module

class selfdrive.car.ford.values.AngleRateLimit(speed_points, max_angle_diff_points)

Bases: tuple

max_angle_diff_points

Alias for field number 1

speed_points

Alias for field number 0

class selfdrive.car.ford.values.CANBUS[source]

Bases: object

camera = 2
main = 0
radar = 1
class selfdrive.car.ford.values.CAR[source]

Bases: object

ESCAPE_MK4 = 'FORD ESCAPE 4TH GEN'
EXPLORER_MK6 = 'FORD EXPLORER 6TH GEN'
FOCUS_MK4 = 'FORD FOCUS 4TH GEN'
class selfdrive.car.ford.values.CarControllerParams[source]

Bases: object

ACC_UI_STEP = 5
LKAS_STEER_STEP = 5
LKAS_UI_STEP = 100
RATE_LIMIT_DOWN = AngleRateLimit(speed_points=[0.0, 5.0, 15.0], max_angle_diff_points=[5.0, 3.5, 0.4])
RATE_LIMIT_UP = AngleRateLimit(speed_points=[0.0, 5.0, 15.0], max_angle_diff_points=[5.0, 0.8, 0.15])
STEER_DRIVER_ALLOWANCE = 0.8
STEER_RATIO = 2.75
class selfdrive.car.ford.values.FordCarInfo(name: str, package: str = 'Co-Pilot360 Assist+', video_link: Union[str, NoneType] = None, footnotes: List[enum.Enum] = <factory>, min_steer_speed: Union[float, NoneType] = None, min_enable_speed: Union[float, NoneType] = None, harness: enum.Enum = <Harness.ford_q3: 'Ford Q3'>)[source]

Bases: CarInfo

harness: Enum = 'Ford Q3'
package: str = 'Co-Pilot360 Assist+'
class selfdrive.car.ford.values.RADAR[source]

Bases: object

DELPHI_ESR = 'ford_fusion_2018_adas'
DELPHI_MRR = 'FORD_CADS'

Module contents