selfdrive.car.volkswagen package

Submodules

selfdrive.car.volkswagen.carcontroller module

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

Bases: CarControllerBase

update(CC, CS, now_nanos)[source]

selfdrive.car.volkswagen.carstate module

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

Bases: CarStateBase

create_button_events(pt_cp, buttons)[source]
static get_cam_can_parser(CP)[source]
static get_cam_can_parser_pq(CP)[source]
static get_can_parser(CP)[source]
static get_can_parser_pq(CP)[source]
update(pt_cp, cam_cp, ext_cp, trans_type)[source]
update_hca_state(hca_status)[source]
update_pq(pt_cp, cam_cp, ext_cp, trans_type)[source]
class selfdrive.car.volkswagen.carstate.MqbExtraSignals[source]

Bases: object

bsm_radar_messages = [('SWA_01', 20)]
fwd_radar_messages = [('ACC_06', 50), ('ACC_10', 50), ('ACC_02', 17)]
class selfdrive.car.volkswagen.carstate.PqExtraSignals[source]

Bases: object

bsm_radar_messages = [('SWA_1', 20)]
fwd_radar_messages = [('ACC_System', 50), ('ACC_GRA_Anzeige', 25)]

selfdrive.car.volkswagen.fingerprints module

selfdrive.car.volkswagen.interface module

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

Bases: CarInterfaceBase

selfdrive.car.volkswagen.mqbcan module

selfdrive.car.volkswagen.mqbcan.acc_control_value(main_switch_on, acc_faulted, long_active)[source]
selfdrive.car.volkswagen.mqbcan.acc_hud_status_value(main_switch_on, acc_faulted, long_active)[source]
selfdrive.car.volkswagen.mqbcan.create_acc_accel_control(packer, bus, acc_type, acc_enabled, accel, acc_control, stopping, starting, esp_hold)[source]
selfdrive.car.volkswagen.mqbcan.create_acc_buttons_control(packer, bus, gra_stock_values, cancel=False, resume=False)[source]
selfdrive.car.volkswagen.mqbcan.create_acc_hud_control(packer, bus, acc_hud_status, set_speed, lead_distance, distance)[source]
selfdrive.car.volkswagen.mqbcan.create_eps_update(packer, bus, eps_stock_values, ea_simulated_torque)[source]
selfdrive.car.volkswagen.mqbcan.create_lka_hud_control(packer, bus, ldw_stock_values, lat_active, steering_pressed, hud_alert, hud_control)[source]
selfdrive.car.volkswagen.mqbcan.create_steering_control(packer, bus, apply_steer, lkas_enabled)[source]

selfdrive.car.volkswagen.pqcan module

selfdrive.car.volkswagen.pqcan.acc_control_value(main_switch_on, acc_faulted, long_active)[source]
selfdrive.car.volkswagen.pqcan.acc_hud_status_value(main_switch_on, acc_faulted, long_active)[source]
selfdrive.car.volkswagen.pqcan.create_acc_accel_control(packer, bus, acc_type, acc_enabled, accel, acc_control, stopping, starting, esp_hold)[source]
selfdrive.car.volkswagen.pqcan.create_acc_buttons_control(packer, bus, gra_stock_values, cancel=False, resume=False)[source]
selfdrive.car.volkswagen.pqcan.create_acc_hud_control(packer, bus, acc_hud_status, set_speed, lead_distance, distance)[source]
selfdrive.car.volkswagen.pqcan.create_lka_hud_control(packer, bus, ldw_stock_values, lat_active, steering_pressed, hud_alert, hud_control)[source]
selfdrive.car.volkswagen.pqcan.create_steering_control(packer, bus, apply_steer, lkas_enabled)[source]

selfdrive.car.volkswagen.radar_interface module

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

Bases: RadarInterfaceBase

selfdrive.car.volkswagen.values module

class selfdrive.car.volkswagen.values.Button(event_type, can_addr, can_msg, values)

Bases: tuple

can_addr

Alias for field number 1

can_msg

Alias for field number 2

event_type

Alias for field number 0

values

Alias for field number 3

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

Bases: object

