VW PQ: Cleanup and prep for upstream (#25351)
* VW MQB: Cleanup and abstractions * regen CARS.md * Update selfdrive/car/volkswagen/values.py Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com> * regen CARS.md * now that's a refactor of a different sort * move shifter value init/storage Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>pull/24768/head
parent
7e6f4e74bf
commit
3e3f960342
6 changed files with 121 additions and 127 deletions
@ -0,0 +1,38 @@ |
|||||||
|
def create_steering_control(packer, bus, apply_steer, lkas_enabled): |
||||||
|
values = { |
||||||
|
"SET_ME_0X3": 0x3, |
||||||
|
"Assist_Torque": abs(apply_steer), |
||||||
|
"Assist_Requested": lkas_enabled, |
||||||
|
"Assist_VZ": 1 if apply_steer < 0 else 0, |
||||||
|
"HCA_Available": 1, |
||||||
|
"HCA_Standby": not lkas_enabled, |
||||||
|
"HCA_Active": lkas_enabled, |
||||||
|
"SET_ME_0XFE": 0xFE, |
||||||
|
"SET_ME_0X07": 0x07, |
||||||
|
} |
||||||
|
return packer.make_can_msg("HCA_01", bus, values) |
||||||
|
|
||||||
|
|
||||||
|
def create_lka_hud_control(packer, bus, ldw_stock_values, enabled, steering_pressed, hud_alert, hud_control): |
||||||
|
values = ldw_stock_values.copy() |
||||||
|
|
||||||
|
values.update({ |
||||||
|
"LDW_Status_LED_gelb": 1 if enabled and steering_pressed else 0, |
||||||
|
"LDW_Status_LED_gruen": 1 if enabled and not steering_pressed else 0, |
||||||
|
"LDW_Lernmodus_links": 3 if hud_control.leftLaneDepart else 1 + hud_control.leftLaneVisible, |
||||||
|
"LDW_Lernmodus_rechts": 3 if hud_control.rightLaneDepart else 1 + hud_control.rightLaneVisible, |
||||||
|
"LDW_Texte": hud_alert, |
||||||
|
}) |
||||||
|
return packer.make_can_msg("LDW_02", bus, values) |
||||||
|
|
||||||
|
|
||||||
|
def create_acc_buttons_control(packer, bus, gra_stock_values, idx, cancel=False, resume=False): |
||||||
|
values = gra_stock_values.copy() |
||||||
|
|
||||||
|
values.update({ |
||||||
|
"COUNTER": idx, |
||||||
|
"GRA_Abbrechen": cancel, |
||||||
|
"GRA_Tip_Wiederaufnahme": resume, |
||||||
|
}) |
||||||
|
|
||||||
|
return packer.make_can_msg("GRA_ACC_01", bus, values) |
@ -1,42 +0,0 @@ |
|||||||
# CAN controls for MQB platform Volkswagen, Audi, Skoda, and SEAT. |
|
||||||
# PQ35/PQ46/NMS, and any future MLB, to come later. |
|
||||||
|
|
||||||
def create_mqb_steering_control(packer, bus, apply_steer, lkas_enabled): |
|
||||||
values = { |
|
||||||
"SET_ME_0X3": 0x3, |
|
||||||
"Assist_Torque": abs(apply_steer), |
|
||||||
"Assist_Requested": lkas_enabled, |
|
||||||
"Assist_VZ": 1 if apply_steer < 0 else 0, |
|
||||||
"HCA_Available": 1, |
|
||||||
"HCA_Standby": not lkas_enabled, |
|
||||||
"HCA_Active": lkas_enabled, |
|
||||||
"SET_ME_0XFE": 0xFE, |
|
||||||
"SET_ME_0X07": 0x07, |
|
||||||
} |
|
||||||
return packer.make_can_msg("HCA_01", bus, values) |
|
||||||
|
|
||||||
def create_mqb_hud_control(packer, bus, enabled, steering_pressed, hud_alert, left_lane_visible, right_lane_visible, |
|
||||||
ldw_stock_values, left_lane_depart, right_lane_depart): |
|
||||||
# Lane color reference: |
|
||||||
# 0 (LKAS disabled) - off |
|
||||||
# 1 (LKAS enabled, no lane detected) - dark gray |
|
||||||
# 2 (LKAS enabled, lane detected) - light gray on VW, green or white on Audi depending on year or virtual cockpit. On a color MFD on a 2015 A3 TDI it is white, virtual cockpit on a 2018 A3 e-Tron its green. |
|
||||||
# 3 (LKAS enabled, lane departure detected) - white on VW, red on Audi |
|
||||||
values = ldw_stock_values.copy() |
|
||||||
values.update({ |
|
||||||
"LDW_Status_LED_gelb": 1 if enabled and steering_pressed else 0, |
|
||||||
"LDW_Status_LED_gruen": 1 if enabled and not steering_pressed else 0, |
|
||||||
"LDW_Lernmodus_links": 3 if left_lane_depart else 1 + left_lane_visible, |
|
||||||
"LDW_Lernmodus_rechts": 3 if right_lane_depart else 1 + right_lane_visible, |
|
||||||
"LDW_Texte": hud_alert, |
|
||||||
}) |
|
||||||
return packer.make_can_msg("LDW_02", bus, values) |
|
||||||
|
|
||||||
def create_mqb_acc_buttons_control(packer, bus, gra_stock_values, idx, cancel=False, resume=False): |
|
||||||
values = gra_stock_values.copy() |
|
||||||
|
|
||||||
values["COUNTER"] = idx |
|
||||||
values["GRA_Abbrechen"] = cancel |
|
||||||
values["GRA_Tip_Wiederaufnahme"] = resume |
|
||||||
|
|
||||||
return packer.make_can_msg("GRA_ACC_01", bus, values) |
|
Loading…
Reference in new issue