  }
  
  void Localizer::handle_live_calib(double current_time, const cereal::LiveCalibrationData::Reader& log) {
    if (log.getRpyCalib().size() > 0) {
      auto live_calib = floatlist2vector(log.getRpyCalib());
      if ((live_calib.minCoeff() < -CALIB_RPY_SANITY_CHECK) || (live_calib.maxCoeff() > CALIB_RPY_SANITY_CHECK)) {
        this->observation_values_invalid["liveCalibration"] += 1.0;
        return;
      }
 
</s>
  if (!this->is_timestamp_valid(current_time)) {
    this->observation_timings_invalid = true;
    return;
  }

  }
  
  void Localizer::handle_live_calib(double current_time, const cereal::LiveCalibrationData::Reader& log) {
  if (!this->is_timestamp_valid(current_time)) {
    this->observation_timings_invalid = true;
    return;
  }

    if (log.getRpyCalib().size() > 0) {
      auto live_calib = floatlist2vector(log.getRpyCalib());
      if ((live_calib.minCoeff() < -CALIB_RPY_SANITY_CHECK) || (live_calib.maxCoeff() > CALIB_RPY_SANITY_CHECK)) {
        this->observation_values_invalid["liveCalibration"] += 1.0;
        return;
      }
keep keep add keep keep keep keep keep keep
 [locationd] Add input checks (#26460)

* add input checks with same decay as reset_tracker

* add observation timings check

* typo

* bugfix

* improve offline locationd visibility

* sbugfix offline lld

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
selfdrive/locationd/locationd.cc