mirror of
https://github.com/sunnypilot/sunnypilot.git
synced 2026-07-18 19:12:05 +08:00
uhhh why not multiplex busses?!
This commit is contained in:
@@ -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):
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
|
||||
@@ -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 = {
|
||||
|
||||
@@ -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 ***
|
||||
|
||||
Reference in New Issue
Block a user