Open FFBoard
Open source force feedback firmware
usbh.c File Reference

Go to the source code of this file.

Classes

struct  usbh_dev0_t
 
struct  usbh_dev0_t::TU_ATTR_PACKED
 
struct  usbh_device_t
 
struct  usbh_device_t::TU_ATTR_PACKED
 

Enumerations

enum  { BUILTIN_DRIVER_COUNT = TU_ARRAY_SIZE(usbh_class_drivers) }
 
enum  { CONFIG_NUM = 1 }
 
enum  { ENUM_RESET_DELAY_MS = 50 , ENUM_DEBOUNCING_DELAY_MS = 450 }
 
enum  {
  ENUM_IDLE , ENUM_RESET_1 , ENUM_HUB_CLEAR_RESET_1 , ENUM_ADDR0_DEVICE_DESC ,
  ENUM_RESET_2 , ENUM_HUB_GET_STATUS_2 , ENUM_HUB_CLEAR_RESET_2 , ENUM_SET_ADDR ,
  ENUM_GET_DEVICE_DESC , ENUM_GET_9BYTE_CONFIG_DESC , ENUM_GET_FULL_CONFIG_DESC , ENUM_SET_CONFIG ,
  ENUM_CONFIG_DRIVER
}
 

Functions

TU_ATTR_WEAK bool hcd_deinit (uint8_t rhport)
 
TU_ATTR_WEAK bool hcd_configure (uint8_t rhport, uint32_t cfg_id, const void *cfg_param)
 
TU_ATTR_WEAK void tuh_event_hook_cb (uint8_t rhport, uint32_t eventid, bool in_isr)
 
static usbh_class_driver_t const * get_driver (uint8_t drv_id)
 
 OSAL_QUEUE_DEF (usbh_int_set, _usbh_qdef, CFG_TUH_TASK_QUEUE_SZ, hcd_event_t)
 
static TU_ATTR_ALWAYS_INLINE usbh_device_tget_device (uint8_t dev_addr)
 
static bool enum_new_device (hcd_event_t *event)
 
static void process_removing_device (uint8_t rhport, uint8_t hub_addr, uint8_t hub_port)
 
static bool usbh_edpt_control_open (uint8_t dev_addr, uint8_t max_packet_size)
 
static bool usbh_control_xfer_cb (uint8_t daddr, uint8_t ep_addr, xfer_result_t result, uint32_t xferred_bytes)
 
static TU_ATTR_ALWAYS_INLINE bool queue_event (hcd_event_t const *event, bool in_isr)
 
bool tuh_mounted (uint8_t dev_addr)
 
bool tuh_vid_pid_get (uint8_t dev_addr, uint16_t *vid, uint16_t *pid)
 
tusb_speed_t tuh_speed_get (uint8_t dev_addr)
 
bool tuh_rhport_is_active (uint8_t rhport)
 
bool tuh_rhport_reset_bus (uint8_t rhport, bool active)
 
bool tuh_configure (uint8_t rhport, uint32_t cfg_id, const void *cfg_param)
 
static void clear_device (usbh_device_t *dev)
 
bool tuh_inited (void)
 
bool tuh_rhport_init (uint8_t rhport, const tusb_rhport_init_t *rh_init)
 
bool tuh_deinit (uint8_t rhport)
 
bool tuh_task_event_ready (void)
 
void tuh_task_ext (uint32_t timeout_ms, bool in_isr)
 
static void _control_blocking_complete_cb (tuh_xfer_t *xfer)
 
bool tuh_control_xfer (tuh_xfer_t *xfer)
 
static TU_ATTR_ALWAYS_INLINE void _set_control_xfer_stage (uint8_t stage)
 
static void _control_xfer_complete (uint8_t daddr, xfer_result_t result)
 
bool tuh_edpt_xfer (tuh_xfer_t *xfer)
 
bool tuh_edpt_abort_xfer (uint8_t daddr, uint8_t ep_addr)
 
