use gpsOK flag from locationd

pull/20027/head^2
Adeeb Shihadeh 4 years ago
parent 599380edd6
commit b3cf60cd0b
  1. 2
      selfdrive/ui/sidebar.cc
  2. 15
      selfdrive/ui/ui.cc
  3. 2
      selfdrive/ui/ui.hpp

@ -124,7 +124,7 @@ static void draw_panda_metric(UIState *s) {
} }
#ifdef QCOM2 #ifdef QCOM2
else if (s->started) { else if (s->started) {
panda_severity = s->scene.cnoAvg > 30 ? 0 : 1; panda_severity = s->scene.gpsOK ? 0 : 1;
panda_message = util::string_format("SAT CNT\n%d", s->scene.satelliteCount); panda_message = util::string_format("SAT CNT\n%d", s->scene.satelliteCount);
} }
#endif #endif

@ -41,7 +41,7 @@ static void ui_init_vision(UIState *s) {
void ui_init(UIState *s) { void ui_init(UIState *s) {
s->sm = new SubMaster({"modelV2", "controlsState", "uiLayoutState", "liveCalibration", "radarState", "thermal", "frame", s->sm = new SubMaster({"modelV2", "controlsState", "uiLayoutState", "liveCalibration", "radarState", "thermal", "frame", "liveLocationKalman",
"health", "carParams", "driverState", "driverMonitoringState", "sensorEvents", "carState", "ubloxGnss"}); "health", "carParams", "driverState", "driverMonitoringState", "sensorEvents", "carState", "ubloxGnss"});
s->started = false; s->started = false;
@ -174,19 +174,12 @@ static void update_sockets(UIState *s) {
if (sm.updated("ubloxGnss")) { if (sm.updated("ubloxGnss")) {
auto data = sm["ubloxGnss"].getUbloxGnss(); auto data = sm["ubloxGnss"].getUbloxGnss();
if (data.which() == cereal::UbloxGnss::MEASUREMENT_REPORT) { if (data.which() == cereal::UbloxGnss::MEASUREMENT_REPORT) {
auto measurements = data.getMeasurementReport().getMeasurements();
if (measurements.size()){
for (auto m : measurements) {
scene.cnoAvg += m.getCno();
}
scene.cnoAvg /= measurements.size();
} else {
scene.cnoAvg = 0;
}
scene.satelliteCount = data.getMeasurementReport().getNumMeas(); scene.satelliteCount = data.getMeasurementReport().getNumMeas();
} }
} }
if (sm.updated("liveLocationKalman")) {
scene.gpsOK = sm["liveLocationKalman"].getLiveLocationKalman().getGpsOK();
}
if (sm.updated("carParams")) { if (sm.updated("carParams")) {
s->longitudinal_control = sm["carParams"].getCarParams().getOpenpilotLongitudinalControl(); s->longitudinal_control = sm["carParams"].getCarParams().getOpenpilotLongitudinalControl();
} }

@ -120,7 +120,7 @@ typedef struct UIScene {
// gps // gps
int satelliteCount; int satelliteCount;
int cnoAvg; bool gpsOK;
// modelV2 // modelV2
float lane_line_probs[4]; float lane_line_probs[4];

Loading…
Cancel
Save