Comma Device 2022-03-10 22:01:27 -08:00
parent 2c5f9fc3b1
commit 5f0e080a6a
8 changed files with 35 additions and 15 deletions

2
cereal

@ -1 +1 @@
Subproject commit 279311d0bde60e814a697da22c55c6abe8a3b03c
Subproject commit 28d458a9af49b38bd0a9052f09fbe927324320fb

@ -1 +1 @@
Subproject commit 94066cb2b4ad5f2bcb8e33ce02fe15a73a00aace
Subproject commit dec99a0f77328f7a9f104020d98d7227345d1288

2
panda

@ -1 +1 @@
Subproject commit 234e436e93f4dbd084fd912fe9b10d504ca9882e
Subproject commit c2af3c95660c8f129ec7a487bc456b3450b5537e

View File

@ -49,11 +49,9 @@ class CarController():
def update(self, c, enabled, CS, frame, actuators, pcm_cancel_cmd, visual_alert, hud_speed,
left_lane, right_lane, left_lane_depart, right_lane_depart):
if self.CP.carFingerprint == CAR.KIA_EV6:
return actuators.copy(), []
# Steering Torque
new_steer = int(round(actuators.steer * self.p.STEER_MAX))
#new_steer = int(round(actuators.steer * self.p.STEER_MAX))
new_steer = int(round(actuators.steer * 150))
apply_steer = apply_std_steer_torque_limits(new_steer, self.apply_steer_last, CS.out.steeringTorque, self.p)
self.steer_rate_limited = new_steer != apply_steer
@ -69,6 +67,27 @@ class CarController():
process_hud_alert(enabled, self.CP.carFingerprint, visual_alert,
left_lane, right_lane, left_lane_depart, right_lane_depart)
if self.CP.carFingerprint == CAR.KIA_EV6:
ret = []
# steering control
values = {
"LDW_STATUS": 3,
"TORQUE_REQUEST": apply_steer,
"NEW_SIGNAL_1": 6,
"STEER_REQ": 1 if lkas_active else 0,
"STEER_REQ_2": 1 if lkas_active else 0,
"STEER_REQ_3": 1 if lkas_active else 0,
}
ret.append(self.packer.make_can_msg("LKAS", 4, values, frame % 255))
new_actuators = actuators.copy()
new_actuators.steer = apply_steer / self.p.STEER_MAX
return new_actuators, ret
can_sends = []
# tester present - w/ no response (keeps radar disabled)

View File

@ -47,7 +47,7 @@ def get_can_parser_ev6(CP):
("DOORS_SEATBELTS", 0),
]
return CANParser(DBC[CP.carFingerprint]["pt"], signals, checks, 4)
return CANParser(DBC[CP.carFingerprint]["pt"], signals, checks, 5)

View File

@ -227,6 +227,12 @@ class CarInterface(CarInterfaceBase):
ret.safetyConfigs = [get_safety_config(car.CarParams.SafetyModel.noOutput),
get_safety_config(car.CarParams.SafetyModel.allOutput, 1)]
ret.lateralTuning.pid.kf = 0.00005
tire_stiffness_factor = 0.65
ret.lateralTuning.pid.kiBP, ret.lateralTuning.pid.kpBP = [[0.], [0.]]
ret.lateralTuning.pid.kpV, ret.lateralTuning.pid.kiV = [[0.25], [0.05]]
# Genesis
elif candidate == CAR.GENESIS_G70:
ret.lateralTuning.init('indi')

View File

@ -257,8 +257,8 @@ class Controls:
else:
safety_mismatch = pandaState.safetyModel not in IGNORED_SAFETY_MODES
if safety_mismatch or self.mismatch_counter >= 200:
self.events.add(EventName.controlsMismatch)
#if safety_mismatch or self.mismatch_counter >= 200:
# self.events.add(EventName.controlsMismatch)
if log.PandaState.FaultType.relayMalfunction in pandaState.faults:
self.events.add(EventName.relayMalfunction)

View File

@ -109,11 +109,6 @@ def main() -> NoReturn:
cloudlog.info(f"Resetting panda {panda.get_usb_serial()}")
panda.reset()
if panda.has_canfd():
for bus in range(3):
panda.set_can_speed_kbps(bus, 500)
panda.set_can_data_speed_kbps(bus, 2000)
# sort pandas to have deterministic order
pandas.sort(key=cmp_to_key(panda_sort_cmp))
panda_serials = list(map(lambda p: p.get_usb_serial(), pandas))