121bool tuh_configure(uint8_t rhport, uint32_t cfg_id,
const void* cfg_param);
127#if TUSB_VERSION_NUMBER > 2000
130TU_ATTR_ALWAYS_INLINE
static inline bool tuh_init(uint8_t rhport) {
132 .
role = TUSB_ROLE_HOST,
151TU_ATTR_ALWAYS_INLINE
static inline
164#define _tuh_int_handler_arg0() TU_VERIFY_STATIC(false, "tuh_int_handler() must have 1 or 2 arguments")
165#define _tuh_int_handler_arg1(_rhport) hcd_int_handler(_rhport, true)
166#define _tuh_int_handler_arg2(_rhport, _in_isr) hcd_int_handler(_rhport, _in_isr)
167#define tuh_int_handler(...) TU_FUNC_OPTIONAL_ARG(_tuh_int_handler, __VA_ARGS__)
189TU_ATTR_ALWAYS_INLINE
static inline
197TU_ATTR_ALWAYS_INLINE
static inline
xfer_td_t xfer[EP_CBI_COUNT+1][2]
AUDIO Channel Cluster Descriptor (4.1)
tusb_desc_interface_t desc
tusb_control_request_t const * setup
tuh_xfer_cb_t complete_cb
tusb_speed_t
defined base on EHCI specs value for Endpoint Speed
tuh_xfer_cb_t complete_cb
bool tuh_vid_pid_get(uint8_t daddr, uint16_t *vid, uint16_t *pid)
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)
uint8_t tuh_descriptor_get_device_sync(uint8_t daddr, void *buffer, uint16_t len)
bool tuh_edpt_xfer(tuh_xfer_t *xfer)
void tuh_task_ext(uint32_t timeout_ms, bool in_isr)
bool tuh_descriptor_get_device(uint8_t daddr, void *buffer, uint16_t len, tuh_xfer_cb_t complete_cb, uintptr_t user_data)
tusb_speed_t tuh_speed_get(uint8_t daddr)
uint8_t tuh_descriptor_get_serial_string_sync(uint8_t daddr, uint16_t language_id, void *buffer, uint16_t len)
bool tuh_task_event_ready(void)
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_rhport_is_active(uint8_t rhport)
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)
static TU_ATTR_ALWAYS_INLINE bool tuh_suspended(uint8_t daddr)
bool tuh_configuration_set(uint8_t daddr, uint8_t config_num, tuh_xfer_cb_t complete_cb, uintptr_t user_data)
static TU_ATTR_ALWAYS_INLINE void tuh_task(void)
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_interface_set(uint8_t daddr, uint8_t itf_num, uint8_t itf_alt, tuh_xfer_cb_t complete_cb, uintptr_t user_data)
TU_ATTR_WEAK void tuh_umount_cb(uint8_t daddr)
void(* tuh_xfer_cb_t)(tuh_xfer_t *xfer)
uint8_t tuh_descriptor_get_product_string_sync(uint8_t daddr, uint16_t language_id, void *buffer, uint16_t len)
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)
uint8_t tuh_descriptor_get_string_sync(uint8_t daddr, uint8_t index, uint16_t language_id, void *buffer, uint16_t len)
bool tuh_configure(uint8_t rhport, uint32_t cfg_id, const void *cfg_param)
bool tuh_control_xfer(tuh_xfer_t *xfer)
uint8_t tuh_descriptor_get_manufacturer_string_sync(uint8_t daddr, uint16_t language_id, void *buffer, uint16_t len)
bool tuh_rhport_init(uint8_t rhport, const tusb_rhport_init_t *rh_init)
bool tuh_deinit(uint8_t rhport)
bool tuh_mounted(uint8_t daddr)
void tuh_event_hook_cb(uint8_t rhport, uint32_t eventid, bool in_isr)
bool tuh_rhport_reset_bus(uint8_t rhport, bool active)
TU_ATTR_DEPRECATED("Please use tusb_init(rhport, rh_init) instead") TU_ATTR_ALWAYS_INLINE static inline bool tuh_init(uint8_t rhport)
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_configuration_sync(uint8_t daddr, uint8_t index, void *buffer, uint16_t len)
void hcd_int_handler(uint8_t rhport, bool in_isr)
TU_ATTR_WEAK void tuh_mount_cb(uint8_t daddr)
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)
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)
@ TUH_CFGID_RPI_PIO_USB_CONFIGURATION
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)
static TU_ATTR_ALWAYS_INLINE bool tuh_ready(uint8_t daddr)
bool tuh_edpt_abort_xfer(uint8_t daddr, uint8_t ep_addr)
bool tuh_edpt_open(uint8_t daddr, tusb_desc_endpoint_t const *desc_ep)