@ -40,7 +40,7 @@ void Running::entry() { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    sUnmountTimer  =  xTimerCreate ( " unmount_timeout " ,  kTicksBeforeUnmount ,  false ,   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                                 NULL ,  timer_callback ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					  }   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					  mountStorage ( ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					  events : : System ( ) . Dispatch ( internal : : Mount { } ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					}  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					void  Running : : exit ( )  {  
				
			 
			
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
				 
				 
				
					@ -72,7 +72,8 @@ void Running::react(const SdDetectChanged& ev) { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					  }   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					  if  ( ev . has_sd_card  & &  ! sStorage )  {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    mountStorage ( ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    events : : System ( ) . Dispatch ( internal : : Mount { } ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    return ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					  }   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					  // Don't automatically unmount, since this event seems to occasionally happen
   
				
			 
			
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
				 
				 
				
					@ -120,7 +121,7 @@ void Running::react(const SamdUsbMscChanged& ev) { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    gpios . WriteSync ( drivers : : IGpios : : Pin : : kSdPowerEnable ,  0 ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    // Now it's ready for us.
   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    mountStorage ( ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    events : : System ( ) . Dispatch ( internal : : Mount { } ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					  }   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					}  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
				 
				 
				
					@ -145,7 +146,7 @@ auto Running::updateSdState(drivers::SdState state) -> void { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					  events : : System ( ) . Dispatch ( SdStateChanged { } ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					}  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					auto   Running : : mountStorage ( )  - >  void   {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					void   Running : : react ( const  internal : : Mount & )   {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					  // Only mount our storage if we know it's not currently in use by the SAMD.
   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					  if  ( sServices - > samd ( ) . UsbMassStorage ( ) )  {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    updateSdState ( drivers : : SdState : : kNotMounted ) ;