Send usb wakeup through ChibiOS
This commit is contained in:
parent
30e413f985
commit
30b90de7c9
3 changed files with 2 additions and 26 deletions
|
@ -165,8 +165,8 @@ int main(void) {
|
||||||
#endif
|
#endif
|
||||||
suspend_power_down(); // on AVR this deep sleeps for 15ms
|
suspend_power_down(); // on AVR this deep sleeps for 15ms
|
||||||
/* Remote wakeup */
|
/* Remote wakeup */
|
||||||
if((USB_DRIVER.status & 2) && suspend_wakeup_condition()) {
|
if(suspend_wakeup_condition()) {
|
||||||
send_remote_wakeup(&USB_DRIVER);
|
usbWakeupHost(&USB_DRIVER);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/* Woken up */
|
/* Woken up */
|
||||||
|
|
|
@ -1036,27 +1036,6 @@ void init_usb_driver(USBDriver *usbp) {
|
||||||
#endif
|
#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
|
* Keyboard functions
|
||||||
* ---------------------------------------------------------
|
* ---------------------------------------------------------
|
||||||
|
|
|
@ -36,9 +36,6 @@
|
||||||
/* Initialize the USB driver and bus */
|
/* Initialize the USB driver and bus */
|
||||||
void init_usb_driver(USBDriver *usbp);
|
void init_usb_driver(USBDriver *usbp);
|
||||||
|
|
||||||
/* Send remote wakeup packet */
|
|
||||||
void send_remote_wakeup(USBDriver *usbp);
|
|
||||||
|
|
||||||
/* ---------------
|
/* ---------------
|
||||||
* Keyboard header
|
* Keyboard header
|
||||||
* ---------------
|
* ---------------
|
||||||
|
|
Loading…
Reference in a new issue