This commit is contained in:
Your Name
2024-06-09 16:09:02 -05:00
27 changed files with 650 additions and 984 deletions

View File

@@ -133,10 +133,23 @@ class CarController(CarControllerBase):
can_sends.extend(hyundaicanfd.create_spas_messages(self.packer, self.CAN, self.frame, CC.leftBlinker, CC.rightBlinker))
# params_memory = Params("/dev/shm/params")
<<<<<<< HEAD
# if params_memory.get_bool("CPTLkasButtonAction"):
# if self.frame % 10 == 0:
# for _ in range(20):
# can_sends.append(hyundaicanfd.create_buttons_alt(self.packer, self.CP, self.CAN, CS.buttons_counter+1, Buttons.SET_DECEL))
=======
params_memory = Params("/dev/shm/params")
if params_memory.get_bool("CPTLkasButtonAction"):
if self.frame % 2 == 0:
can_sends.append(hyundaicanfd.create_acc_control_alt(self.packer, self.CAN, CC.enabled, self.accel_last, accel, stopping, CC.cruiseControl.override,
set_speed_in_units, hud_control))
self.accel_last = accel
# if self.frame % 10 == 0:
# for _ in range(20):
# can_sends.append(hyundaicanfd.create_buttons_alt(self.packer, self.CP, self.CAN, CS.buttons_counter+1, Buttons.SET_DECEL, CS.cruise_can_msg))
# print("Decel")
>>>>>>> 7f63e516586dc709ea1f6246e5a3c51dda5c7bab
# can_sends.extend(hyundaicanfd.create_adrv_messages(self.packer, self.CAN, self.frame))
# can_sends.append(hyundaicanfd.create_acc_set_speed(self.packer, self.CP, self.CAN, CS.cruise_info, 50))
# can_sends.append(hyundaicanfd.create_acc_cancel(self.packer, self.CP, self.CAN, CS.cruise_info))
@@ -223,7 +236,12 @@ class CarController(CarControllerBase):
# pass
# can_sends.append(hyundaicanfd.create_acc_cancel(self.packer, self.CP, self.CAN, CS.cruise_info))
# for _ in range(20):
<<<<<<< HEAD
# can_sends.append(hyundaicanfd.create_buttons_alt(self.packer, self.CP, self.CAN, CS.buttons_counter+1, Buttons.CANCEL))
=======
# if CS.cruise_can_msg:
# can_sends.append(hyundaicanfd.create_buttons_alt(self.packer, self.CP, self.CAN, CS.buttons_counter+1, Buttons.CANCEL, CS.cruise_can_msg))
>>>>>>> 7f63e516586dc709ea1f6246e5a3c51dda5c7bab
# print("Try Cancel Button Alt")
self.last_button_frame = self.frame
CS.lkas_trigger_result = 1

View File

@@ -211,6 +211,8 @@ class CarState(CarStateBase):
# self.params_memory.put_int("CarSpeedLimitLiteral", self.calculate_speed_limit(cp, cp_cam))
self.params_memory.put_float("CarSpeedLimit", self.calculate_speed_limit(cp, cp_cam) * speed_conv)
self.params_memory.put_float("CarCruiseDisplayActual", cp_cruise.vl["SCC11"]["VSetDis"])
return ret
@@ -288,6 +290,7 @@ class CarState(CarStateBase):
ret.cruiseState.nonAdaptive = cp.vl["MANUAL_SPEED_LIMIT_ASSIST"]["MSLA_ENABLED"] == 1
self.cruise_can_msg = copy.copy(cp.vl_all[self.cruise_btns_msg_canfd])
# print(self.cruise_can_msg)
self.prev_cruise_buttons = self.cruise_buttons[-1]
self.cruise_buttons.extend(cp.vl_all[self.cruise_btns_msg_canfd]["CRUISE_BUTTONS"])

View File

