* resolve race condition between suspend and wake in LUFA * avoid multiple calls to suspend_power_down() / suspend_wakeup_init() * Remove duplicate suspend_power_down_kb() call * pause on wakeup to wait for USB state to settle * need the repeated suspend_power_down() (that's where the sleep is) * more efficient implementation * fine tune the pause after sending wakeup * speculative chibios version of pause-after-wake * make wakeup delay configurable, and adjust value * better location for wakeup delay
		
			
				
	
	
		
			19 lines
		
	
	
		
			417 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			19 lines
		
	
	
		
			417 B
		
	
	
	
		
			C
		
	
	
	
	
	
| #pragma once
 | |
| 
 | |
| #include <stdint.h>
 | |
| #include <stdbool.h>
 | |
| 
 | |
| void suspend_idle(uint8_t timeout);
 | |
| void suspend_power_down(void);
 | |
| bool suspend_wakeup_condition(void);
 | |
| void suspend_wakeup_init(void);
 | |
| 
 | |
| void suspend_wakeup_init_user(void);
 | |
| void suspend_wakeup_init_kb(void);
 | |
| void suspend_power_down_user(void);
 | |
| void suspend_power_down_kb(void);
 | |
| 
 | |
| #ifndef USB_SUSPEND_WAKEUP_DELAY
 | |
| #    define USB_SUSPEND_WAKEUP_DELAY 200
 | |
| #endif
 |