summaryrefslogtreecommitdiff
path: root/src/device/usbd.c
diff options
context:
space:
mode:
authorhathach <[email protected]>2019-11-04 22:52:29 +0700
committerhathach <[email protected]>2019-11-04 22:52:29 +0700
commit2727983a2d20ab586d5e2cd905f2c712f1d95db6 (patch)
treec2d6697a9b67360453ca0331720896d366d7d92b /src/device/usbd.c
parent4d329d46cc36a8df05580ea7b19f2ce7a8dc2bf7 (diff)
fix #211
Diffstat (limited to 'src/device/usbd.c')
-rw-r--r--src/device/usbd.c25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/device/usbd.c b/src/device/usbd.c
index 46affdab4..e306bc121 100644
--- a/src/device/usbd.c
+++ b/src/device/usbd.c
@@ -884,6 +884,31 @@ void dcd_event_handler(dcd_event_t const * event, bool in_isr)
}
}
+void dcd_event_bus_signal (uint8_t rhport, dcd_eventid_t eid, bool in_isr)
+{
+ dcd_event_t event = { .rhport = rhport, .event_id = eid, };
+ dcd_event_handler(&event, in_isr);
+}
+
+void dcd_event_setup_received(uint8_t rhport, uint8_t const * setup, bool in_isr)
+{
+ dcd_event_t event = { .rhport = rhport, .event_id = DCD_EVENT_SETUP_RECEIVED };
+ memcpy(&event.setup_received, setup, 8);
+
+ dcd_event_handler(&event, in_isr);
+}
+
+void dcd_event_xfer_complete (uint8_t rhport, uint8_t ep_addr, uint32_t xferred_bytes, uint8_t result, bool in_isr)
+{
+ dcd_event_t event = { .rhport = rhport, .event_id = DCD_EVENT_XFER_COMPLETE };
+
+ event.xfer_complete.ep_addr = ep_addr;
+ event.xfer_complete.len = xferred_bytes;
+ event.xfer_complete.result = result;
+
+ dcd_event_handler(&event, in_isr);
+}
+
//--------------------------------------------------------------------+
// Helper
//--------------------------------------------------------------------+