diff --git a/selfdrive/car/gm/carcontroller.py b/selfdrive/car/gm/carcontroller.py index bf071891a5..81e72b36ff 100644 --- a/selfdrive/car/gm/carcontroller.py +++ b/selfdrive/car/gm/carcontroller.py @@ -48,9 +48,12 @@ class CarController: can_sends = [] # Steering (Active: 50Hz, inactive: 10Hz) - # Attempt to sync with camera on startup at 50Hz, first few msgs are blocked - steer_step = self.params.INACTIVE_STEER_STEP - if CC.latActive or not self.sent_lka_steering_cmd: + # Attempt to sync with camera on startup at 25Hz, first few msgs are blocked + if not self.sent_lka_steering_cmd: + steer_step = self.params.STARTUP_STEER_STEP + elif not CC.latActive: + steer_step = self.params.INACTIVE_STEER_STEP + else: steer_step = self.params.ACTIVE_STEER_STEP # Avoid GM EPS faults when transmitting messages too close together: skip this transmit if we just received the diff --git a/selfdrive/car/gm/values.py b/selfdrive/car/gm/values.py index 3adab9d829..c5eae0ffc8 100644 --- a/selfdrive/car/gm/values.py +++ b/selfdrive/car/gm/values.py @@ -13,6 +13,7 @@ class CarControllerParams: STEER_MAX = 300 # GM limit is 3Nm. Used by carcontroller to generate LKA output ACTIVE_STEER_STEP = 2 # Control frames per command (50hz) INACTIVE_STEER_STEP = 10 # Control frames per command (10hz) + STARTUP_STEER_STEP = 4 # Control frames per command (25hz) STEER_DELTA_UP = 7 # Delta rates require review due to observed EPS weakness STEER_DELTA_DOWN = 17 STEER_DRIVER_ALLOWANCE = 50