summaryrefslogtreecommitdiff
path: root/tinyusb/device/usbd_dcd.h
diff options
context:
space:
mode:
authorhathach <[email protected]>2013-11-01 12:11:26 +0700
committerhathach <[email protected]>2013-11-01 12:11:26 +0700
commit3a54ad4c0d4e31bf9a13cebb771ccc9e9f4f6449 (patch)
treea47a948c51dd729c57593ab572c157665f4e3fd3 /tinyusb/device/usbd_dcd.h
parentc760c69d51e44c98f9a15feb3f93bee599026332 (diff)
implement msc device class
usbd auto stall control for not supported return from class control request usbd implement xfer isr callback mechanism DCD - implement dcd multiple qtd support - dcd dcd_pipe_stall - implement dcd_pipe_queue_xfer - xfer_complete_isr - flush control endpoint if received new setup while previous transfer is not complete change msc_cmd_block_wrapper_t flags field to dir force full speed for easy testing NOTEs: somehow unable to get endpoint IN interrupt with ioc
Diffstat (limited to 'tinyusb/device/usbd_dcd.h')
-rw-r--r--tinyusb/device/usbd_dcd.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/tinyusb/device/usbd_dcd.h b/tinyusb/device/usbd_dcd.h
index 27e4d737f..e2a8ad24a 100644
--- a/tinyusb/device/usbd_dcd.h
+++ b/tinyusb/device/usbd_dcd.h
@@ -57,6 +57,8 @@
#define USBD_MAX_INTERFACE 16 // TODO refractor later
#define USBD_MAX_ENDPOINT 32 // TODO refractor later
+
+
typedef struct {
volatile uint8_t state;
uint8_t interface2class[USBD_MAX_INTERFACE]; // determine interface number belongs to which class
@@ -66,7 +68,9 @@ extern usbd_device_info_t usbd_devices[CONTROLLER_DEVICE_NUMBER];
//--------------------------------------------------------------------+
// callback from DCD ISR
//--------------------------------------------------------------------+
-void usbd_xfer_isr(endpoint_handle_t pipe_hdl, tusb_event_t event, uint32_t xferred_bytes);
+void usbd_xfer_isr(endpoint_handle_t edpt_hdl, tusb_event_t event, uint32_t xferred_bytes);
+void usbd_bus_reset(uint32_t coreid);
+void usbd_setup_received_isr(uint8_t coreid, tusb_control_request_t * p_request);
#ifdef __cplusplus
}