  }
  
  int Localizer::locationd_thread() {
    LocalizerGnssSource source;
    const char* gps_location_socket;
    if (Params().getBool("UbloxAvailable")) {
      source = LocalizerGnssSource::UBLOX;
      gps_location_socket = "gpsLocationExternal";
 
</s> remove   const std::initializer_list<const char *> service_list = {"gnssMeasurements", "cameraOdometry", "liveCalibration",
 </s> add   LocalizerGnssSource source;
  const char* gps_location_socket;
  if (Params().getBool("UbloxAvailable")) {
    source = LocalizerGnssSource::UBLOX;
    gps_location_socket = "gpsLocationExternal";
  } else {
    source = LocalizerGnssSource::QCOM;
    gps_location_socket = "gpsLocation";
  }

  this->configure_gnss_source(source);
  const std::initializer_list<const char *> service_list = {gps_location_socket, "cameraOdometry", "liveCalibration", </s> remove const float  GPS_POS_STD_RESET_THRESHOLD = 10.0;
const float  GPS_VEL_STD_RESET_THRESHOLD = 1.0;
 </s> add const float  GPS_POS_STD_RESET_THRESHOLD = 2.0;
const float  GPS_VEL_STD_RESET_THRESHOLD = 0.5; </s> remove   Localizer();
 </s> add   Localizer(LocalizerGnssSource gnss_source = LocalizerGnssSource::UBLOX); </s> remove   bool orientation_reset = ecef_vel_std_norm < GPS_VEL_STD_RESET_THRESHOLD;
 </s> add   bool orientation_reset = ecef_vel_std < GPS_VEL_STD_RESET_THRESHOLD;
void Localizer::configure_gnss_source(LocalizerGnssSource source) {
  this->gnss_source = source;
  if (source == LocalizerGnssSource::UBLOX) {
    this->gps_std_factor = 10.0;
    this->gps_variance_factor = 1.0;
    this->gps_vertical_variance_factor = 1.0;
    this->gps_time_offset = GPS_UBLOX_SENSOR_TIME_OFFSET;
  } else {
    this->gps_std_factor = 2.0;
    this->gps_variance_factor = 0.0;
    this->gps_vertical_variance_factor = 3.0;
    this->gps_time_offset = GPS_QUECTEL_SENSOR_TIME_OFFSET;
  }
}

  }
  
void Localizer::configure_gnss_source(LocalizerGnssSource source) {
  this->gnss_source = source;
  if (source == LocalizerGnssSource::UBLOX) {
    this->gps_std_factor = 10.0;
    this->gps_variance_factor = 1.0;
    this->gps_vertical_variance_factor = 1.0;
    this->gps_time_offset = GPS_UBLOX_SENSOR_TIME_OFFSET;
  } else {
    this->gps_std_factor = 2.0;
    this->gps_variance_factor = 0.0;
    this->gps_vertical_variance_factor = 3.0;
    this->gps_time_offset = GPS_QUECTEL_SENSOR_TIME_OFFSET;
  }
}

  int Localizer::locationd_thread() {
    LocalizerGnssSource source;
    const char* gps_location_socket;
    if (Params().getBool("UbloxAvailable")) {
      source = LocalizerGnssSource::UBLOX;
      gps_location_socket = "gpsLocationExternal";
keep add keep keep keep keep keep keep
 Revert laikad llk (#29535)

* Revert "bump laika (#29522)"

This reverts commit 3523bef732316b534de66dcb9e7d29e53e37e99f.

* Revert "Locationd: switch to laikad (#29278)"

This reverts commit fd3b8a3d7511ad3d7c5aa0b82a1e2c28505e5a7f. 
selfdrive/locationd/locationd.cc