mirror of
https://github.com/hathach/tinyusb.git
synced 2025-02-15 03:40:19 +00:00
house keeping
This commit is contained in:
parent
a3cb2dda9e
commit
ae5dc435cb
@ -43,20 +43,20 @@
|
|||||||
typedef struct {
|
typedef struct {
|
||||||
struct TU_ATTR_PACKED
|
struct TU_ATTR_PACKED
|
||||||
{
|
{
|
||||||
volatile uint8_t connected : 1;
|
volatile uint8_t connected : 1;
|
||||||
volatile uint8_t configured : 1;
|
volatile uint8_t configured : 1;
|
||||||
volatile uint8_t suspended : 1;
|
volatile uint8_t suspended : 1;
|
||||||
|
|
||||||
uint8_t remote_wakeup_en : 1; // enable/disable by host
|
uint8_t remote_wakeup_en : 1; // enable/disable by host
|
||||||
uint8_t remote_wakeup_support : 1; // configuration descriptor's attribute
|
uint8_t remote_wakeup_support : 1; // configuration descriptor's attribute
|
||||||
uint8_t self_powered : 1; // configuration descriptor's attribute
|
uint8_t self_powered : 1; // configuration descriptor's attribute
|
||||||
};
|
};
|
||||||
|
|
||||||
uint8_t ep_busy_map[2]; // bit mask for busy endpoint
|
uint8_t ep_busy_map[2]; // bit mask for busy endpoint
|
||||||
uint8_t ep_stall_map[2]; // bit map for stalled endpoint
|
uint8_t ep_stall_map[2]; // bit map for stalled endpoint
|
||||||
|
|
||||||
uint8_t itf2drv[16]; // map interface number to driver (0xff is invalid)
|
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[8][2]; // map endpoint to driver ( 0xff is invalid )
|
||||||
}usbd_device_t;
|
}usbd_device_t;
|
||||||
|
|
||||||
static usbd_device_t _usbd_dev = { 0 };
|
static usbd_device_t _usbd_dev = { 0 };
|
||||||
@ -71,7 +71,7 @@ typedef struct {
|
|||||||
bool (* open ) (uint8_t rhport, tusb_desc_interface_t const * desc_intf, uint16_t* p_length);
|
bool (* open ) (uint8_t rhport, tusb_desc_interface_t const * desc_intf, uint16_t* p_length);
|
||||||
bool (* control_request ) (uint8_t rhport, tusb_control_request_t const * request);
|
bool (* control_request ) (uint8_t rhport, tusb_control_request_t const * request);
|
||||||
bool (* control_complete ) (uint8_t rhport, tusb_control_request_t const * request);
|
bool (* control_complete ) (uint8_t rhport, tusb_control_request_t const * request);
|
||||||
bool (* xfer_cb ) (uint8_t rhport, uint8_t ep_addr, xfer_result_t, uint32_t);
|
bool (* xfer_cb ) (uint8_t rhport, uint8_t ep_addr, xfer_result_t event, uint32_t xferred_bytes);
|
||||||
void (* sof ) (uint8_t rhport);
|
void (* sof ) (uint8_t rhport);
|
||||||
void (* reset ) (uint8_t);
|
void (* reset ) (uint8_t);
|
||||||
} usbd_class_driver_t;
|
} usbd_class_driver_t;
|
||||||
@ -79,68 +79,68 @@ typedef struct {
|
|||||||
static usbd_class_driver_t const usbd_class_drivers[] =
|
static usbd_class_driver_t const usbd_class_drivers[] =
|
||||||
{
|
{
|
||||||
#if CFG_TUD_CDC
|
#if CFG_TUD_CDC
|
||||||
{
|
{
|
||||||
.class_code = TUSB_CLASS_CDC,
|
.class_code = TUSB_CLASS_CDC,
|
||||||
.init = cdcd_init,
|
.init = cdcd_init,
|
||||||
.open = cdcd_open,
|
.open = cdcd_open,
|
||||||
.control_request = cdcd_control_request,
|
.control_request = cdcd_control_request,
|
||||||
.control_complete = cdcd_control_complete,
|
.control_complete = cdcd_control_complete,
|
||||||
.xfer_cb = cdcd_xfer_cb,
|
.xfer_cb = cdcd_xfer_cb,
|
||||||
.sof = NULL,
|
.sof = NULL,
|
||||||
.reset = cdcd_reset
|
.reset = cdcd_reset
|
||||||
},
|
},
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if CFG_TUD_MSC
|
#if CFG_TUD_MSC
|
||||||
{
|
{
|
||||||
.class_code = TUSB_CLASS_MSC,
|
.class_code = TUSB_CLASS_MSC,
|
||||||
.init = mscd_init,
|
.init = mscd_init,
|
||||||
.open = mscd_open,
|
.open = mscd_open,
|
||||||
.control_request = mscd_control_request,
|
.control_request = mscd_control_request,
|
||||||
.control_complete = mscd_control_complete,
|
.control_complete = mscd_control_complete,
|
||||||
.xfer_cb = mscd_xfer_cb,
|
.xfer_cb = mscd_xfer_cb,
|
||||||
.sof = NULL,
|
.sof = NULL,
|
||||||
.reset = mscd_reset
|
.reset = mscd_reset
|
||||||
},
|
},
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if CFG_TUD_HID
|
#if CFG_TUD_HID
|
||||||
{
|
{
|
||||||
.class_code = TUSB_CLASS_HID,
|
.class_code = TUSB_CLASS_HID,
|
||||||
.init = hidd_init,
|
.init = hidd_init,
|
||||||
.open = hidd_open,
|
.open = hidd_open,
|
||||||
.control_request = hidd_control_request,
|
.control_request = hidd_control_request,
|
||||||
.control_complete = hidd_control_complete,
|
.control_complete = hidd_control_complete,
|
||||||
.xfer_cb = hidd_xfer_cb,
|
.xfer_cb = hidd_xfer_cb,
|
||||||
.sof = NULL,
|
.sof = NULL,
|
||||||
.reset = hidd_reset
|
.reset = hidd_reset
|
||||||
},
|
},
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if CFG_TUD_MIDI
|
#if CFG_TUD_MIDI
|
||||||
{
|
{
|
||||||
.class_code = TUSB_CLASS_AUDIO,
|
.class_code = TUSB_CLASS_AUDIO,
|
||||||
.init = midid_init,
|
.init = midid_init,
|
||||||
.open = midid_open,
|
.open = midid_open,
|
||||||
.control_request = midid_control_request,
|
.control_request = midid_control_request,
|
||||||
.control_complete = midid_control_complete,
|
.control_complete = midid_control_complete,
|
||||||
.xfer_cb = midid_xfer_cb,
|
.xfer_cb = midid_xfer_cb,
|
||||||
.sof = NULL,
|
.sof = NULL,
|
||||||
.reset = midid_reset
|
.reset = midid_reset
|
||||||
},
|
},
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if CFG_TUD_VENDOR
|
#if CFG_TUD_VENDOR
|
||||||
{
|
{
|
||||||
.class_code = TUSB_CLASS_VENDOR_SPECIFIC,
|
.class_code = TUSB_CLASS_VENDOR_SPECIFIC,
|
||||||
.init = cusd_init,
|
.init = cusd_init,
|
||||||
.open = cusd_open,
|
.open = cusd_open,
|
||||||
.control_request = cusd_control_request,
|
.control_request = cusd_control_request,
|
||||||
.control_complete = cusd_control_complete,
|
.control_complete = cusd_control_complete,
|
||||||
.xfer_cb = cusd_xfer_cb,
|
.xfer_cb = cusd_xfer_cb,
|
||||||
.sof = NULL,
|
.sof = NULL,
|
||||||
.reset = cusd_reset
|
.reset = cusd_reset
|
||||||
},
|
},
|
||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user