uint8_t usbh_get_rhport (uint8_t dev_addr)
 
uint8_t * usbh_get_enum_buf (void)
 
void usbh_int_set (bool enabled)
 
void usbh_defer_func (osal_task_func_t func, void *param, bool in_isr)
 
bool usbh_edpt_claim (uint8_t dev_addr, uint8_t ep_addr)
 
bool usbh_edpt_release (uint8_t dev_addr, uint8_t ep_addr)
 
bool usbh_edpt_xfer_with_callback (uint8_t dev_addr, uint8_t ep_addr, uint8_t *buffer, uint16_t total_bytes, tuh_xfer_cb_t complete_cb, uintptr_t user_data)
 
bool tuh_edpt_open (uint8_t dev_addr, tusb_desc_endpoint_t const *desc_ep)
 
bool usbh_edpt_busy (uint8_t dev_addr, uint8_t ep_addr)
 
void hcd_devtree_get_info (uint8_t dev_addr, hcd_devtree_info_t *devtree_info)
 
TU_ATTR_FAST_FUNC void hcd_event_handler (hcd_event_t const *event, bool in_isr)
 
static bool _get_descriptor (uint8_t daddr, uint8_t type, uint8_t index, uint16_t language_id, void *buffer, uint16_t len, tuh_xfer_cb_t complete_cb, uintptr_t user_data)
 
bool tuh_descriptor_get (uint8_t daddr, uint8_t type, uint8_t index, void *buffer, uint16_t len, tuh_xfer_cb_t complete_cb, uintptr_t user_data)
 
bool tuh_descriptor_get_device (uint8_t daddr, void *buffer, uint16_t len, tuh_xfer_cb_t complete_cb, uintptr_t user_data)
 
bool tuh_descriptor_get_configuration (uint8_t daddr, uint8_t index, void *buffer, uint16_t len, tuh_xfer_cb_t complete_cb, uintptr_t user_data)
 
bool tuh_descriptor_get_string (uint8_t daddr, uint8_t index, uint16_t language_id, void *buffer, uint16_t len, tuh_xfer_cb_t complete_cb, uintptr_t user_data)
 
bool tuh_descriptor_get_manufacturer_string (uint8_t daddr, uint16_t language_id, void *buffer, uint16_t len, tuh_xfer_cb_t complete_cb, uintptr_t user_data)
 
bool tuh_descriptor_get_product_string (uint8_t daddr, uint16_t language_id, void *buffer, uint16_t len, tuh_xfer_cb_t complete_cb, uintptr_t user_data)
 
bool tuh_descriptor_get_serial_string (uint8_t daddr, uint16_t language_id, void *buffer, uint16_t len, tuh_xfer_cb_t complete_cb, uintptr_t user_data)
 
bool tuh_descriptor_get_hid_report (uint8_t daddr, uint8_t itf_num, uint8_t desc_type, uint8_t index, void *buffer, uint16_t len, tuh_xfer_cb_t complete_cb, uintptr_t user_data)
 
bool tuh_configuration_set (uint8_t daddr, uint8_t config_num, tuh_xfer_cb_t complete_cb, uintptr_t user_data)
 
bool tuh_interface_set (uint8_t daddr, uint8_t itf_num, uint8_t itf_alt, tuh_xfer_cb_t complete_cb, uintptr_t user_data)
 
uint8_t tuh_descriptor_get_sync (uint8_t daddr, uint8_t type, uint8_t index, void *buffer, uint16_t len)
 
uint8_t tuh_descriptor_get_device_sync (uint8_t daddr, void *buffer, uint16_t len)
 
uint8_t tuh_descriptor_get_configuration_sync (uint8_t daddr, uint8_t index, void *buffer, uint16_t len)
 
uint8_t tuh_descriptor_get_hid_report_sync (uint8_t daddr, uint8_t itf_num, uint8_t desc_type, uint8_t index, void *buffer, uint16_t len)
 
