wip
This commit is contained in:
@@ -10,6 +10,7 @@ from openpilot.selfdrive.car.hyundai.hyundaicanfd import CanBus
|
|||||||
from openpilot.selfdrive.car.hyundai.values import HyundaiFlags, CAR, DBC, CAN_GEARS, CAMERA_SCC_CAR, \
|
from openpilot.selfdrive.car.hyundai.values import HyundaiFlags, CAR, DBC, CAN_GEARS, CAMERA_SCC_CAR, \
|
||||||
CANFD_CAR, EV_CAR, HYBRID_CAR, Buttons, CarControllerParams
|
CANFD_CAR, EV_CAR, HYBRID_CAR, Buttons, CarControllerParams
|
||||||
from openpilot.selfdrive.car.interfaces import CarStateBase
|
from openpilot.selfdrive.car.interfaces import CarStateBase
|
||||||
|
from openpilot.selfdrive.frogpilot.functions.speed_limit_controller import SpeedLimitController
|
||||||
|
|
||||||
PREV_BUTTON_SAMPLES = 8
|
PREV_BUTTON_SAMPLES = 8
|
||||||
CLUSTER_SAMPLE_RATE = 20 # frames
|
CLUSTER_SAMPLE_RATE = 20 # frames
|
||||||
@@ -295,6 +296,11 @@ class CarState(CarStateBase):
|
|||||||
self.hda2_lfa_block_msg = copy.copy(cp_cam.vl["CAM_0x362"] if self.CP.flags & HyundaiFlags.CANFD_HDA2_ALT_STEERING
|
self.hda2_lfa_block_msg = copy.copy(cp_cam.vl["CAM_0x362"] if self.CP.flags & HyundaiFlags.CANFD_HDA2_ALT_STEERING
|
||||||
else cp_cam.vl["CAM_0x2a4"])
|
else cp_cam.vl["CAM_0x2a4"])
|
||||||
|
|
||||||
|
if self.CP.nav_msg:
|
||||||
|
SpeedLimitController.load_state()
|
||||||
|
SpeedLimitController.car_speed_limit = self.calculate_speed_limit_canfd(self.CP, cp, cp_cam) * speed_conv
|
||||||
|
SpeedLimitController.write_car_state()
|
||||||
|
|
||||||
self.custom_speed_up = False
|
self.custom_speed_up = False
|
||||||
self.custom_speed_down = False
|
self.custom_speed_down = False
|
||||||
|
|
||||||
@@ -345,6 +351,10 @@ class CarState(CarStateBase):
|
|||||||
|
|
||||||
return ret
|
return ret
|
||||||
|
|
||||||
|
def calculate_speed_limit_canfd(self, CP, cp, cp_cam):
|
||||||
|
self._speed_limit_clu = cp.vl["CLUSTER_SPEED_LIMIT"]["SPEED_LIMIT_1"]
|
||||||
|
return self._speed_limit_clu if self._speed_limit_clu not in (0, 255) else 0
|
||||||
|
|
||||||
def get_can_parser(self, CP):
|
def get_can_parser(self, CP):
|
||||||
if CP.carFingerprint in CANFD_CAR:
|
if CP.carFingerprint in CANFD_CAR:
|
||||||
return self.get_can_parser_canfd(CP)
|
return self.get_can_parser_canfd(CP)
|
||||||
@@ -462,4 +472,7 @@ class CarState(CarStateBase):
|
|||||||
("SCC_CONTROL", 50),
|
("SCC_CONTROL", 50),
|
||||||
]
|
]
|
||||||
|
|
||||||
|
if CP.nav_msg:
|
||||||
|
messages.append(("CLUSTER_SPEED_LIMIT", 10))
|
||||||
|
|
||||||
return CANParser(DBC[CP.carFingerprint]["pt"], messages, CanBus(CP).CAM)
|
return CANParser(DBC[CP.carFingerprint]["pt"], messages, CanBus(CP).CAM)
|
||||||
|
|||||||
@@ -293,8 +293,10 @@ class CarInterface(CarInterfaceBase):
|
|||||||
# *** feature detection ***
|
# *** feature detection ***
|
||||||
if candidate in CANFD_CAR:
|
if candidate in CANFD_CAR:
|
||||||
ret.enableBsm = 0x1e5 in fingerprint[CAN.ECAN]
|
ret.enableBsm = 0x1e5 in fingerprint[CAN.ECAN]
|
||||||
|
ret.nav_msg = 0x544 in fingerprint[0]
|
||||||
else:
|
else:
|
||||||
ret.enableBsm = 0x58b in fingerprint[0]
|
ret.enableBsm = 0x58b in fingerprint[0]
|
||||||
|
ret.nav_msg = False
|
||||||
|
|
||||||
# *** panda safety config ***
|
# *** panda safety config ***
|
||||||
ret.safetyConfigs = set_safety_config_hyundai(candidate, CAN, can_fd=(candidate in CANFD_CAR))
|
ret.safetyConfigs = set_safety_config_hyundai(candidate, CAN, can_fd=(candidate in CANFD_CAR))
|
||||||
|
|||||||
@@ -151,7 +151,7 @@ void setDefaultParams() {
|
|||||||
{"StoppingDistance", FrogsGoMoo ? "6" : "0"},
|
{"StoppingDistance", FrogsGoMoo ? "6" : "0"},
|
||||||
{"TSS2Tune", "1"},
|
{"TSS2Tune", "1"},
|
||||||
{"TurnAggressiveness", FrogsGoMoo ? "150" : "100"},
|
{"TurnAggressiveness", FrogsGoMoo ? "150" : "100"},
|
||||||
{"TurnDesires", "1"},
|
{"TurnDesires", "0"},
|
||||||
{"UnlimitedLength", "1"},
|
{"UnlimitedLength", "1"},
|
||||||
{"UseSI", FrogsGoMoo ? "1" : "0"},
|
{"UseSI", FrogsGoMoo ? "1" : "0"},
|
||||||
{"UseVienna", "0"},
|
{"UseVienna", "0"},
|
||||||
|
|||||||
Reference in New Issue
Block a user