uhhh why not multiplex busses?!

This commit is contained in:
Jason Wen
2023-02-23 22:49:52 -05:00
parent 112d314693
commit 05fdcca82c
5 changed files with 11 additions and 9 deletions
+1 -1
View File
@@ -118,7 +118,7 @@ class CarController:
# disable LFA on HDA2
if self.frame % 5 == 0 and (hda2 or can_canfd):
can_sends.append(hyundaicanfd.create_cam_0x2a4(self.packer, CS.cam_0x2a4))
can_sends.append(hyundaicanfd.create_cam_0x2a4(self.packer, self.CP, CS.cam_0x2a4))
# LFA and HDA icons
if self.frame % 5 == 0 and (not hda2 or hda2_long):
+2 -2
View File
@@ -382,7 +382,7 @@ class CarState(CarStateBase):
signals.append(("CF_Lvr_Gear", "LVR12"))
checks.append(("LVR12", 100))
bus = 5 if CP.flags & HyundaiFlags.CAN_CANFD.value else 0
bus = 1 if CP.flags & HyundaiFlags.CAN_CANFD.value else 0
return CANParser(DBC[CP.carFingerprint]["pt"], signals, checks, bus)
@staticmethod
@@ -447,7 +447,7 @@ class CarState(CarStateBase):
signals += [(f"BYTE{i}", "CAM_0x2a4") for i in range(3, 24)]
checks += [("CAM_0x2a4", 20)]
bus = 6 if CP.flags & HyundaiFlags.CAN_CANFD else 2
bus = 2 if CP.flags & HyundaiFlags.CAN_CANFD else 2
return CANParser(DBC[CP.carFingerprint]["pt"], signals, checks, bus)
@staticmethod
+1 -1
View File
@@ -83,7 +83,7 @@ def create_clu11(packer, frame, clu11, button, CP):
values["CF_Clu_CruiseSwState"] = button
values["CF_Clu_AliveCnt1"] = frame % 0x10
# send buttons to camera on camera-scc based cars
bus = 2 if CP.car_fingerprint in CAMERA_SCC_CAR else 5 if CP.flags & HyundaiFlags.CAN_CANFD else 0
bus = 2 if CP.car_fingerprint in CAMERA_SCC_CAR else 1 if CP.flags & HyundaiFlags.CAN_CANFD else 0
return packer.make_can_msg("CLU11", bus, values)
+5 -3
View File
@@ -25,19 +25,21 @@ def create_steering_messages(packer, CP, enabled, lat_active, apply_steer):
}
if CP.flags & HyundaiFlags.CANFD_HDA2 or CP.flags & HyundaiFlags.CAN_CANFD:
lkas_bus = 0 if CP.flags & HyundaiFlags.CAN_CANFD else 4
if CP.openpilotLongitudinalControl:
ret.append(packer.make_can_msg("LFA", 5, values))
ret.append(packer.make_can_msg("LKAS", 4, values))
ret.append(packer.make_can_msg("LKAS", lkas_bus, values))
else:
ret.append(packer.make_can_msg("LFA", 4, values))
return ret
def create_cam_0x2a4(packer, camera_values):
def create_cam_0x2a4(packer, CP, camera_values):
bus = 0 if CP.flags & HyundaiFlags.CAN_CANFD else 4
camera_values.update({
"BYTE7": 0,
})
return packer.make_can_msg("CAM_0x2a4", 4, camera_values)
return packer.make_can_msg("CAM_0x2a4", bus, camera_values)
def create_buttons(packer, CP, cnt, btn):
values = {
+2 -2
View File
@@ -45,7 +45,7 @@ class CarInterface(CarInterfaceBase):
ret.flags |= HyundaiFlags.CANFD_CAMERA_SCC.value
else:
# detect platforms with HKG CAN and CAN-FD definitions
if 0x50 in fingerprint[6] and 0x420 in fingerprint[5]:
if 0x50 in fingerprint[2] and 0x420 in fingerprint[1]:
ret.flags |= HyundaiFlags.CAN_CANFD.value
# Send LFA message on cars with HDA
@@ -254,7 +254,7 @@ class CarInterface(CarInterfaceBase):
bus = 5 if ret.flags & HyundaiFlags.CANFD_HDA2 else 4
ret.enableBsm = 0x1e5 in fingerprint[bus]
else:
bus = 5 if ret.flags & HyundaiFlags.CAN_CANFD else 0
bus = 1 if ret.flags & HyundaiFlags.CAN_CANFD else 0
ret.enableBsm = 0x58b in fingerprint[bus]
# *** panda safety config ***