merge tusb_dcd_control_stall() to tusb_dcd_edpt_stall()
This commit is contained in:
@@ -382,7 +382,7 @@ tusb_error_t usbd_control_request_subtask(uint8_t port, tusb_control_request_t c
|
||||
if(TUSB_ERROR_NONE != error)
|
||||
{
|
||||
// Response with Protocol Stall if request is not supported
|
||||
tusb_dcd_control_stall(port);
|
||||
tusb_dcd_edpt_stall(port, 0);
|
||||
}else if (p_request->wLength == 0)
|
||||
{
|
||||
usbd_control_status(port, 1-p_request->bmRequestType_bit.direction);
|
||||
@@ -546,6 +546,10 @@ void tusb_dcd_xfer_complete(uint8_t port, uint8_t ep_addr, uint32_t xferred_byte
|
||||
{
|
||||
if (ep_addr == 0 )
|
||||
{
|
||||
(void) port;
|
||||
(void) xferred_bytes;
|
||||
(void) succeeded;
|
||||
|
||||
// Control Transfer
|
||||
osal_semaphore_post( usbd_control_xfer_sem_hdl );
|
||||
}else
|
||||
@@ -557,7 +561,7 @@ void tusb_dcd_xfer_complete(uint8_t port, uint8_t ep_addr, uint32_t xferred_byte
|
||||
.sub_event_id = succeeded ? TUSB_EVENT_XFER_COMPLETE : TUSB_EVENT_XFER_ERROR
|
||||
};
|
||||
|
||||
task_event.xfer_done.ep_addr = ep_addr;
|
||||
task_event.xfer_done.ep_addr = ep_addr;
|
||||
task_event.xfer_done.xferred_byte = xferred_bytes;
|
||||
|
||||
osal_queue_send(usbd_queue_hdl, &task_event);
|
||||
|
@@ -73,24 +73,28 @@ void tusb_dcd_set_config (uint8_t port, uint8_t config_num);
|
||||
*------------------------------------------------------------------*/
|
||||
void tusb_dcd_bus_event (uint8_t port, usbd_bus_event_type_t bus_event);
|
||||
void tusb_dcd_setup_received (uint8_t port, uint8_t const* p_request);
|
||||
void tusb_dcd_xfer_complete (uint8_t port, uint8_t edpt_addr, uint32_t xferred_bytes, bool succeeded);
|
||||
void tusb_dcd_xfer_complete (uint8_t port, uint8_t ep_addr, uint32_t xferred_bytes, bool succeeded);
|
||||
|
||||
static inline void tusb_dcd_control_complete(uint8_t port)
|
||||
{
|
||||
// TODO all control complete is successful !!
|
||||
tusb_dcd_xfer_complete(port, 0, 0, true);
|
||||
}
|
||||
|
||||
/*------------------------------------------------------------------*/
|
||||
/* Endpoint API
|
||||
*------------------------------------------------------------------*/
|
||||
|
||||
//------------- Control Endpoint -------------//
|
||||
bool tusb_dcd_control_xfer (uint8_t port, tusb_dir_t dir, uint8_t * buffer, uint16_t length);
|
||||
void tusb_dcd_control_stall (uint8_t port);
|
||||
|
||||
//------------- Other Endpoints -------------//
|
||||
bool tusb_dcd_edpt_open (uint8_t port, tusb_descriptor_endpoint_t const * p_endpoint_desc);
|
||||
bool tusb_dcd_edpt_xfer (uint8_t port, uint8_t edpt_addr, uint8_t * buffer, uint16_t total_bytes, bool int_on_complete);
|
||||
bool tusb_dcd_edpt_queue_xfer (uint8_t port, uint8_t edpt_addr, uint8_t * buffer, uint16_t total_bytes); // only queue, not transferring yet
|
||||
bool tusb_dcd_edpt_busy (uint8_t port, uint8_t edpt_addr);
|
||||
bool tusb_dcd_edpt_xfer (uint8_t port, uint8_t ep_addr, uint8_t * buffer, uint16_t total_bytes, bool int_on_complete);
|
||||
bool tusb_dcd_edpt_queue_xfer (uint8_t port, uint8_t ep_addr, uint8_t * buffer, uint16_t total_bytes); // only queue, not transferring yet
|
||||
bool tusb_dcd_edpt_busy (uint8_t port, uint8_t ep_addr);
|
||||
|
||||
void tusb_dcd_edpt_stall (uint8_t port, uint8_t edpt_addr);
|
||||
void tusb_dcd_edpt_clear_stall (uint8_t port, uint8_t edpt_addr);
|
||||
void tusb_dcd_edpt_stall (uint8_t port, uint8_t ep_addr);
|
||||
void tusb_dcd_edpt_clear_stall (uint8_t port, uint8_t ep_addr);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
Reference in New Issue
Block a user