From 4e10353203e276341a987da3ef7518769c67ba23 Mon Sep 17 00:00:00 2001 From: Jason Wen Date: Wed, 24 Apr 2024 11:34:43 -0400 Subject: [PATCH] keep more things happy --- selfdrive/car/hyundai/carcontroller.py | 2 + selfdrive/car/hyundai/hyundaicanfd.py | 52 ++++++++++++++++++++++++++ 2 files changed, 54 insertions(+) diff --git a/selfdrive/car/hyundai/carcontroller.py b/selfdrive/car/hyundai/carcontroller.py index c964bcf750..aaf772fc66 100644 --- a/selfdrive/car/hyundai/carcontroller.py +++ b/selfdrive/car/hyundai/carcontroller.py @@ -132,6 +132,8 @@ class CarController(CarControllerBase): if self.CP.openpilotLongitudinalControl: if hda2: can_sends.extend(hyundaicanfd.create_adrv_messages(self.packer, self.CAN, self.frame)) + if can_canfd: + can_sends.extend(hyundaicanfd.create_radar_aux_messages(self.packer, self.CAN, self.frame)) if self.frame % 2 == 0: if can_canfd: can_sends.extend(hyundaicanfd.create_acc_commands_can_canfd(self.packer, self.CAN, CC.enabled, accel, diff --git a/selfdrive/car/hyundai/hyundaicanfd.py b/selfdrive/car/hyundai/hyundaicanfd.py index 5b630f6ed4..b35f1b9155 100644 --- a/selfdrive/car/hyundai/hyundaicanfd.py +++ b/selfdrive/car/hyundai/hyundaicanfd.py @@ -324,3 +324,55 @@ def create_adrv_messages(packer, CAN, frame): ret.append(packer.make_can_msg("ADRV_0x1da", CAN.ECAN, values)) return ret + + +def create_radar_aux_messages(packer, CAN, frame): + ret = [] + + if frame % 2 == 0: + values = { + "COUNTER": frame % 0xF, + "FCA_ESA": 1, + } + ret.append(packer.make_can_msg("RADAR_0x363", CAN.ECAN, values)) + + if frame % 5 == 0: + values = { + "COUNTER": frame % 0xF, + "BYTE4": 0x80, + "BYTE5": 0x5D, + } + ret.append(packer.make_can_msg("RADAR_0x398", CAN.ECAN, values)) + + values = { + "COUNTER": frame % 0xF, + "BYTE2": 0x02, + } + ret.append(packer.make_can_msg("RADAR_0x399", CAN.ECAN, values)) + + values = { + "COUNTER": frame % 0xF, + "BYTE7": 0xFF, + } + ret.append(packer.make_can_msg("RADAR_0x39a", CAN.ECAN, values)) + + values = { + "COUNTER": frame % 0xF, + } + ret.append(packer.make_can_msg("RADAR_0x39b", CAN.ECAN, values)) + + values = { + "COUNTER": frame % 0xF, + "BYTE5": 0xE0, + "BYTE6": 0x79, + } + ret.append(packer.make_can_msg("RADAR_0x39c", CAN.ECAN, values)) + + if frame % 20 == 0: + values = { + "COUNTER": frame % 0xF, + "BYTE2": 0x07, + } + ret.append(packer.make_can_msg("RADAR_0x43a", CAN.ECAN, values)) + + return ret