Send usb wakeup through ChibiOS
This commit is contained in:
		
				
					committed by
					
						 Jack Humbert
						Jack Humbert
					
				
			
			
				
	
			
			
			
						parent
						
							30e413f985
						
					
				
				
					commit
					30b90de7c9
				
			| @@ -165,8 +165,8 @@ int main(void) { | ||||
| #endif | ||||
|         suspend_power_down(); // on AVR this deep sleeps for 15ms | ||||
|         /* Remote wakeup */ | ||||
|         if((USB_DRIVER.status & 2) && suspend_wakeup_condition()) { | ||||
|           send_remote_wakeup(&USB_DRIVER); | ||||
|         if(suspend_wakeup_condition()) { | ||||
|           usbWakeupHost(&USB_DRIVER); | ||||
|         } | ||||
|       } | ||||
|       /* Woken up */ | ||||
|   | ||||
| @@ -1036,27 +1036,6 @@ void init_usb_driver(USBDriver *usbp) { | ||||
| #endif | ||||
| } | ||||
|  | ||||
| /* | ||||
|  * Send remote wakeup packet | ||||
|  * Note: should not be called from ISR | ||||
|  */ | ||||
| void send_remote_wakeup(USBDriver *usbp) { | ||||
|   (void)usbp; | ||||
| #if defined(K20x) || defined(KL2x) | ||||
| #if KINETIS_USB_USE_USB0 | ||||
|   USB0->CTL |= USBx_CTL_RESUME; | ||||
|   wait_ms(15); | ||||
|   USB0->CTL &= ~USBx_CTL_RESUME; | ||||
| #endif /* KINETIS_USB_USE_USB0 */ | ||||
| #elif defined(STM32F0XX) || defined(STM32F1XX) || defined(STM32F3XX) /* End K20x || KL2x */ | ||||
|   STM32_USB->CNTR |= CNTR_RESUME; | ||||
|   wait_ms(15); | ||||
|   STM32_USB->CNTR &= ~CNTR_RESUME; | ||||
| #else /* End STM32F0XX || STM32F1XX || STM32F3XX */ | ||||
| #warning Sending remote wakeup packet not implemented for your platform. | ||||
| #endif | ||||
| } | ||||
|  | ||||
| /* --------------------------------------------------------- | ||||
|  *                  Keyboard functions | ||||
|  * --------------------------------------------------------- | ||||
|   | ||||
| @@ -36,9 +36,6 @@ | ||||
| /* Initialize the USB driver and bus */ | ||||
| void init_usb_driver(USBDriver *usbp); | ||||
|  | ||||
| /* Send remote wakeup packet */ | ||||
| void send_remote_wakeup(USBDriver *usbp); | ||||
|  | ||||
| /* --------------- | ||||
|  * Keyboard header | ||||
|  * --------------- | ||||
|   | ||||
		Reference in New Issue
	
	Block a user