summaryrefslogtreecommitdiff
path: root/src/device
diff options
context:
space:
mode:
authorHa Thach <[email protected]>2020-10-02 21:17:24 +0700
committerGitHub <[email protected]>2020-10-02 21:17:24 +0700
commit9c4aceaaa81d6f58bd75889ef0cda1e887485d61 (patch)
treef03ab8241dcebf210e1d1e76393198c093c9afca /src/device
parent8b2c82255750488232eae72f3d5dcbacfd6227f3 (diff)
parent96da1ca4b86f58074b741c8a2437c2fd8be2b867 (diff)
Merge pull request #518 from kasjer/kasjer/nrf5x-iso-support
nrf5x iso support
Diffstat (limited to 'src/device')
-rw-r--r--src/device/usbd.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/device/usbd.c b/src/device/usbd.c
index d1e984a0e..3a6ce9b6c 100644
--- a/src/device/usbd.c
+++ b/src/device/usbd.c
@@ -37,6 +37,10 @@
#define CFG_TUD_TASK_QUEUE_SZ 16
#endif
+#ifndef CFG_TUD_EP_MAX
+#define CFG_TUD_EP_MAX 9
+#endif
+
//--------------------------------------------------------------------+
// Device Data
//--------------------------------------------------------------------+
@@ -57,7 +61,7 @@ typedef struct
uint8_t speed;
uint8_t itf2drv[16]; // map interface number to driver (0xff is invalid)
- uint8_t ep2drv[8][2]; // map endpoint to driver ( 0xff is invalid )
+ uint8_t ep2drv[CFG_TUD_EP_MAX][2]; // map endpoint to driver ( 0xff is invalid )
struct TU_ATTR_PACKED
{
@@ -66,7 +70,7 @@ typedef struct
volatile bool claimed : 1;
// TODO merge ep2drv here, 4-bit should be sufficient
- }ep_status[8][2];
+ }ep_status[CFG_TUD_EP_MAX][2];
}usbd_device_t;
@@ -249,7 +253,7 @@ static osal_mutex_t _usbd_mutex;
//--------------------------------------------------------------------+
// Prototypes
//--------------------------------------------------------------------+
-static void mark_interface_endpoint(uint8_t ep2drv[8][2], uint8_t const* p_desc, uint16_t desc_len, uint8_t driver_id);
+static void mark_interface_endpoint(uint8_t ep2drv[][2], uint8_t const* p_desc, uint16_t desc_len, uint8_t driver_id);
static bool process_control_request(uint8_t rhport, tusb_control_request_t const * p_request);
static bool process_set_config(uint8_t rhport, uint8_t cfg_num);
static bool process_get_descriptor(uint8_t rhport, tusb_control_request_t const * p_request);
@@ -842,7 +846,7 @@ static bool process_set_config(uint8_t rhport, uint8_t cfg_num)
}
// Helper marking endpoint of interface belongs to class driver
-static void mark_interface_endpoint(uint8_t ep2drv[8][2], uint8_t const* p_desc, uint16_t desc_len, uint8_t driver_id)
+static void mark_interface_endpoint(uint8_t ep2drv[][2], uint8_t const* p_desc, uint16_t desc_len, uint8_t driver_id)
{
uint16_t len = 0;