uint8_t tuh_descriptor_get_string_sync (uint8_t daddr, uint8_t index, uint16_t language_id, void *buffer, uint16_t len)
 
uint8_t tuh_descriptor_get_manufacturer_string_sync (uint8_t daddr, uint16_t language_id, void *buffer, uint16_t len)
 
uint8_t tuh_descriptor_get_product_string_sync (uint8_t daddr, uint16_t language_id, void *buffer, uint16_t len)
 
uint8_t tuh_descriptor_get_serial_string_sync (uint8_t daddr, uint16_t language_id, void *buffer, uint16_t len)
 
static TU_ATTR_ALWAYS_INLINE bool is_hub_addr (uint8_t daddr)
 
static bool enum_request_set_addr (void)
 
static bool _parse_configuration_descriptor (uint8_t dev_addr, tusb_desc_configuration_t const *desc_cfg)
 
static void enum_full_complete (void)
 
static void process_enumeration (tuh_xfer_t *xfer)
 
static uint8_t get_new_address (bool is_hub)
 
void usbh_driver_set_config_complete (uint8_t dev_addr, uint8_t itf_num)
 

Variables

static usbh_class_driver_t const usbh_class_drivers []
 
tu_static usbh_class_driver_t const * _app_driver = NULL
 
tu_static uint8_t _app_driver_count = 0
 
static uint8_t _usbh_controller = TUSB_INDEX_INVALID_8
 
static usbh_dev0_t _dev0
 
static usbh_device_t _usbh_devices [TOTAL_DEVICES]
 
static osal_mutex_def_t _usbh_mutexdef
 
static osal_mutex_t _usbh_mutex
 
static osal_queue_t _usbh_q
 
CFG_TUH_MEM_SECTION static CFG_TUH_MEM_ALIGN uint8_t _usbh_ctrl_buf [CFG_TUH_ENUMERATION_BUFSIZE]
 
struct {
   CFG_TUH_MEM_ALIGN tusb_control_request_t   request
 
   uint8_t *   buffer
 
   tuh_xfer_cb_t   complete_cb
 
   uintptr_t   user_data
 
   uint8_t   daddr
 
   volatile uint8_t   stage
 
