mirror of
https://github.com/dragonpilot/dragonpilot.git
synced 2026-02-21 17:03:52 +08:00
Subaru: frequency based messaging (#28066)
* frequency based messaging * frequency based messaging * frequency based messaging * frequency based messaging * rename better * use frame in if statement * syntax * remove extra space * put all behind one if statement * update refs --------- Co-authored-by: Shane Smiskol <shane@smiskol.com>
This commit is contained in:
@@ -10,10 +10,6 @@ class CarController:
|
||||
self.apply_steer_last = 0
|
||||
self.frame = 0
|
||||
|
||||
self.es_lkas_state_cnt = -1
|
||||
self.es_distance_cnt = -1
|
||||
self.es_dashstatus_cnt = -1
|
||||
self.infotainmentstatus_cnt = -1
|
||||
self.cruise_button_prev = 0
|
||||
self.last_cancel_frame = 0
|
||||
|
||||
@@ -29,7 +25,6 @@ class CarController:
|
||||
|
||||
# *** steering ***
|
||||
if (self.frame % self.p.STEER_STEP) == 0:
|
||||
|
||||
apply_steer = int(round(actuators.steer * self.p.STEER_MAX))
|
||||
|
||||
# limits due to driver torque
|
||||
@@ -51,7 +46,7 @@ class CarController:
|
||||
# *** alerts and pcm cancel ***
|
||||
|
||||
if self.CP.carFingerprint in PREGLOBAL_CARS:
|
||||
if self.es_distance_cnt != CS.es_distance_msg["COUNTER"]:
|
||||
if self.frame % 5 == 0:
|
||||
# 1 = main, 2 = set shallow, 3 = set deep, 4 = resume shallow, 5 = resume deep
|
||||
# disengage ACC when OP is disengaged
|
||||
if pcm_cancel_cmd:
|
||||
@@ -68,7 +63,6 @@ class CarController:
|
||||
self.cruise_button_prev = cruise_button
|
||||
|
||||
can_sends.append(subarucan.create_preglobal_es_distance(self.packer, cruise_button, CS.es_distance_msg))
|
||||
self.es_distance_cnt = CS.es_distance_msg["COUNTER"]
|
||||
|
||||
else:
|
||||
if pcm_cancel_cmd and (self.frame - self.last_cancel_frame) > 0.2:
|
||||
@@ -76,19 +70,15 @@ class CarController:
|
||||
can_sends.append(subarucan.create_es_distance(self.packer, CS.es_distance_msg, bus, pcm_cancel_cmd))
|
||||
self.last_cancel_frame = self.frame
|
||||
|
||||
if self.es_dashstatus_cnt != CS.es_dashstatus_msg["COUNTER"]:
|
||||
if self.frame % 10 == 0:
|
||||
can_sends.append(subarucan.create_es_dashstatus(self.packer, CS.es_dashstatus_msg))
|
||||
self.es_dashstatus_cnt = CS.es_dashstatus_msg["COUNTER"]
|
||||
|
||||
if self.es_lkas_state_cnt != CS.es_lkas_state_msg["COUNTER"]:
|
||||
can_sends.append(subarucan.create_es_lkas_state(self.packer, CS.es_lkas_state_msg, CC.enabled, hud_control.visualAlert,
|
||||
hud_control.leftLaneVisible, hud_control.rightLaneVisible,
|
||||
hud_control.leftLaneDepart, hud_control.rightLaneDepart))
|
||||
self.es_lkas_state_cnt = CS.es_lkas_state_msg["COUNTER"]
|
||||
|
||||
if self.CP.flags & SubaruFlags.SEND_INFOTAINMENT and self.infotainmentstatus_cnt != CS.es_infotainmentstatus_msg["COUNTER"]:
|
||||
can_sends.append(subarucan.create_infotainmentstatus(self.packer, CS.es_infotainmentstatus_msg, hud_control.visualAlert))
|
||||
self.infotainmentstatus_cnt = CS.es_infotainmentstatus_msg["COUNTER"]
|
||||
|
||||
if self.CP.flags & SubaruFlags.SEND_INFOTAINMENT:
|
||||
can_sends.append(subarucan.create_infotainmentstatus(self.packer, CS.es_infotainmentstatus_msg, hud_control.visualAlert))
|
||||
|
||||
new_actuators = actuators.copy()
|
||||
new_actuators.steer = self.apply_steer_last / self.p.STEER_MAX
|
||||
|
||||
@@ -1 +1 @@
|
||||
02b8c1e21f2bd3551aa4a2b94c73dcac762d3148
|
||||
29f846f525a4e14f380afd20ae8fa0804011ab6e
|
||||
Reference in New Issue
Block a user