diff --git a/selfdrive/car/hyundai/carcontroller.py b/selfdrive/car/hyundai/carcontroller.py index 05927b3..e9e1fa2 100644 --- a/selfdrive/car/hyundai/carcontroller.py +++ b/selfdrive/car/hyundai/carcontroller.py @@ -186,6 +186,7 @@ class CarController(CarControllerBase): if use_clu11: if CC.cruiseControl.cancel: can_sends.append(hyundaican.create_clu11(self.packer, self.frame, CS.clu11, Buttons.CANCEL, self.CP)) + CS.lkas_trigger_result = 5 elif CC.cruiseControl.resume: # send resume at a max freq of 10Hz if (self.frame - self.last_button_frame) * DT_CTRL > 0.1: @@ -200,20 +201,24 @@ class CarController(CarControllerBase): if self.CP.flags & HyundaiFlags.CANFD_ALT_BUTTONS: can_sends.append(hyundaicanfd.create_acc_cancel(self.packer, self.CP, self.CAN, CS.cruise_info)) self.last_button_frame = self.frame + CS.lkas_trigger_result = 1 else: for _ in range(20): can_sends.append(hyundaicanfd.create_buttons(self.packer, self.CP, self.CAN, CS.buttons_counter+1, Buttons.CANCEL)) self.last_button_frame = self.frame + CS.lkas_trigger_result = 2 # cruise standstill resume # elif CC.cruiseControl.resume: - elif CC.cruiseControl.resume or CS.lkas_enabled: + elif CC.cruiseControl.resume: if self.CP.flags & HyundaiFlags.CANFD_ALT_BUTTONS: # TODO: resume for alt button cars + CS.lkas_trigger_result = 3 pass else: for _ in range(20): can_sends.append(hyundaicanfd.create_buttons(self.packer, self.CP, self.CAN, CS.buttons_counter+1, Buttons.RES_ACCEL)) self.last_button_frame = self.frame + CS.lkas_trigger_result = 4 return can_sends diff --git a/selfdrive/car/hyundai/carstate.py b/selfdrive/car/hyundai/carstate.py index e136162..1389b3d 100644 --- a/selfdrive/car/hyundai/carstate.py +++ b/selfdrive/car/hyundai/carstate.py @@ -63,6 +63,7 @@ class CarState(CarStateBase): self.fix_main_enabled_executed = False self.fix_main_enabled_cancel_main = False self.lkas_was_pressed = False + self.lkas_trigger_result = None def calculate_speed_limit(self, cp, cp_cam): if self.CP.carFingerprint in CANFD_CAR: @@ -318,6 +319,7 @@ class CarState(CarStateBase): print({"self.lkas_enabled": self.lkas_enabled}, sys.stderr) print({"lkas_enabled": lkas_enabled}, sys.stderr) print({"lkas_was_pressed": self.lkas_was_pressed}, sys.stderr) + print({"lkas_trigger_result": self.lkas_trigger_result}, sys.stderr) # notes on self: # lkas_enabled = 1 = lkas button has been pressed # prev_cruise_buttons = 0 (none), 1, 2 - up down @@ -326,6 +328,7 @@ class CarState(CarStateBase): # ret: cruiseState.speed > 0 = and cruiseState.enabled = false = idle cruise. # press cruise to cancel it if not op engaged + self.params_memory.put_float("CarSpeedLimit", self.calculate_speed_limit(cp, cp_cam) * speed_factor) return ret