Send usb wakeup through ChibiOS
This commit is contained in:
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
|
||||
* ---------------
|
||||
|
Loading…
Reference in New Issue
Block a user