Send usb wakeup through ChibiOS

This commit is contained in:
Fred Sundvik 2018-02-03 12:55:56 +02:00 committed by Jack Humbert
parent 30e413f985
commit 30b90de7c9
3 changed files with 2 additions and 26 deletions

View File

@ -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 */

View File

@ -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
* --------------------------------------------------------- * ---------------------------------------------------------

View File

@ -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
* --------------- * ---------------