cam = 2
pt = 0
class selfdrive.car.volkswagen.values.CAR(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)[source]

Bases: Platforms

AUDI_A3_MK3 = 'AUDI_A3_MK3'
AUDI_Q2_MK1 = 'AUDI_Q2_MK1'
AUDI_Q3_MK2 = 'AUDI_Q3_MK2'
SEAT_ATECA_MK1 = 'SEAT_ATECA_MK1'
SKODA_FABIA_MK4 = 'SKODA_FABIA_MK4'
SKODA_KAMIQ_MK1 = 'SKODA_KAMIQ_MK1'
SKODA_KAROQ_MK1 = 'SKODA_KAROQ_MK1'
SKODA_KODIAQ_MK1 = 'SKODA_KODIAQ_MK1'
SKODA_OCTAVIA_MK3 = 'SKODA_OCTAVIA_MK3'
SKODA_SUPERB_MK3 = 'SKODA_SUPERB_MK3'
VOLKSWAGEN_ARTEON_MK1 = 'VOLKSWAGEN_ARTEON_MK1'
VOLKSWAGEN_ATLAS_MK1 = 'VOLKSWAGEN_ATLAS_MK1'
VOLKSWAGEN_CADDY_MK3 = 'VOLKSWAGEN_CADDY_MK3'
VOLKSWAGEN_CRAFTER_MK2 = 'VOLKSWAGEN_CRAFTER_MK2'
VOLKSWAGEN_GOLF_MK7 = 'VOLKSWAGEN_GOLF_MK7'
VOLKSWAGEN_JETTA_MK7 = 'VOLKSWAGEN_JETTA_MK7'
VOLKSWAGEN_PASSAT_MK8 = 'VOLKSWAGEN_PASSAT_MK8'
VOLKSWAGEN_PASSAT_NMS = 'VOLKSWAGEN_PASSAT_NMS'
VOLKSWAGEN_POLO_MK6 = 'VOLKSWAGEN_POLO_MK6'
VOLKSWAGEN_SHARAN_MK2 = 'VOLKSWAGEN_SHARAN_MK2'
VOLKSWAGEN_TAOS_MK1 = 'VOLKSWAGEN_TAOS_MK1'
VOLKSWAGEN_TCROSS_MK1 = 'VOLKSWAGEN_TCROSS_MK1'
VOLKSWAGEN_TIGUAN_MK2 = 'VOLKSWAGEN_TIGUAN_MK2'
VOLKSWAGEN_TOURAN_MK2 = 'VOLKSWAGEN_TOURAN_MK2'
VOLKSWAGEN_TRANSPORTER_T61 = 'VOLKSWAGEN_TRANSPORTER_T61'
VOLKSWAGEN_TROC_MK1 = 'VOLKSWAGEN_TROC_MK1'
config: VolkswagenMQBPlatformConfig | VolkswagenPQPlatformConfig
class selfdrive.car.volkswagen.values.CarControllerParams(CP)[source]

Bases: object

ACCEL_MAX = 2.0
ACCEL_MIN = -3.5
ACC_CONTROL_STEP = 2
STEER_DRIVER_FACTOR = 1
STEER_DRIVER_MULTIPLIER = 3
STEER_MAX = 300
STEER_STEP = 2
STEER_TIME_ALERT = 350
STEER_TIME_MAX = 360
STEER_TIME_STUCK_TORQUE = 1.9
class selfdrive.car.volkswagen.values.Footnote(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)[source]

Bases: Enum

