From cfdc7999f661ecc5d978073f2808d4319ee44426 Mon Sep 17 00:00:00 2001 From: hathach Date: Sun, 11 Mar 2018 15:20:27 +0700 Subject: refactor dcd API, drop edpt_hdl_t in favor of endpoint address for easy port --- tinyusb/device/usbd.c | 12 ++++++------ tinyusb/device/usbd.h | 4 ++-- 2 files changed, 8 insertions(+), 8 deletions(-) (limited to 'tinyusb/device') 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); -- cgit v1.3.1