This commit is contained in:
Your Name
2024-05-04 01:47:00 -05:00
parent d79b78041d
commit 5f72cb370b
2 changed files with 9 additions and 1 deletions

View File

@@ -186,6 +186,7 @@ class CarController(CarControllerBase):
if use_clu11: if use_clu11:
if CC.cruiseControl.cancel: if CC.cruiseControl.cancel:
can_sends.append(hyundaican.create_clu11(self.packer, self.frame, CS.clu11, Buttons.CANCEL, self.CP)) 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: elif CC.cruiseControl.resume:
# send resume at a max freq of 10Hz # send resume at a max freq of 10Hz
if (self.frame - self.last_button_frame) * DT_CTRL > 0.1: 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: if self.CP.flags & HyundaiFlags.CANFD_ALT_BUTTONS:
can_sends.append(hyundaicanfd.create_acc_cancel(self.packer, self.CP, self.CAN, CS.cruise_info)) can_sends.append(hyundaicanfd.create_acc_cancel(self.packer, self.CP, self.CAN, CS.cruise_info))
self.last_button_frame = self.frame self.last_button_frame = self.frame
CS.lkas_trigger_result = 1
else: else:
for _ in range(20): for _ in range(20):
can_sends.append(hyundaicanfd.create_buttons(self.packer, self.CP, self.CAN, CS.buttons_counter+1, Buttons.CANCEL)) can_sends.append(hyundaicanfd.create_buttons(self.packer, self.CP, self.CAN, CS.buttons_counter+1, Buttons.CANCEL))
self.last_button_frame = self.frame self.last_button_frame = self.frame
CS.lkas_trigger_result = 2
# cruise standstill resume # cruise standstill resume
# elif CC.cruiseControl.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: if self.CP.flags & HyundaiFlags.CANFD_ALT_BUTTONS:
# TODO: resume for alt button cars # TODO: resume for alt button cars
CS.lkas_trigger_result = 3
pass pass
else: else:
for _ in range(20): for _ in range(20):
can_sends.append(hyundaicanfd.create_buttons(self.packer, self.CP, self.CAN, CS.buttons_counter+1, Buttons.RES_ACCEL)) 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 self.last_button_frame = self.frame
CS.lkas_trigger_result = 4
return can_sends return can_sends

View File

@@ -63,6 +63,7 @@ class CarState(CarStateBase):
self.fix_main_enabled_executed = False self.fix_main_enabled_executed = False
self.fix_main_enabled_cancel_main = False self.fix_main_enabled_cancel_main = False
self.lkas_was_pressed = False self.lkas_was_pressed = False
self.lkas_trigger_result = None
def calculate_speed_limit(self, cp, cp_cam): def calculate_speed_limit(self, cp, cp_cam):
if self.CP.carFingerprint in CANFD_CAR: if self.CP.carFingerprint in CANFD_CAR:
@@ -318,6 +319,7 @@ class CarState(CarStateBase):
print({"self.lkas_enabled": self.lkas_enabled}, sys.stderr) print({"self.lkas_enabled": self.lkas_enabled}, sys.stderr)
print({"lkas_enabled": lkas_enabled}, sys.stderr) print({"lkas_enabled": lkas_enabled}, sys.stderr)
print({"lkas_was_pressed": self.lkas_was_pressed}, 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: # notes on self:
# lkas_enabled = 1 = lkas button has been pressed # lkas_enabled = 1 = lkas button has been pressed
# prev_cruise_buttons = 0 (none), 1, 2 - up down # 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. # ret: cruiseState.speed > 0 = and cruiseState.enabled = false = idle cruise.
# press cruise to cancel it if not op engaged # press cruise to cancel it if not op engaged
self.params_memory.put_float("CarSpeedLimit", self.calculate_speed_limit(cp, cp_cam) * speed_factor) self.params_memory.put_float("CarSpeedLimit", self.calculate_speed_limit(cp, cp_cam) * speed_factor)
return ret return ret