summaryrefslogtreecommitdiff
path: root/tinyusb/device
diff options
context:
space:
mode:
authorhathach <[email protected]>2018-03-11 15:20:27 +0700
committerhathach <[email protected]>2018-03-11 15:20:27 +0700
commitcfdc7999f661ecc5d978073f2808d4319ee44426 (patch)
tree495fdb52ed753960ac76b18a4426d9cf2c9e594a /tinyusb/device
parentfd250b92cb62780dee5d99b49bbcbc05080b6987 (diff)
refactor dcd API, drop edpt_hdl_t in favor of endpoint address for easy port
Diffstat (limited to 'tinyusb/device')
-rw-r--r--tinyusb/device/usbd.c12
-rw-r--r--tinyusb/device/usbd.h4
2 files changed, 8 insertions, 8 deletions
diff --git a/tinyusb/device/usbd.c b/tinyusb/device/usbd.c
index 9e0a57216..2ae86ef8d 100644
--- a/tinyusb/device/usbd.c
+++ b/tinyusb/device/usbd.c
@@ -138,7 +138,7 @@ typedef struct ATTR_ALIGNED(4)
tusb_control_request_t setup_received;
struct { // USBD_EVENTID_XFER_DONE
- edpt_hdl_t edpt_hdl;
+ uint8_t edpt_addr;
uint32_t xferred_byte;
}xfer_done;
};
@@ -252,7 +252,7 @@ static tusb_error_t usbd_body_subtask(void)
{
if ( usbd_class_drivers[class_code].xfer_cb )
{
- usbd_class_drivers[class_code].xfer_cb( event.xfer_done.edpt_hdl, (tusb_event_t) event.sub_event_id, event.xfer_done.xferred_byte);
+ usbd_class_drivers[class_code].xfer_cb( event.port, event.xfer_done.edpt_addr, (tusb_event_t) event.sub_event_id, event.xfer_done.xferred_byte);
}
}
}else if (USBD_EVENTID_SOF == event.event_id)
@@ -498,9 +498,9 @@ void tusb_dcd_setup_received(uint8_t port, uint8_t const* p_request)
osal_queue_send(usbd_queue_hdl, &task_event);
}
-void tusb_dcd_xfer_complete(edpt_hdl_t edpt_hdl, uint32_t xferred_bytes, bool succeeded)
+void tusb_dcd_xfer_complete(uint8_t port, uint8_t edpt_addr, uint32_t xferred_bytes, bool succeeded)
{
- if (edpt_hdl.index == 0 )
+ if (edpt_addr == 0 )
{
// Control Transfer
osal_semaphore_post( usbd_control_xfer_sem_hdl );
@@ -508,13 +508,13 @@ void tusb_dcd_xfer_complete(edpt_hdl_t edpt_hdl, uint32_t xferred_bytes, bool su
{
usbd_task_event_t task_event =
{
- .port = edpt_hdl.port,
+ .port = port,
.event_id = USBD_EVENTID_XFER_DONE,
.sub_event_id = succeeded ? TUSB_EVENT_XFER_COMPLETE : TUSB_EVENT_XFER_ERROR
};
+ task_event.xfer_done.edpt_addr = edpt_addr;
task_event.xfer_done.xferred_byte = xferred_bytes;
- task_event.xfer_done.edpt_hdl = edpt_hdl;
osal_queue_send(usbd_queue_hdl, &task_event);
}
diff --git a/tinyusb/device/usbd.h b/tinyusb/device/usbd.h
index 3fb6a6254..8258abfdf 100644
--- a/tinyusb/device/usbd.h
+++ b/tinyusb/device/usbd.h
@@ -78,9 +78,9 @@ extern tusbd_descriptor_pointer_t tusbd_descriptor_pointers;
typedef struct {
void (* init) (void);
- tusb_error_t (* open)(uint8_t, tusb_descriptor_interface_t const *, uint16_t*);
+ tusb_error_t (* open)(uint8_t port, tusb_descriptor_interface_t const * desc_intf, uint16_t* p_length);
tusb_error_t (* control_request_subtask) (uint8_t port, tusb_control_request_t const *);
- tusb_error_t (* xfer_cb) (edpt_hdl_t, tusb_event_t, uint32_t);
+ tusb_error_t (* xfer_cb) (uint8_t port, uint8_t edpt_addr, tusb_event_t, uint32_t);
// void (* routine)(void);
void (* sof)(uint8_t port);
void (* close) (uint8_t);