      desired_angle = math.degrees(VM.get_steer_from_curvature(-desired_curvature, CS.vEgo))
  
      instant_offset = params.angleOffsetDeg - params.angleOffsetAverageDeg
      desired_angle += instant_offset  # Only add offset that originates from vehicle model errors
  
      # Update Kalman filter
      angle_steers_k = float(self.C.dot(self.x_hat))
      e = steering_angle_no_offset - angle_steers_k
      self.x_hat = self.A.dot(self.x_hat) + self.B.dot(CS.steeringTorqueEps / torque_scale) + self.L.dot(e)
  
 
</s> remove     lqr_log.steeringAngleDeg = angle_steers_k + params.angleOffsetAverageDeg
 </s> add     lqr_log.steeringAngleDeg = angle_steers_k </s> remove 
      rate_des = VM.get_steer_from_curvature(-curvature_rate, CS.vEgo)

 </s> add  </s> remove     angle_log.steeringAngleDeg = angle_steers_des
 </s> add     angle_log.steeringAngleDeg = float(CS.steeringAngleDeg)
    angle_log.steeringAngleDesiredDeg = angle_steers_des 

    lqr_log.steeringAngleDesiredDeg = desired_angle
      desired_angle = math.degrees(VM.get_steer_from_curvature(-desired_curvature, CS.vEgo))
  
      instant_offset = params.angleOffsetDeg - params.angleOffsetAverageDeg
      desired_angle += instant_offset  # Only add offset that originates from vehicle model errors
    lqr_log.steeringAngleDesiredDeg = desired_angle
  
      # Update Kalman filter
      angle_steers_k = float(self.C.dot(self.x_hat))
      e = steering_angle_no_offset - angle_steers_k
      self.x_hat = self.A.dot(self.x_hat) + self.B.dot(CS.steeringTorqueEps / torque_scale) + self.L.dot(e)
  
keep keep keep add keep keep keep keep keep keep
 add desired angle to log (#23115)

* add desired angle to log

* update ref

* bump cereal 
selfdrive/controls/lib/latcontrol_lqr.py