      """Reset PID controller and change setpoint"""
      self.pid.reset()
      self.v_pid = v_pid
  
    def update(self, active, CS, CP, long_plan, accel_limits, t_since_plan):
      """Update longitudinal control. This updates the state machine and runs a PID loop"""
      # Interp control trajectory
      speeds = long_plan.speeds
      if len(speeds) == CONTROL_N:
        v_target = interp(t_since_plan, T_IDXS[:CONTROL_N], speeds)
 
</s> remove                              k_f = CP.longitudinalTuning.kf, rate=1 / DT_CTRL)
 </s> add                              k_f=CP.longitudinalTuning.kf, rate=1 / DT_CTRL) </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   def update(self, active, CS, CP, VM, params, last_actuators, desired_curvature, desired_curvature_rate, llk):
 </s> add   def update(self, active, CS, VM, params, last_actuators, desired_curvature, desired_curvature_rate, llk): </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     self.long_control_state = long_control_state_trans(CP, active, self.long_control_state, CS.vEgo,
 </s> add     self.long_control_state = long_control_state_trans(self.CP, active, self.long_control_state, CS.vEgo,
  def update(self, active, CS, long_plan, accel_limits, t_since_plan):
      """Reset PID controller and change setpoint"""
      self.pid.reset()
      self.v_pid = v_pid
  
  def update(self, active, CS, long_plan, accel_limits, t_since_plan):
      """Update longitudinal control. This updates the state machine and runs a PID loop"""
      # Interp control trajectory
      speeds = long_plan.speeds
      if len(speeds) == CONTROL_N:
        v_target = interp(t_since_plan, T_IDXS[:CONTROL_N], speeds)
keep keep keep keep replace keep keep keep keep keep
 Clean up controllers (#24340)

* clean up lat controllers

* pass CP once

* sort 
selfdrive/controls/lib/longcontrol.py