        ignore = ['driverCameraState', 'managerState'] if SIMULATION else None
        self.sm = messaging.SubMaster(['deviceState', 'pandaStates', 'peripheralState', 'modelV2', 'liveCalibration',
                                       'driverMonitoringState', 'longitudinalPlan', 'lateralPlan', 'liveLocationKalman',
                                       'managerState', 'liveParameters', 'radarState'] + self.camera_packets + joystick_packet,
                                       ignore_alive=ignore, ignore_avg_freq=['radarState', 'longitudinalPlan'])
  
  
      # set alternative experiences from parameters
      self.disengage_on_accelerator = params.get_bool("DisengageOnAccelerator")
      self.CP.alternativeExperience = 0
      if not self.disengage_on_accelerator:
 
</s> remove       v_target_upper = interp(CP.longitudinalActuatorDelayUpperBound + t_since_plan, T_IDXS[:CONTROL_N], speeds)
      a_target_upper = 2 * (v_target_upper - v_target) / CP.longitudinalActuatorDelayUpperBound - a_target
 </s> add       v_target_upper = interp(self.CP.longitudinalActuatorDelayUpperBound + t_since_plan, T_IDXS[:CONTROL_N], speeds)
      a_target_upper = 2 * (v_target_upper - v_target) / self.CP.longitudinalActuatorDelayUpperBound - a_target </s> remove       v_target_lower = interp(CP.longitudinalActuatorDelayLowerBound + t_since_plan, T_IDXS[:CONTROL_N], speeds)
      a_target_lower = 2 * (v_target_lower - v_target) / CP.longitudinalActuatorDelayLowerBound - a_target
 </s> add       v_target_lower = interp(self.CP.longitudinalActuatorDelayLowerBound + t_since_plan, T_IDXS[:CONTROL_N], speeds)
      a_target_lower = 2 * (v_target_lower - v_target) / self.CP.longitudinalActuatorDelayLowerBound - a_target </s> remove       prevent_overshoot = not CP.stoppingControl and CS.vEgo < 1.5 and v_target_future < 0.7 and v_target_future < self.v_pid
      deadzone = interp(CS.vEgo, CP.longitudinalTuning.deadzoneBP, CP.longitudinalTuning.deadzoneV)
 </s> add       prevent_overshoot = not self.CP.stoppingControl and CS.vEgo < 1.5 and v_target_future < 0.7 and v_target_future < self.v_pid
      deadzone = interp(CS.vEgo, self.CP.longitudinalTuning.deadzoneBP, self.CP.longitudinalTuning.deadzoneV) </s> remove       actuators.accel = self.LoC.update(CC.longActive, CS, self.CP, long_plan, pid_accel_limits, t_since_plan)
 </s> add       actuators.accel = self.LoC.update(CC.longActive, CS, long_plan, pid_accel_limits, t_since_plan) </s> remove from common.realtime import DT_CTRL
 </s> add 
                                    ignore_alive=ignore, ignore_avg_freq=['radarState', 'longitudinalPlan'])
        ignore = ['driverCameraState', 'managerState'] if SIMULATION else None
        self.sm = messaging.SubMaster(['deviceState', 'pandaStates', 'peripheralState', 'modelV2', 'liveCalibration',
                                       'driverMonitoringState', 'longitudinalPlan', 'lateralPlan', 'liveLocationKalman',
                                       'managerState', 'liveParameters', 'radarState'] + self.camera_packets + joystick_packet,
                                    ignore_alive=ignore, ignore_avg_freq=['radarState', 'longitudinalPlan'])
                                    ignore_alive=ignore, ignore_avg_freq=['radarState', 'longitudinalPlan'])
  
      # set alternative experiences from parameters
      self.disengage_on_accelerator = params.get_bool("DisengageOnAccelerator")
      self.CP.alternativeExperience = 0
      if not self.disengage_on_accelerator:
keep keep keep keep replace replace keep keep keep keep keep
 Clean up controllers (#24340)

* clean up lat controllers

* pass CP once

* sort 
selfdrive/controls/controlsd.py