|
|
@ -24,7 +24,7 @@ int write_param_float(float param, const char* param_name, bool persistent_param |
|
|
|
|
|
|
|
|
|
|
|
void ui_init(UIState *s) { |
|
|
|
void ui_init(UIState *s) { |
|
|
|
s->sm = new SubMaster({"model", "controlsState", "uiLayoutState", "liveCalibration", "radarState", "thermal", |
|
|
|
s->sm = new SubMaster({"model", "controlsState", "uiLayoutState", "liveCalibration", "radarState", "thermal", |
|
|
|
"health", "carParams", "ubloxGnss", "driverState", "dMonitoringState"}); |
|
|
|
"health", "carParams", "ubloxGnss", "driverState", "dMonitoringState", "sensorEvents"}); |
|
|
|
|
|
|
|
|
|
|
|
s->started = false; |
|
|
|
s->started = false; |
|
|
|
s->status = STATUS_OFFROAD; |
|
|
|
s->status = STATUS_OFFROAD; |
|
|
@ -117,7 +117,6 @@ void update_sockets(UIState *s) { |
|
|
|
UIScene &scene = s->scene; |
|
|
|
UIScene &scene = s->scene; |
|
|
|
SubMaster &sm = *(s->sm); |
|
|
|
SubMaster &sm = *(s->sm); |
|
|
|
|
|
|
|
|
|
|
|
// poll sockets
|
|
|
|
|
|
|
|
if (sm.update(0) == 0){ |
|
|
|
if (sm.update(0) == 0){ |
|
|
|
return; |
|
|
|
return; |
|
|
|
} |
|
|
|
} |
|
|
@ -219,6 +218,16 @@ void update_sockets(UIState *s) { |
|
|
|
scene.frontview = false; |
|
|
|
scene.frontview = false; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#ifdef QCOM2 // TODO: use this for QCOM too
|
|
|
|
|
|
|
|
if (sm.updated("sensorEvents")) { |
|
|
|
|
|
|
|
for (auto sensor : sm["sensorEvents"].getSensorEvents()) { |
|
|
|
|
|
|
|
if (sensor.which() == cereal::SensorEventData::LIGHT) { |
|
|
|
|
|
|
|
s->light_sensor = sensor.getLight(); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
|
|
s->started = scene.thermal.getStarted() || scene.frontview; |
|
|
|
s->started = scene.thermal.getStarted() || scene.frontview; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|