|  |  |  | @ -54,8 +54,13 @@ static void ui_init_vision(UIState *s) { | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | void ui_init(UIState *s) { | 
			
		
	
		
			
				
					|  |  |  |  |   s->sm = new SubMaster({"modelV2", "controlsState", "uiLayoutState", "liveCalibration", "radarState", "deviceState", "liveLocationKalman", | 
			
		
	
		
			
				
					|  |  |  |  |                          "pandaState", "carParams", "driverState", "driverMonitoringState", "sensorEvents", "carState", "ubloxGnss"}); | 
			
		
	
		
			
				
					|  |  |  |  |   s->sm = new SubMaster({ | 
			
		
	
		
			
				
					|  |  |  |  |     "modelV2", "controlsState", "uiLayoutState", "liveCalibration", "radarState", "deviceState", "liveLocationKalman", | 
			
		
	
		
			
				
					|  |  |  |  |     "pandaState", "carParams", "driverState", "driverMonitoringState", "sensorEvents", "carState", "ubloxGnss", | 
			
		
	
		
			
				
					|  |  |  |  | #ifdef QCOM2 | 
			
		
	
		
			
				
					|  |  |  |  |     "roadCameraState", | 
			
		
	
		
			
				
					|  |  |  |  | #endif | 
			
		
	
		
			
				
					|  |  |  |  |   }); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |   s->scene.started = false; | 
			
		
	
		
			
				
					|  |  |  |  |   s->status = STATUS_OFFROAD; | 
			
		
	
	
		
			
				
					|  |  |  | @ -215,7 +220,9 @@ static void update_sockets(UIState *s) { | 
			
		
	
		
			
				
					|  |  |  |  |   if (sm.updated("sensorEvents")) { | 
			
		
	
		
			
				
					|  |  |  |  |     for (auto sensor : sm["sensorEvents"].getSensorEvents()) { | 
			
		
	
		
			
				
					|  |  |  |  |       if (sensor.which() == cereal::SensorEventData::LIGHT) { | 
			
		
	
		
			
				
					|  |  |  |  | #ifndef QCOM2 | 
			
		
	
		
			
				
					|  |  |  |  |         scene.light_sensor = sensor.getLight(); | 
			
		
	
		
			
				
					|  |  |  |  | #endif | 
			
		
	
		
			
				
					|  |  |  |  |       } else if (!scene.started && sensor.which() == cereal::SensorEventData::ACCELERATION) { | 
			
		
	
		
			
				
					|  |  |  |  |         auto accel = sensor.getAcceleration().getV(); | 
			
		
	
		
			
				
					|  |  |  |  |         if (accel.totalSize().wordCount){ // TODO: sometimes empty lists are received. Figure out why
 | 
			
		
	
	
		
			
				
					|  |  |  | @ -229,6 +236,11 @@ static void update_sockets(UIState *s) { | 
			
		
	
		
			
				
					|  |  |  |  |       } | 
			
		
	
		
			
				
					|  |  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  |  |   } | 
			
		
	
		
			
				
					|  |  |  |  | #ifdef QCOM2 | 
			
		
	
		
			
				
					|  |  |  |  |   if (sm.updated("roadCameraState")) { | 
			
		
	
		
			
				
					|  |  |  |  |     scene.light_sensor = std::clamp<float>(1023.0 - sm["roadCameraState"].getRoadCameraState().getIntegLines(), 0.0, 1023.0); | 
			
		
	
		
			
				
					|  |  |  |  |   } | 
			
		
	
		
			
				
					|  |  |  |  | #endif | 
			
		
	
		
			
				
					|  |  |  |  |   scene.started = scene.deviceState.getStarted() || scene.driver_view; | 
			
		
	
		
			
				
					|  |  |  |  | } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
	
		
			
				
					|  |  |  | 
 |