summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorhathach <[email protected]>2022-03-10 11:59:51 +0700
committerhathach <[email protected]>2022-03-10 11:59:51 +0700
commitb05401a5ab788a9b1a56bdb79b74e49b6909339f (patch)
treeae0dd71c853395386efb22a96249aebe5dd463f6 /src
parent97636eff8e855c1f901477ca7914c0eca5024432 (diff)
merge control stage host and device value
Diffstat (limited to 'src')
-rw-r--r--src/common/tusb_types.h1
-rw-r--r--src/host/usbh_control.c22
2 files changed, 8 insertions, 15 deletions
diff --git a/src/common/tusb_types.h b/src/common/tusb_types.h
index 5b26f5aec..f998eabfb 100644
--- a/src/common/tusb_types.h
+++ b/src/common/tusb_types.h
@@ -265,6 +265,7 @@ typedef enum
enum
{
+ CONTROL_STAGE_IDLE,
CONTROL_STAGE_SETUP,
CONTROL_STAGE_DATA,
CONTROL_STAGE_ACK
diff --git a/src/host/usbh_control.c b/src/host/usbh_control.c
index f311cc257..741b0723a 100644
--- a/src/host/usbh_control.c
+++ b/src/host/usbh_control.c
@@ -31,14 +31,6 @@
#include "tusb.h"
#include "usbh_classdriver.h"
-enum
-{
- STAGE_IDLE,
- STAGE_SETUP,
- STAGE_DATA,
- STAGE_ACK
-};
-
typedef struct
{
tusb_control_request_t request TU_ATTR_ALIGNED(4);
@@ -61,7 +53,7 @@ bool usbh_control_xfer (uint8_t dev_addr, tusb_control_request_t const* request,
_ctrl_xfer.request = (*request);
_ctrl_xfer.buffer = buffer;
- _ctrl_xfer.stage = STAGE_SETUP;
+ _ctrl_xfer.stage = CONTROL_STAGE_SETUP;
_ctrl_xfer.complete_cb = complete_cb;
// Send setup packet
@@ -73,7 +65,7 @@ bool usbh_control_xfer (uint8_t dev_addr, tusb_control_request_t const* request,
static void _xfer_complete(uint8_t dev_addr, xfer_result_t result)
{
TU_LOG2("\r\n");
- _ctrl_xfer.stage = STAGE_IDLE;
+ _ctrl_xfer.stage = CONTROL_STAGE_IDLE;
if (_ctrl_xfer.complete_cb) _ctrl_xfer.complete_cb(dev_addr, &_ctrl_xfer.request, result);
}
@@ -96,8 +88,8 @@ bool usbh_control_xfer_cb (uint8_t dev_addr, uint8_t ep_addr, xfer_result_t resu
{
switch(_ctrl_xfer.stage)
{
- case STAGE_SETUP:
- _ctrl_xfer.stage = STAGE_DATA;
+ case CONTROL_STAGE_SETUP:
+ _ctrl_xfer.stage = CONTROL_STAGE_DATA;
if (request->wLength)
{
// DATA stage: initial data toggle is always 1
@@ -106,8 +98,8 @@ bool usbh_control_xfer_cb (uint8_t dev_addr, uint8_t ep_addr, xfer_result_t resu
}
__attribute__((fallthrough));
- case STAGE_DATA:
- _ctrl_xfer.stage = STAGE_ACK;
+ case CONTROL_STAGE_DATA:
+ _ctrl_xfer.stage = CONTROL_STAGE_ACK;
if (request->wLength)
{
@@ -119,7 +111,7 @@ bool usbh_control_xfer_cb (uint8_t dev_addr, uint8_t ep_addr, xfer_result_t resu
hcd_edpt_xfer(rhport, dev_addr, tu_edpt_addr(0, 1-request->bmRequestType_bit.direction), NULL, 0);
break;
- case STAGE_ACK:
+ case CONTROL_STAGE_ACK:
_xfer_complete(dev_addr, result);
break;