  
    def update(self, cp, cp_cam):
      ret = car.CarState.new_message()
  
      # car speed
      ret.vEgoRaw = cp.vl["BrakeSysFeatures"]["Veh_V_ActlBrk"] * CV.KPH_TO_MS
      ret.vEgo, ret.aEgo = self.update_speed_kf(ret.vEgoRaw)
      ret.yawRate = cp.vl["Yaw_Data_FD1"]["VehYaw_W_Actl"]
      ret.standstill = cp.vl["DesiredTorqBrk"]["VehStop_D_Stat"] == 1
  
 
</s>
    # Occasionally on startup, the ABS module recalibrates the steering pinion offset, so we need to block engagement
    # The vehicle usually recovers out of this state within a minute of normal driving
    self.vehicle_sensors_valid = cp.vl["SteeringPinion_Data"]["StePinCompAnEst_D_Qf"] == 3

  
    def update(self, cp, cp_cam):
      ret = car.CarState.new_message()
  
    # Occasionally on startup, the ABS module recalibrates the steering pinion offset, so we need to block engagement
    # The vehicle usually recovers out of this state within a minute of normal driving
    self.vehicle_sensors_valid = cp.vl["SteeringPinion_Data"]["StePinCompAnEst_D_Qf"] == 3

      # car speed
      ret.vEgoRaw = cp.vl["BrakeSysFeatures"]["Veh_V_ActlBrk"] * CV.KPH_TO_MS
      ret.vEgo, ret.aEgo = self.update_speed_kf(ret.vEgoRaw)
      ret.yawRate = cp.vl["Yaw_Data_FD1"]["VehYaw_W_Actl"]
      ret.standstill = cp.vl["DesiredTorqBrk"]["VehStop_D_Stat"] == 1
  
keep keep keep add keep keep keep keep keep keep
 Ford: add alert for steering wheel angle not ready (#28140)

* add event for steering angle calibrating

* how about this

how about this

* rename

* more openpilot-y

* add comment to code

* move to top

* better wording

* more general

* fix

* ?

* above

* bump cereal to master

* add more comms
selfdrive/car/ford/carstate.py