|  |  |  | @ -281,14 +281,12 @@ void AnnotatedCameraWidget::updateState(const UIState &s) { | 
			
		
	
		
			
				
					|  |  |  |  |   // update engageability/experimental mode button
 | 
			
		
	
		
			
				
					|  |  |  |  |   experimental_btn->updateState(s); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |   // update DM icons at 2Hz
 | 
			
		
	
		
			
				
					|  |  |  |  |   if (sm.frame % (UI_FREQ / 2) == 0) { | 
			
		
	
		
			
				
					|  |  |  |  |     setProperty("dmActive", sm["driverMonitoringState"].getDriverMonitoringState().getIsActiveMode()); | 
			
		
	
		
			
				
					|  |  |  |  |     setProperty("rightHandDM", sm["driverMonitoringState"].getDriverMonitoringState().getIsRHD()); | 
			
		
	
		
			
				
					|  |  |  |  |   } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |   // update DM icon
 | 
			
		
	
		
			
				
					|  |  |  |  |   auto dm_state = sm["driverMonitoringState"].getDriverMonitoringState(); | 
			
		
	
		
			
				
					|  |  |  |  |   setProperty("dmActive", dm_state.getIsActiveMode()); | 
			
		
	
		
			
				
					|  |  |  |  |   setProperty("rightHandDM", dm_state.getIsRHD()); | 
			
		
	
		
			
				
					|  |  |  |  |   // DM icon transition
 | 
			
		
	
		
			
				
					|  |  |  |  |   dm_fade_state = fmax(0.0, fmin(1.0, dm_fade_state+0.2*(0.5-(float)(dmActive)))); | 
			
		
	
		
			
				
					|  |  |  |  |   dm_fade_state = std::clamp(dm_fade_state+0.2*(0.5-dmActive), 0.0, 1.0); | 
			
		
	
		
			
				
					|  |  |  |  | } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | void AnnotatedCameraWidget::drawHud(QPainter &p) { | 
			
		
	
	
		
			
				
					|  |  |  | 
 |