KAMIQ = ('Not including the China market Kamiq, which is based on the (currently) unsupported PQ34 platform.', Column.MODEL, False, False)
PASSAT = ('Refers only to the MQB-based European B8 Passat, not the NMS Passat in the USA/China/Mideast markets.', Column.MODEL, False, False)
SKODA_HEATED_WINDSHIELD = ('Some Škoda vehicles are equipped with heated windshields, which are known to block GPS signal needed for some comma 3X functionality.', Column.MODEL, False, False)
VW_EXP_LONG = ('Only available for vehicles using a gateway (J533) harness. At this time, vehicles using a camera harness are limited to using stock ACC.', Column.LONGITUDINAL, False, False)
VW_MQB_A0 = ("Model-years 2022 and beyond may have a combined CAN gateway and BCM, which is supported by openpilot in software, but doesn't yet have a harness available from the comma store.", Column.HARDWARE, False, False)
class selfdrive.car.volkswagen.values.VWCarDocs(name: str, package: str = 'Adaptive Cruise Control (ACC) & Lane Assist', requirements: str | None = None, video_link: str | None = None, footnotes: list[enum.Enum] = <factory>, min_steer_speed: float | None = None, min_enable_speed: float | None = None, auto_resume: bool | None = None, car_parts: openpilot.selfdrive.car.docs_definitions.CarParts = <factory>)[source]

Bases: CarDocs

car_parts: CarParts
init_make(CP: <capnp.lib.capnp._StructModule object at 0x7fa976223f50>)[source]

CarDocs subclasses can add make-specific logic for harness selection, footnotes, etc.

package: str = 'Adaptive Cruise Control (ACC) & Lane Assist'
class selfdrive.car.volkswagen.values.VolkswagenCarSpecs(*, mass: float, wheelbase: float, steerRatio: float = 15.6, centerToFrontRatio: float = 0.45, minSteerSpeed: float = 0.0, minEnableSpeed: float = -1.0, tireStiffnessFactor: float = 1.0)[source]

Bases: CarSpecs

centerToFrontRatio: float = 0.45
steerRatio: float = 15.6
class selfdrive.car.volkswagen.values.VolkswagenFlags(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)[source]

Bases: IntFlag

PQ = 2
STOCK_HCA_PRESENT = 1
class selfdrive.car.volkswagen.values.VolkswagenMQBPlatformConfig(car_docs: list[openpilot.selfdrive.car.docs_definitions.CarDocs], specs: openpilot.selfdrive.car.CarSpecs, dbc_dict: dict[str, str] = <factory>, flags: int = 0, platform_str: str | None = None, chassis_codes: set[str] = <factory>, wmis: set[selfdrive.car.volkswagen.values.WMI] = <factory>)[source]

Bases: PlatformConfig

chassis_codes: set[str]
dbc_dict: dict[str, str]
wmis: set[WMI]
class selfdrive.car.volkswagen.values.VolkswagenPQPlatformConfig(car_docs: list[openpilot.selfdrive.car.docs_definitions.CarDocs], specs: openpilot.selfdrive.car.CarSpecs, dbc_dict: dict[str, str] = <factory>, flags: int = 0, platform_str: str | None = None, chassis_codes: set[str] = <factory>, wmis: set[selfdrive.car.volkswagen.values.WMI] = <factory>)[source]

Bases: VolkswagenMQBPlatformConfig

dbc_dict: dict[str, str]
init()[source]
class selfdrive.car.volkswagen.values.WMI(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)[source]

Bases: StrEnum

AUDI_EUROPE_MPV = 'WA1'
AUDI_GERMANY_CAR = 'WAU'
AUDI_SPORT = 'WUA'
MAN = 'WMA'
SAIC_VOLKSWAGEN = 'LSV'
SEAT = 'VSS'
SKODA = 'TMB'
VOLKSWAGEN_ARGENTINA = '8AW'
VOLKSWAGEN_BRASIL = '9BW'
VOLKSWAGEN_COMMERCIAL = 'WV1'
VOLKSWAGEN_COMMERCIAL_BUS_VAN = 'WV2'
VOLKSWAGEN_EUROPE_CAR = 'WVW'
VOLKSWAGEN_EUROPE_SUV = 'WVG'
VOLKSWAGEN_GROUP_RUS = 'XW8'
VOLKSWAGEN_MEXICO_CAR = '3VW'
VOLKSWAGEN_MEXICO_SUV = '3VV'
VOLKSWAGEN_USA_CAR = '1VW'
VOLKSWAGEN_USA_SUV = '1V2'
selfdrive.car.volkswagen.values.match_fw_to_car_fuzzy(live_fw_versions, vin, offline_fw_versions) set[str][source]

Module contents