@ -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