diff --git a/common/params.cc b/common/params.cc index 77430ff73..910860002 100644 --- a/common/params.cc +++ b/common/params.cc @@ -218,6 +218,7 @@ std::unordered_map keys = { {"dp_alka", PERSISTENT}, {"dp_device_reset_conf", CLEAR_ON_MANAGER_START}, {"dp_device_ip_addr", PERSISTENT}, + {"dp_vag_sng", PERSISTENT}, }; } // namespace diff --git a/selfdrive/car/volkswagen/carcontroller.py b/selfdrive/car/volkswagen/carcontroller.py index a4e0c8946..6c8236038 100644 --- a/selfdrive/car/volkswagen/carcontroller.py +++ b/selfdrive/car/volkswagen/carcontroller.py @@ -7,6 +7,7 @@ from openpilot.selfdrive.car import apply_driver_steer_torque_limits from openpilot.selfdrive.car.interfaces import CarControllerBase from openpilot.selfdrive.car.volkswagen import mqbcan, pqcan from openpilot.selfdrive.car.volkswagen.values import CANBUS, CarControllerParams, VolkswagenFlags +from openpilot.common.params import Params VisualAlert = car.CarControl.HUDControl.VisualAlert LongCtrlState = car.CarControl.Actuators.LongControlState @@ -27,6 +28,9 @@ class CarController(CarControllerBase): self.hca_frame_timer_running = 0 self.hca_frame_same_torque = 0 + # dp + self.dp_vag_sng = Params().get("dp_vag_sng") + def update(self, CC, CS, now_nanos): actuators = CC.actuators hud_control = CC.hudControl @@ -107,9 +111,22 @@ class CarController(CarControllerBase): # **** Stock ACC Button Controls **************************************** # - 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, + if self.dp_vag_sng: + 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 + + 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: + # rick - un-touched + 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() diff --git a/system/manager/manager.py b/system/manager/manager.py index 12bab1dd1..f4d792b90 100755 --- a/system/manager/manager.py +++ b/system/manager/manager.py @@ -50,6 +50,7 @@ def manager_init() -> None: ("dp_nav_full_screen", "0"), ("dp_alka", "0"), ("dp_device_ip_addr", ""), + ("dp_vag_sng", "0"), ] if not PC: default_params.append(("LastUpdateTime", datetime.datetime.now(datetime.UTC).replace(tzinfo=None).isoformat().encode('utf8'))) diff --git a/system/sentry.py b/system/sentry.py index 5f4772fa7..6b41e72fd 100644 --- a/system/sentry.py +++ b/system/sentry.py @@ -12,9 +12,9 @@ from openpilot.system.version import get_build_metadata, get_version class SentryProject(Enum): # python project - SELFDRIVE = "https://6f3c7076c1e14b2aa10f5dde6dda0cc4@o33823.ingest.sentry.io/77924" + SELFDRIVE = "https://980a0cba712a4c3593c33c78a12446e1@o273754.ingest.sentry.io/1488600" # native project - SELFDRIVE_NATIVE = "https://3e4b586ed21a4479ad5d85083b639bc6@o33823.ingest.sentry.io/157615" + SELFDRIVE_NATIVE = "https://980a0cba712a4c3593c33c78a12446e1@o273754.ingest.sentry.io/1488600" def report_tombstone(fn: str, message: str, contents: str) -> None: