VAG A0 SnG - init

This commit is contained in:
Rick Lan
2025-03-31 14:15:19 +08:00
parent b31452416f
commit 8738e67314
8 changed files with 30 additions and 4 deletions
+1
View File
@@ -144,4 +144,5 @@ inline static std::unordered_map<std::string, uint32_t> keys = {
{"dp_device_auto_shutdown_in", PERSISTENT},
{"dp_ui_radar_tracks", PERSISTENT},
{"dp_device_ip", CLEAR_ON_MANAGER_START},
{"dp_vag_a0_sng", PERSISTENT},
};
+1
View File
@@ -22,4 +22,5 @@ CarParamsT = capnp.lib.capnp._StructModule
class DPFlags:
LateralALKA = 1
ExtRadar = 2
VagA0SnG = 2 ** 2
pass
@@ -111,11 +111,22 @@ class CarController(CarControllerBase):
lead_distance, hud_control.leadDistanceBars))
# **** Stock ACC Button Controls **************************************** #
if self.CP.flags & VolkswagenFlags.A0SnG:
if self.CP.pcmCruise and CS.gra_stock_values["COUNTER"] != self.gra_acc_counter_last:
standing_resume_spam = CS.out.standstill
spam_window = self.frame % 50 < 15
gra_send_ready = self.CP.pcmCruise and CS.gra_stock_values["COUNTER"] != self.gra_acc_counter_last
if gra_send_ready and (CC.cruiseControl.cancel or CC.cruiseControl.resume):
can_sends.append(self.CCS.create_acc_buttons_control(self.packer_pt, self.ext_bus, CS.gra_stock_values,
cancel=CC.cruiseControl.cancel, resume=CC.cruiseControl.resume))
send_cancel = CC.cruiseControl.cancel
send_resume = CC.cruiseControl.resume or (standing_resume_spam and spam_window)
if send_cancel or send_resume:
can_sends.append(self.CCS.create_acc_buttons_control(self.packer_pt, self.ext_bus, CS.gra_stock_values,
cancel=send_cancel, resume=send_resume))
else:
gra_send_ready = self.CP.pcmCruise and CS.gra_stock_values["COUNTER"] != self.gra_acc_counter_last
if gra_send_ready and (CC.cruiseControl.cancel or CC.cruiseControl.resume):
can_sends.append(self.CCS.create_acc_buttons_control(self.packer_pt, self.ext_bus, CS.gra_stock_values,
cancel=CC.cruiseControl.cancel, resume=CC.cruiseControl.resume))
new_actuators = actuators.as_builder()
new_actuators.torque = self.apply_torque_last / self.CCP.STEER_MAX
@@ -87,4 +87,7 @@ class CarInterface(CarInterfaceBase):
ret.vEgoStopping = 0.5
ret.autoResumeSng = ret.minEnableSpeed == -1
if dp_params & structs.DPFlags.VagA0SnG:
ret.flags |= VolkswagenFlags.A0SnG.value
return ret
@@ -144,6 +144,7 @@ class VolkswagenFlags(IntFlag):
# Static flags
PQ = 2
A0SnG = 2 ** 2
@dataclass
class VolkswagenMQBPlatformConfig(PlatformConfig):
+3
View File
@@ -105,6 +105,9 @@ class Car:
if self.params.get_bool("dp_lat_alka"):
dp_params |= structs.DPFlags.LateralALKA
if self.params.get_bool("dp_vag_a0_sng"):
dp_params |= structs.DPFlags.VagA0SnG
self.CI = get_car(*self.can_callbacks, obd_callback(self.params), alpha_long_allowed, is_release, num_pandas, dp_params, cached_params)
self.RI = interfaces[self.CI.CP.carFingerprint].RadarInterface(self.CI.CP)
self.CP = self.CI.CP
+5
View File
@@ -40,6 +40,11 @@ void DPPanel::add_vag_toggles() {
QString::fromUtf8("🐉 ") + tr("VW / Audi / Skoda"),
"",
},
{
"dp_vag_a0_sng",
tr("Enable MQB A0 SnG Mod"),
"",
},
};
QWidget *label = nullptr;
+1
View File
@@ -61,6 +61,7 @@ def manager_init() -> None:
("dp_lon_no_gas_gating", "0"),
("dp_device_auto_shutdown_in", "-5"),
("dp_ui_radar_tracks", "0"),
("dp_vag_a0_sng", "0"),
]
if params.get_bool("RecordFrontLock"):