@@ -88,18 +88,90 @@ def create_buttons(packer, CP, CAN, cnt, btn):
bus = CAN.ECAN if CP.flags & HyundaiFlags.CANFD_HDA2 else CAN.CAM
return packer.make_can_msg("CRUISE_BUTTONS", bus, values)
def create_buttons_alt(packer, CP, CAN, cnt, btn):
# null
# {'CHECKSUM': [], 'COUNTER': [], 'NEW_SIGNAL_1': [], 'SET_ME_1': [], 'DISTANCE_UNIT': [],
# 'NEW_SIGNAL_2': [], 'ADAPT
# IVE_CRUISE_MAIN_BTN': [], 'NEW_SIGNAL_3': [], 'LFA_BTN': [], 'CRUISE_BUTTONS': [],
# 'NEW_SIGNAL_4': [], 'NORMAL_CRUI
# SE_MAIN_BTN': [], 'NEW_SIGNAL_5': [], 'SET_ME_2': [], 'NEW_SIGNAL_6': [], 'BYTE6': [],
# 'BYTE7': [], 'BYTE8': [], 'B
# YTE9': [], 'BYTE10': [], 'BYTE11': [], 'BYTE12': [], 'BYTE13': [], 'BYTE14': [],
# 'BYTE15': []}
# holding down up button
# {'CHECKSUM': [5774.0], 'COUNTER': [63.0], 'NEW_SIGNAL_1': [0.0], 'SET_ME_1':
# [0.0], 'DISTANCE_UNIT': [1.0], 'NEW_SIGNAL_2': [4.0], 'ADAPTIVE_CRUISE_MAIN_BTN':
# [0.0], 'NEW_SIGNAL_3': [0.0], 'LFA_BTN': [0.0], 'CRUISE_BUTTONS': [1.0],
# 'NEW_SIGNAL_4': [0.0], 'NORMAL_CRUISE_MAIN_BTN': [0.0], 'NEW_SIGNAL_5': [0.0],
# 'SET_ME_2': [2.0], 'NEW_SIGNAL_6': [1.0], 'BYTE6': [32.0], 'BYTE7': [0.0],
# 'BYTE8': [26.0], 'BYTE9': [0.0], 'BYTE10': [0.0], 'BYTE11': [0.0], 'BYTE12':
# [0.0], 'BYTE13': [0.0], 'BYTE14': [0.0], 'BYTE15': [0.0]}
# {'CHECKSUM': [14783.0], 'COUNTER': [150.0], 'NEW_SIGNAL_1': [0.0],
# 'SET_ME_1': [0.0], 'DISTANCE_UNIT': [1.0], 'NEW_
# SIGNAL_2': [6.0], 'ADAPTIVE_CRUISE_MAIN_BTN': [0.0], 'NEW_SIGNAL_3': [0.0],
# 'LFA_BTN': [0.0], 'CRUISE_BUTTONS': [1.
# 0], 'NEW_SIGNAL_4': [0.0], 'NORMAL_CRUISE_MAIN_BTN': [0.0], 'NEW_SIGNAL_5':
# [0.0], 'SET_ME_2': [2.0], 'NEW_SIGNAL_6
# ': [1.0], 'BYTE6': [37.0], 'BYTE7': [0.0], 'BYTE8': [30.0], 'BYTE9': [0.0],
# 'BYTE10': [0.0], 'BYTE11': [0.0], 'BYTE
# 12': [0.0], 'BYTE13': [0.0], 'BYTE14': [0.0], 'BYTE15': [0.0]}
# {'CHECKSUM': [61602.0], 'COUNTER': [153.0], 'NEW_SIGNAL_1': [0.0], 'SET_ME_1':
# [0.0], 'DISTANCE_UNIT': [1.0], 'NEW_
# SIGNAL_2': [0.0], 'ADAPTIVE_CRUISE_MAIN_BTN': [0.0], 'NEW_SIGNAL_3': [0.0],
# 'LFA_BTN': [1.0], 'CRUISE_BUTTONS': [1.
# 0], 'NEW_SIGNAL_4': [0.0], 'NORMAL_CRUISE_MAIN_BTN': [0.0], 'NEW_SIGNAL_5':
# [0.0], 'SET_ME_2': [2.0], 'NEW_SIGNAL_6
# ': [1.0], 'BYTE6': [38.0], 'BYTE7': [0.0], 'BYTE8': [31.0], 'BYTE9': [0.0],
# 'BYTE10': [0.0], 'BYTE11': [0.0], 'BYTE
# 12': [0.0], 'BYTE13': [0.0], 'BYTE14': [0.0], 'BYTE15': [0.0]}
def create_buttons_alt(packer, CP, CAN, cnt, btn, template):
return
params_memory = Params("/dev/shm/params")
CarCruiseDisplayActual = params_memory.get_float("CarCruiseDisplayActual")
values = {
"COUNTER": cnt,
"SET_ME_1": 1,
"SET_ME_2": 2,
"CRUISE_BUTTONS": btn,
"NEW_SIGNAL_1": 0.0,
"DISTANCE_UNIT": 1.0,
"SET_ME_1": 0.0,
"NEW_SIGNAL_2": 0.0,
"ADAPTIVE_CRUISE_MAIN_BTN": 0.0,
"NEW_SIGNAL_3": 0.0,
"CRUISE_BUTTONS": 1.0, #btn * 1.0,
"NEW_SIGNAL_4": 0.0,
"NORMAL_CRUISE_MAIN_BTN": 0.0,
"NEW_SIGNAL_5": 0.0,
"SET_ME_2": 2.0,
"NEW_SIGNAL_5": 1.0,
# "BYTE_6": CarCruiseDisplayActual+1, # Target
# "BYTE_7": 0.0,
# "BYTE_8": CarCruiseDisplayActual, # Current cruise sets
# "BYTE_9": 0.0,
# "BYTE_10": 0.0,
# "BYTE_11": 0.0,
# "BYTE_12": 0.0,
# "BYTE_13": 0.0,
# "BYTE_14": 0.0,
# "BYTE_15": 0.0,
}
bus = CAN.ECAN # if CP.flags & HyundaiFlags.CANFD_HDA2 else CAN.CAM
return packer.make_can_msg("CRUISE_BUTTONS_ALT", bus, values)
# def create_buttons_alt(packer, CP, CAN, cnt, btn, template):
# template.update({
# "CRUISE_BUTTONS": btn
# })
# bus = CAN.ECAN # if CP.flags & HyundaiFlags.CANFD_HDA2 else CAN.CAM
# return packer.make_can_msg("CRUISE_BUTTONS_ALT", bus, template)
def create_acc_set_speed(packer, CP, CAN, cruise_info_copy, speed):
# why are we executing this at all?
# TODO: why do we copy different values here?
@@ -132,7 +204,7 @@ def create_acc_set_speed(packer, CP, CAN, cruise_info_copy, speed):
def create_acc_cancel(packer, CP, CAN, cruise_info_copy):
# why are we executing this at all?
# This does nothing on the tucson
# TODO: why do we copy different values here?
if CP.flags & HyundaiFlags.CANFD_CAMERA_SCC.value:
values = {s: cruise_info_copy[s] for s in [
@@ -156,7 +228,7 @@ def create_acc_cancel(packer, CP, CAN, cruise_info_copy):
"CRUISE_STANDSTILL",
]}
values.update({
"ACCMode": 0, # testing 1 instead of 4
"ACCMode": 4, # testing 1 instead of 4
"aReqRaw": 0.0,
"aReqValue": 0.0,
})
@@ -203,6 +275,37 @@ def create_acc_control(packer, CAN, enabled, accel_last, accel, stopping, gas_ov
return packer.make_can_msg("SCC_CONTROL", CAN.ECAN, values)
def create_acc_control_alt(packer, CAN, enabled, accel_last, accel, stopping, gas_override, set_speed, hud_control):
jerk = 5
jn = jerk / 50
if not enabled or gas_override:
a_val, a_raw = 0, 0
else:
a_raw = accel
a_val = clip(accel, accel_last - jn, accel_last + jn)
values = {
"ACCMode": 0 if not enabled else (2 if gas_override else 1),
"MainMode_ACC": 1,
"StopReq": 1 if stopping else 0,
"aReqValue": a_val,
"aReqRaw": a_raw,
"VSetDis": set_speed,
"JerkLowerLimit": jerk if enabled else 1,
"JerkUpperLimit": 3.0,
"ACC_ObjDist": 1,
"ObjValid": 0,
"OBJ_STATUS": 2,
"SET_ME_2": 0x4,
"SET_ME_3": 0x3,
"SET_ME_TMP_64": 0x64,
"DISTANCE_SETTING": hud_control.leadDistanceBars,
}
return packer.make_can_msg("SCC_CONTROL", CAN.ECAN, values)
# Disabled blinker messages
def create_spas_messages(packer, CAN, frame, left_blink, right_blink):
ret = []