   volatile uint16_t   actual_len
 
_ctrl_xfer
 

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
ENUM_RESET_DELAY_MS 
ENUM_DEBOUNCING_DELAY_MS 

Definition at line 1286 of file usbh.c.

◆ anonymous enum

anonymous enum
Enumerator
ENUM_IDLE 
ENUM_RESET_1 
ENUM_HUB_CLEAR_RESET_1 
ENUM_ADDR0_DEVICE_DESC 
ENUM_RESET_2 
ENUM_HUB_GET_STATUS_2 
ENUM_HUB_CLEAR_RESET_2 
ENUM_SET_ADDR 
ENUM_GET_DEVICE_DESC 
ENUM_GET_9BYTE_CONFIG_DESC 
ENUM_GET_FULL_CONFIG_DESC 
ENUM_SET_CONFIG 
ENUM_CONFIG_DRIVER 

Definition at line 1292 of file usbh.c.

◆ anonymous enum

anonymous enum
Enumerator
BUILTIN_DRIVER_COUNT 

Definition at line 201 of file usbh.c.

◆ anonymous enum

anonymous enum
Enumerator
CONFIG_NUM 

Definition at line 202 of file usbh.c.

Function Documentation

◆ _control_blocking_complete_cb()

static void _control_blocking_complete_cb ( tuh_xfer_t xfer)
static

Definition at line 596 of file usbh.c.

◆ _control_xfer_complete()

static void _control_xfer_complete ( uint8_t  daddr,
xfer_result_t  result 
)
static

Definition at line 680 of file usbh.c.

◆ _get_descriptor()

static bool _get_descriptor ( uint8_t  daddr,
uint8_t  type,
uint8_t  index,
uint16_t  language_id,
void *  buffer,
uint16_t  len,
tuh_xfer_cb_t  complete_cb,
uintptr_t  user_data 
)
static

Definition at line 989 of file usbh.c.

◆ _parse_configuration_descriptor()

static bool _parse_configuration_descriptor ( uint8_t  dev_addr,
tusb_desc_configuration_t const *  desc_cfg 
)
static

Definition at line 1631 of file usbh.c.

◆ _set_control_xfer_stage()

static TU_ATTR_ALWAYS_INLINE void _set_control_xfer_stage ( uint8_t  stage)
inlinestatic

Definition at line 674 of file usbh.c.

◆ clear_device()

static void clear_device ( usbh_device_t dev)
static

Definition at line 336 of file usbh.c.

◆ enum_full_complete()

static void enum_full_complete ( void  )
static

Definition at line 1746 of file usbh.c.

◆ enum_new_device()

static bool enum_new_device ( hcd_event_t event)
static

Definition at line 1522 of file usbh.c.

◆ enum_request_set_addr()

static bool enum_request_set_addr ( void  )
static

Definition at line 1591 of file usbh.c.

◆ get_device()

static TU_ATTR_ALWAYS_INLINE usbh_device_t * get_device ( uint8_t  dev_addr)
inlinestatic

Definition at line 271 of file usbh.c.

◆ get_driver()

static usbh_class_driver_t const * get_driver ( uint8_t  drv_id)
inlinestatic

Definition at line 210 of file usbh.c.

◆ get_new_address()

static uint8_t get_new_address ( bool  is_hub)
static

Definition at line 1572 of file usbh.c.

◆ hcd_configure()

TU_ATTR_WEAK bool hcd_configure ( uint8_t  rhport,
uint32_t  cfg_id,
const void *  cfg_param 
)

Definition at line 55 of file usbh.c.

◆ hcd_deinit()

TU_ATTR_WEAK bool hcd_deinit ( uint8_t  rhport)

Definition at line 50 of file usbh.c.

◆ hcd_devtree_get_info()

void hcd_devtree_get_info ( uint8_t  dev_addr,
hcd_devtree_info_t devtree_info 
)

Definition at line 949 of file usbh.c.

◆ hcd_event_handler()

TU_ATTR_FAST_FUNC void hcd_event_handler ( hcd_event_t const *  event,
bool  in_isr 
)

Definition at line 964 of file usbh.c.

◆ is_hub_addr()

static TU_ATTR_ALWAYS_INLINE bool is_hub_addr ( uint8_t  daddr)
inlinestatic

Definition at line 1194 of file usbh.c.

◆ OSAL_QUEUE_DEF()

OSAL_QUEUE_DEF ( usbh_int_set  ,
_usbh_qdef  ,
CFG_TUH_TASK_QUEUE_SZ  ,
hcd_event_t   
)

◆ process_enumeration()

static void process_enumeration ( tuh_xfer_t xfer)
static

Definition at line 1315 of file usbh.c.

◆ process_removing_device()

static void process_removing_device ( uint8_t  rhport,
uint8_t  hub_addr,
uint8_t  hub_port 
)
static

Definition at line 1219 of file usbh.c.

◆ queue_event()

static TU_ATTR_ALWAYS_INLINE bool queue_event ( hcd_event_t const *  event,
bool  in_isr 
)
inlinestatic

Definition at line 281 of file usbh.c.

◆ tuh_configuration_set()

bool tuh_configuration_set ( uint8_t  daddr,
uint8_t  config_num,
tuh_xfer_cb_t  complete_cb,
uintptr_t  user_data 
)

Definition at line 1090 of file usbh.c.

◆ tuh_configure()

bool tuh_configure ( uint8_t  rhport,
uint32_t  cfg_id,
const void *  cfg_param 
)

Definition at line 332 of file usbh.c.

◆ tuh_control_xfer()

bool tuh_control_xfer ( tuh_xfer_t xfer)

Definition at line 602 of file usbh.c.

◆ tuh_deinit()

bool tuh_deinit ( uint8_t  rhport)

Definition at line 405 of file usbh.c.

◆ tuh_descriptor_get()

bool tuh_descriptor_get ( uint8_t  daddr,
uint8_t  type,
uint8_t  index,
void *  buffer,
uint16_t  len,
tuh_xfer_cb_t  complete_cb,
uintptr_t  user_data 
)

Definition at line 1014 of file usbh.c.

◆ tuh_descriptor_get_configuration()

bool tuh_descriptor_get_configuration ( uint8_t  daddr,
uint8_t  index,
void *  buffer,
uint16_t  len,
tuh_xfer_cb_t  complete_cb,
uintptr_t  user_data 
)

Definition at line 1025 of file usbh.c.

◆ tuh_descriptor_get_configuration_sync()

uint8_t tuh_descriptor_get_configuration_sync ( uint8_t  daddr,
uint8_t  index,
void *  buffer,
uint16_t  len 
)

Definition at line 1160 of file usbh.c.

◆ tuh_descriptor_get_device()

bool tuh_descriptor_get_device ( uint8_t  daddr,
void *  buffer,
uint16_t  len,
tuh_xfer_cb_t  complete_cb,
uintptr_t  user_data 
)

Definition at line 1019 of file usbh.c.

◆ tuh_descriptor_get_device_sync()

uint8_t tuh_descriptor_get_device_sync ( uint8_t  daddr,
void *  buffer,
uint16_t  len 
)

Definition at line 1156 of file usbh.c.

◆ tuh_descriptor_get_hid_report()

bool tuh_descriptor_get_hid_report ( uint8_t  daddr,
uint8_t  itf_num,
uint8_t  desc_type,
uint8_t  index,
void *  buffer,
uint16_t  len,
tuh_xfer_cb_t  complete_cb,
uintptr_t  user_data 
)

Definition at line 1064 of file usbh.c.

◆ tuh_descriptor_get_hid_report_sync()

uint8_t tuh_descriptor_get_hid_report_sync ( uint8_t  daddr,
uint8_t  itf_num,
uint8_t  desc_type,
uint8_t  index,
void *  buffer,
uint16_t  len 
)

Definition at line 1165 of file usbh.c.

◆ tuh_descriptor_get_manufacturer_string()

bool tuh_descriptor_get_manufacturer_string ( uint8_t  daddr,
uint16_t  language_id,
void *  buffer,
uint16_t  len,
tuh_xfer_cb_t  complete_cb,
uintptr_t  user_data 
)

Definition at line 1038 of file usbh.c.

◆ tuh_descriptor_get_manufacturer_string_sync()

uint8_t tuh_descriptor_get_manufacturer_string_sync ( uint8_t  daddr,
uint16_t  language_id,
void *  buffer,
uint16_t  len 
)

Definition at line 1175 of file usbh.c.

◆ tuh_descriptor_get_product_string()

bool tuh_descriptor_get_product_string ( uint8_t  daddr,
uint16_t  language_id,
void *  buffer,
uint16_t  len,
tuh_xfer_cb_t  complete_cb,
uintptr_t  user_data 
)

Definition at line 1047 of file usbh.c.

◆ tuh_descriptor_get_product_string_sync()

uint8_t tuh_descriptor_get_product_string_sync ( uint8_t  daddr,
uint16_t  language_id,
void *  buffer,
uint16_t  len 
)

Definition at line 1180 of file usbh.c.

◆ tuh_descriptor_get_serial_string()

bool tuh_descriptor_get_serial_string ( uint8_t  daddr,
uint16_t  language_id,
void *  buffer,
uint16_t  len,
tuh_xfer_cb_t  complete_cb,
uintptr_t  user_data 
)

Definition at line 1055 of file usbh.c.

◆ tuh_descriptor_get_serial_string_sync()

uint8_t tuh_descriptor_get_serial_string_sync ( uint8_t  daddr,
uint16_t  language_id,
void *  buffer,
uint16_t  len 
)

Definition at line 1185 of file usbh.c.

◆ tuh_descriptor_get_string()

bool tuh_descriptor_get_string ( uint8_t  daddr,
uint8_t  index,
uint16_t  language_id,
void *  buffer,
uint16_t  len,
tuh_xfer_cb_t  complete_cb,
uintptr_t  user_data 
)

Definition at line 1032 of file usbh.c.

◆ tuh_descriptor_get_string_sync()

uint8_t tuh_descriptor_get_string_sync ( uint8_t  daddr,
uint8_t  index,
uint16_t  language_id,
void *  buffer,
uint16_t  len 
)

Definition at line 1170 of file usbh.c.

◆ tuh_descriptor_get_sync()

uint8_t tuh_descriptor_get_sync ( uint8_t  daddr,
uint8_t  type,
uint8_t  index,
void *  buffer,
uint16_t  len 
)

Definition at line 1151 of file usbh.c.

◆ tuh_edpt_abort_xfer()

bool tuh_edpt_abort_xfer ( uint8_t  daddr,
uint8_t  ep_addr 
)

Definition at line 781 of file usbh.c.

◆ tuh_edpt_open()

bool tuh_edpt_open ( uint8_t  dev_addr,
tusb_desc_endpoint_t const *  desc_ep 
)

Definition at line 930 of file usbh.c.

◆ tuh_edpt_xfer()

bool tuh_edpt_xfer ( tuh_xfer_t xfer)

Definition at line 765 of file usbh.c.

◆ tuh_event_hook_cb()

TU_ATTR_WEAK void tuh_event_hook_cb ( uint8_t  rhport,
uint32_t  eventid,
bool  in_isr 
)

Definition at line 62 of file usbh.c.

◆ tuh_inited()

bool tuh_inited ( void  )

Definition at line 342 of file usbh.c.

◆ tuh_interface_set()

bool tuh_interface_set ( uint8_t  daddr,
uint8_t  itf_num,
uint8_t  itf_alt,
tuh_xfer_cb_t  complete_cb,
uintptr_t  user_data 
)

Definition at line 1116 of file usbh.c.

◆ tuh_mounted()

bool tuh_mounted ( uint8_t  dev_addr)

Definition at line 291 of file usbh.c.

◆ tuh_rhport_init()

bool tuh_rhport_init ( uint8_t  rhport,
const tusb_rhport_init_t rh_init 
)

Definition at line 346 of file usbh.c.

◆ tuh_rhport_is_active()

bool tuh_rhport_is_active ( uint8_t  rhport)

Definition at line 314 of file usbh.c.

◆ tuh_rhport_reset_bus()

bool tuh_rhport_reset_bus ( uint8_t  rhport,
bool  active 
)

Definition at line 318 of file usbh.c.

◆ tuh_speed_get()

tusb_speed_t tuh_speed_get ( uint8_t  dev_addr)

Definition at line 309 of file usbh.c.

◆ tuh_task_event_ready()

bool tuh_task_event_ready ( void  )

Definition at line 440 of file usbh.c.

◆ tuh_task_ext()

void tuh_task_ext ( uint32_t  timeout_ms,
bool  in_isr 
)

Definition at line 465 of file usbh.c.

◆ tuh_vid_pid_get()

bool tuh_vid_pid_get ( uint8_t  dev_addr,
uint16_t *  vid,
uint16_t *  pid 
)

Definition at line 297 of file usbh.c.

◆ usbh_control_xfer_cb()

static bool usbh_control_xfer_cb ( uint8_t  daddr,
uint8_t  ep_addr,
xfer_result_t  result,
uint32_t  xferred_bytes 
)
static

Definition at line 703 of file usbh.c.

◆ usbh_defer_func()

void usbh_defer_func ( osal_task_func_t  func,
void *  param,
bool  in_isr 
)

Definition at line 832 of file usbh.c.

◆ usbh_driver_set_config_complete()

void usbh_driver_set_config_complete ( uint8_t  dev_addr,
uint8_t  itf_num 
)

Definition at line 1717 of file usbh.c.

◆ usbh_edpt_busy()

bool usbh_edpt_busy ( uint8_t  dev_addr,
uint8_t  ep_addr 
)

Definition at line 935 of file usbh.c.

◆ usbh_edpt_claim()

bool usbh_edpt_claim ( uint8_t  dev_addr,
uint8_t  ep_addr 
)

Definition at line 846 of file usbh.c.

◆ usbh_edpt_control_open()

static bool usbh_edpt_control_open ( uint8_t  dev_addr,
uint8_t  max_packet_size 
)
static

Definition at line 916 of file usbh.c.

◆ usbh_edpt_release()

bool usbh_edpt_release ( uint8_t  dev_addr,
uint8_t  ep_addr 
)

Definition at line 861 of file usbh.c.

◆ usbh_edpt_xfer_with_callback()

bool usbh_edpt_xfer_with_callback ( uint8_t  dev_addr,
uint8_t  ep_addr,
uint8_t *  buffer,
uint16_t  total_bytes,
tuh_xfer_cb_t  complete_cb,
uintptr_t  user_data 
)

Definition at line 877 of file usbh.c.

◆ usbh_get_enum_buf()

uint8_t * usbh_get_enum_buf ( void  )

Definition at line 819 of file usbh.c.

◆ usbh_get_rhport()

uint8_t usbh_get_rhport ( uint8_t  dev_addr)

Definition at line 814 of file usbh.c.

◆ usbh_int_set()

void usbh_int_set ( bool  enabled)

Definition at line 823 of file usbh.c.

Variable Documentation

◆ _app_driver

tu_static usbh_class_driver_t const* _app_driver = NULL

Definition at line 205 of file usbh.c.

◆ _app_driver_count

tu_static uint8_t _app_driver_count = 0

Definition at line 206 of file usbh.c.

◆ 

CFG_TUH_MEM_SECTION struct { ... } _ctrl_xfer

◆ _dev0

usbh_dev0_t _dev0
static

Definition at line 232 of file usbh.c.

◆ _usbh_controller

uint8_t _usbh_controller = TUSB_INDEX_INVALID_8
static

Definition at line 229 of file usbh.c.

◆ _usbh_ctrl_buf

CFG_TUH_MEM_SECTION static CFG_TUH_MEM_ALIGN uint8_t _usbh_ctrl_buf[CFG_TUH_ENUMERATION_BUFSIZE]
static

Definition at line 253 of file usbh.c.

◆ _usbh_devices

usbh_device_t _usbh_devices[TOTAL_DEVICES]
static

Definition at line 237 of file usbh.c.

◆ _usbh_mutex

osal_mutex_t _usbh_mutex
static

Definition at line 242 of file usbh.c.

◆ _usbh_mutexdef

osal_mutex_def_t _usbh_mutexdef
static

Definition at line 241 of file usbh.c.

◆ _usbh_q

osal_queue_t _usbh_q
static

Definition at line 250 of file usbh.c.

◆ actual_len

volatile uint16_t actual_len

Definition at line 266 of file usbh.c.

◆ buffer

uint8_t* buffer

Definition at line 260 of file usbh.c.

◆ complete_cb

tuh_xfer_cb_t complete_cb

Definition at line 261 of file usbh.c.

◆ daddr

uint8_t daddr

Definition at line 264 of file usbh.c.

◆ request

CFG_TUH_MEM_ALIGN tusb_control_request_t request

Definition at line 259 of file usbh.c.

◆ stage

volatile uint8_t stage

Definition at line 265 of file usbh.c.

◆ usbh_class_drivers

usbh_class_driver_t const usbh_class_drivers[]
static

Definition at line 139 of file usbh.c.

◆ user_data

uintptr_t user_data

Definition at line 262 of file usbh.c.