From 88912d23ae39eeeb6d354860a0b9136d3fce464a Mon Sep 17 00:00:00 2001 From: Jiacheng Guo Date: Tue, 2 Apr 2019 00:05:10 +0800 Subject: [PATCH] [nrf52840] signal event in usb cdc (#3715) --- examples/platforms/nrf52840/usb-cdc-uart.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/examples/platforms/nrf52840/usb-cdc-uart.c b/examples/platforms/nrf52840/usb-cdc-uart.c index 7e16ef83e..8c325b1ed 100644 --- a/examples/platforms/nrf52840/usb-cdc-uart.c +++ b/examples/platforms/nrf52840/usb-cdc-uart.c @@ -44,6 +44,7 @@ #include #include +#include #include #include #include @@ -125,6 +126,14 @@ static void cdcAcmUserEventHandler(app_usbd_class_inst_t const *aCdcAcmInstance, } } +static void usbdIsrHandler(app_usbd_internal_evt_t const *const aEvent, bool aQueued) +{ + (void)aEvent; + (void)aQueued; + + otSysEventSignalPending(); +} + static void usbdUserEventHandler(app_usbd_event_type_t aEvent) { switch (aEvent) @@ -253,7 +262,10 @@ static void processTransmit(void) void nrf5UartInit(void) { - static const app_usbd_config_t usbdConfig = {.ev_state_proc = usbdUserEventHandler}; + static const app_usbd_config_t usbdConfig = { + .ev_state_proc = usbdUserEventHandler, + .ev_isr_handler = usbdIsrHandler, + }; memset((void *)&sUsbState, 0, sizeof(sUsbState));