    while True:
      sm.update()
  
      if sm.updated['modelV2']:
        PP.update(sm, CP, VM)
        PP.publish(sm, pm)
      if sm.updated['radarState']:
        PL.update(sm, CP, VM, PP)
        PL.publish(sm, pm)
  
  
 
</s> remove       PL.update(sm, CP, VM, PP)
      PL.publish(sm, pm)
 </s> add       longitudinal_planner.update(sm, CP)
      longitudinal_planner.publish(sm, pm) </s> remove   sm['liveParameters'].valid = True
  sm['liveParameters'].sensorValid = True
  sm['liveParameters'].steerRatio = CP.steerRatio
  sm['liveParameters'].stiffnessFactor = 1.0

 </s> add  </s> remove   def update(self, active, CS, CP, lat_plan):
 </s> add   def update(self, active, CS, CP, VM, params, lat_plan): </s> remove   def update(self, sm, CP, VM, PP):
 </s> add   def update(self, sm, CP): </s> remove     steering_wheel_angle_offset_deg = sm['liveParameters'].angleOffsetDeg
    steering_wheel_angle_deg = sm['carState'].steeringAngleDeg

    # Update vehicle model
    x = max(sm['liveParameters'].stiffnessFactor, 0.1)
    sr = max(sm['liveParameters'].steerRatio, 0.1)
    VM.update_params(x, sr)
    curvature_factor = VM.curvature_factor(v_ego)
    measured_curvature = -curvature_factor * math.radians(steering_wheel_angle_deg - steering_wheel_angle_offset_deg) / VM.sR

 </s> add     measured_curvature = sm['controlsState'].curvature
      lateral_planner.update(sm, CP)
      lateral_planner.publish(sm, pm)
    while True:
      sm.update()
  
      if sm.updated['modelV2']:
      lateral_planner.update(sm, CP)
      lateral_planner.publish(sm, pm)
      lateral_planner.update(sm, CP)
      lateral_planner.publish(sm, pm)
      if sm.updated['radarState']:
        PL.update(sm, CP, VM, PP)
        PL.publish(sm, pm)
  
  
keep keep keep keep replace replace keep keep keep keep keep
 LateralPlanner should only compute curvature (#20289)

* get curvature from planner

* no need to check active

* remove that

* remove self

* liveParams not needed

* cast

* fix test bug

* fixes

* fix ui.py

* fix radians

* update refs

* update refs

* bump cereal

* bump cereal

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com> 
selfdrive/controls/plannerd.py