#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 */
#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
* ---------------------------------------------------------
/* Initialize the USB driver and bus */
void init_usb_driver(USBDriver *usbp);
-/* Send remote wakeup packet */
-void send_remote_wakeup(USBDriver *usbp);
-
/* ---------------
* Keyboard header
* ---------------