Master mode remains active
It remains active even if the USB link is suspended or otherwise temporarilly goes down.
This commit is contained in:
		
							parent
							
								
									f7275f0ede
								
							
						
					
					
						commit
						59657355d2
					
				
					 1 changed files with 3 additions and 1 deletions
				
			
		| 
						 | 
				
			
			@ -88,11 +88,13 @@ static THD_FUNCTION(serialThread, arg) {
 | 
			
		|||
        EVENT_MASK(2),
 | 
			
		||||
        CHN_INPUT_AVAILABLE);
 | 
			
		||||
    bool need_wait = false;
 | 
			
		||||
    bool is_master = false;
 | 
			
		||||
    while(true) {
 | 
			
		||||
        if (need_wait) {
 | 
			
		||||
            chEvtWaitAnyTimeout(ALL_EVENTS, MS2ST(1000));
 | 
			
		||||
        }
 | 
			
		||||
        bool is_master = usbGetDriverStateI(&USBD1) == USB_ACTIVE;
 | 
			
		||||
        // Always stay as master, even if the USB goes into sleep mode
 | 
			
		||||
        is_master |= usbGetDriverStateI(&USBD1) == USB_ACTIVE;
 | 
			
		||||
        router_set_master(is_master);
 | 
			
		||||
 | 
			
		||||
        need_wait = true;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue