From 3a687f054f7980f64e43010c34da53fbf528b352 Mon Sep 17 00:00:00 2001 From: Jason Wen Date: Sat, 26 Aug 2023 16:20:46 -0400 Subject: [PATCH] Final test to block LFA --- opendbc | 2 +- panda | 2 +- selfdrive/car/hyundai/carcontroller.py | 2 +- selfdrive/car/hyundai/carstate.py | 12 +---- selfdrive/car/hyundai/hyundaicanfd.py | 70 +++----------------------- 5 files changed, 13 insertions(+), 75 deletions(-) diff --git a/opendbc b/opendbc index 6b92850479..382939143a 160000 --- a/opendbc +++ b/opendbc @@ -1 +1 @@ -Subproject commit 6b92850479b977f58a8d9b20d992e0a931a8bfca +Subproject commit 382939143ad3a4e2e2847b9b71eadcd2ed46727b diff --git a/panda b/panda index 7908713801..94a688959c 160000 --- a/panda +++ b/panda @@ -1 +1 @@ -Subproject commit 79087138019ed004be989d4bdceedceeca8de4a9 +Subproject commit 94a688959cd49571c51a5d1386322bf63f9dbe7a diff --git a/selfdrive/car/hyundai/carcontroller.py b/selfdrive/car/hyundai/carcontroller.py index cda2ad1f58..f7235fd3cf 100644 --- a/selfdrive/car/hyundai/carcontroller.py +++ b/selfdrive/car/hyundai/carcontroller.py @@ -116,7 +116,7 @@ class CarController: if not hda2_alt_steering: can_sends.append(hyundaicanfd.create_cam_0x2a4(self.packer, self.CAN, CS.cam_0x2a4)) elif hda2_alt_steering: - can_sends.extend(hyundaicanfd.create_block_lfa(self.packer, self.CAN, CS)) + can_sends.extend(hyundaicanfd.create_cam_0x362(self.packer, self.CAN, CS.cam_0x362)) # LFA and HDA icons if self.frame % 5 == 0 and (not hda2 or hda2_long): diff --git a/selfdrive/car/hyundai/carstate.py b/selfdrive/car/hyundai/carstate.py index 0aa5b06cc9..439f0a04d5 100644 --- a/selfdrive/car/hyundai/carstate.py +++ b/selfdrive/car/hyundai/carstate.py @@ -230,11 +230,7 @@ class CarState(CarStateBase): if self.CP.flags & HyundaiFlags.CANFD_HDA2 and not self.CP.flags & HyundaiFlags.CANFD_HDA2_ALT_STEERING: self.cam_0x2a4 = copy.copy(cp_cam.vl["CAM_0x2a4"]) if self.CP.flags & HyundaiFlags.CANFD_HDA2 and self.CP.flags & HyundaiFlags.CANFD_HDA2_ALT_STEERING: - self.cam_0x230 = copy.copy(cp_cam.vl["CAM_0x230"]) - for i in range(0x235, 0x248 + 1): - setattr(self, f"cam_0x{i:03x}", copy.copy(cp_cam.vl[f"CAM_0x{i:03x}"])) - for i in range(0x360, 0x366 + 1): - setattr(self, f"cam_0x{i:03x}", copy.copy(cp_cam.vl[f"CAM_0x{i:03x}"])) + self.cam_0x362 = copy.copy(cp_cam.vl["CAM_0x362"]) return ret @@ -339,11 +335,7 @@ class CarState(CarStateBase): if CP.flags & HyundaiFlags.CANFD_HDA2 and not CP.flags & HyundaiFlags.CANFD_HDA2_ALT_STEERING: messages += [("CAM_0x2a4", 20)] elif CP.flags & HyundaiFlags.CANFD_HDA2 and CP.flags & HyundaiFlags.CANFD_HDA2_ALT_STEERING: - messages += [("CAM_0x230", 33)] - for i in range(0x235, 0x248 + 1): - messages.append((f"CAM_0x{i:03x}", 33)) - for i in range(0x360, 0x366 + 1): - messages.append((f"CAM_0x{i:03x}", 20)) + messages += [("CAM_0x362", 20)] elif CP.flags & HyundaiFlags.CANFD_CAMERA_SCC: messages += [ ("SCC_CONTROL", 50), diff --git a/selfdrive/car/hyundai/hyundaicanfd.py b/selfdrive/car/hyundai/hyundaicanfd.py index 2ecbb03b27..0bca3391c2 100644 --- a/selfdrive/car/hyundai/hyundaicanfd.py +++ b/selfdrive/car/hyundai/hyundaicanfd.py @@ -67,68 +67,14 @@ def create_cam_0x2a4(packer, CAN, cam_0x2a4): values["BYTE7"] = 0 return packer.make_can_msg("CAM_0x2a4", CAN.ACAN, values) -def create_block_lfa(packer, CAN, CS): - ret = [] - - cam_0x230_values = {s: CS.cam_0x230[s] for s in ["COUNTER"]} - ret.append(packer.make_can_msg("CAM_0x230", CAN.ACAN, cam_0x230_values)) - - cam_0x235_values = {s: CS.cam_0x235[s] for s in ["COUNTER"]} - ret.append(packer.make_can_msg("CAM_0x235", CAN.ACAN, cam_0x235_values)) - - cam_0x236_values = {s: CS.cam_0x236[s] for s in ["COUNTER"]} - ret.append(packer.make_can_msg("CAM_0x236", CAN.ACAN, cam_0x236_values)) - - cam_0x237_values = {s: CS.cam_0x237[s] for s in ["COUNTER"]} - ret.append(packer.make_can_msg("CAM_0x237", CAN.ACAN, cam_0x237_values)) - - cam_0x238_values = {s: CS.cam_0x238[s] for s in ["COUNTER"]} - ret.append(packer.make_can_msg("CAM_0x238", CAN.ACAN, cam_0x238_values)) - - cam_0x239_values = {s: CS.cam_0x239[s] for s in ["COUNTER"]} - ret.append(packer.make_can_msg("CAM_0x239", CAN.ACAN, cam_0x239_values)) - - cam_0x23a_values = {s: CS.cam_0x23a[s] for s in ["COUNTER"]} - ret.append(packer.make_can_msg("CAM_0x23a", CAN.ACAN, cam_0x23a_values)) - - cam_0x23b_values = {s: CS.cam_0x23b[s] for s in ["COUNTER"]} - ret.append(packer.make_can_msg("CAM_0x23b", CAN.ACAN, cam_0x23b_values)) - - cam_0x23c_values = {s: CS.cam_0x23c[s] for s in ["COUNTER"]} - ret.append(packer.make_can_msg("CAM_0x23c", CAN.ACAN, cam_0x23c_values)) - - cam_0x23d_values = {s: CS.cam_0x23d[s] for s in ["COUNTER"]} - ret.append(packer.make_can_msg("CAM_0x23d", CAN.ACAN, cam_0x23d_values)) - - cam_0x23e_values = {s: CS.cam_0x23e[s] for s in ["COUNTER"]} - ret.append(packer.make_can_msg("CAM_0x23e", CAN.ACAN, cam_0x23e_values)) - - cam_0x23f_values = {s: CS.cam_0x23f[s] for s in ["COUNTER"]} - ret.append(packer.make_can_msg("CAM_0x23f", CAN.ACAN, cam_0x23f_values)) - - - cam_0x360_values = {s: CS.cam_0x360[s] for s in ["COUNTER"]} - ret.append(packer.make_can_msg("CAM_0x360", CAN.ACAN, cam_0x360_values)) - - cam_0x361_values = {s: CS.cam_0x361[s] for s in ["COUNTER"]} - ret.append(packer.make_can_msg("CAM_0x361", CAN.ACAN, cam_0x361_values)) - - cam_0x362_values = {s: CS.cam_0x362[s] for s in ["COUNTER"]} - ret.append(packer.make_can_msg("CAM_0x362", CAN.ACAN, cam_0x362_values)) - - cam_0x363_values = {s: CS.cam_0x363[s] for s in ["COUNTER"]} - ret.append(packer.make_can_msg("CAM_0x363", CAN.ACAN, cam_0x363_values)) - - cam_0x364_values = {s: CS.cam_0x364[s] for s in ["COUNTER"]} - ret.append(packer.make_can_msg("CAM_0x364", CAN.ACAN, cam_0x364_values)) - - cam_0x365_values = {s: CS.cam_0x365[s] for s in ["COUNTER"]} - ret.append(packer.make_can_msg("CAM_0x365", CAN.ACAN, cam_0x365_values)) - - cam_0x366_values = {s: CS.cam_0x366[s] for s in ["COUNTER"]} - ret.append(packer.make_can_msg("CAM_0x366", CAN.ACAN, cam_0x366_values)) - - return ret +def create_cam_0x362(packer, CAN, cam_0x362): + values = {f"BYTE{i}": cam_0x362[f"BYTE{i}"] for i in range(3, 32)} + values["COUNTER"] = cam_0x362["COUNTER"] + values["NEW_SIGNAL_1"] = cam_0x362["NEW_SIGNAL_1"] + values["NEW_SIGNAL_2"] = cam_0x362["NEW_SIGNAL_2"] + values["LEFT_LANELINES"] = 0 + values["RIGHT_LANELINES"] = 0 + return packer.make_can_msg("CAM_0x362", CAN.ACAN, values) def create_buttons(packer, CP, CAN, cnt, btn): values = {