![]() |
Open FFBoard
Open source force feedback firmware
|
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_t * | get_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 |
anonymous enum |
anonymous enum |
|
static |
|
static |
|
static |
|
static |
|
inlinestatic |
|
static |
|
static |
|
inlinestatic |
|
inlinestatic |
TU_ATTR_WEAK bool hcd_configure | ( | uint8_t | rhport, |
uint32_t | cfg_id, | ||
const void * | cfg_param | ||
) |
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 | ||
) |
|
inlinestatic |
OSAL_QUEUE_DEF | ( | usbh_int_set | , |
_usbh_qdef | , | ||
CFG_TUH_TASK_QUEUE_SZ | , | ||
hcd_event_t | |||
) |
|
static |
|
static |
|
inlinestatic |
bool tuh_configuration_set | ( | uint8_t | daddr, |
uint8_t | config_num, | ||
tuh_xfer_cb_t | complete_cb, | ||
uintptr_t | user_data | ||
) |
bool tuh_configure | ( | uint8_t | rhport, |
uint32_t | cfg_id, | ||
const void * | cfg_param | ||
) |
bool tuh_control_xfer | ( | tuh_xfer_t * | xfer | ) |
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_configuration | ( | uint8_t | daddr, |
uint8_t | index, | ||
void * | buffer, | ||
uint16_t | len, | ||
tuh_xfer_cb_t | complete_cb, | ||
uintptr_t | user_data | ||
) |
uint8_t tuh_descriptor_get_configuration_sync | ( | uint8_t | daddr, |
uint8_t | index, | ||
void * | buffer, | ||
uint16_t | len | ||
) |
bool tuh_descriptor_get_device | ( | uint8_t | daddr, |
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_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 | ||
) |
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_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_manufacturer_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_product_string_sync | ( | uint8_t | daddr, |
uint16_t | language_id, | ||
void * | buffer, | ||
uint16_t | len | ||
) |
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 | ||
) |
uint8_t tuh_descriptor_get_serial_string_sync | ( | uint8_t | daddr, |
uint16_t | language_id, | ||
void * | buffer, | ||
uint16_t | len | ||
) |
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 | ||
) |
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_sync | ( | uint8_t | daddr, |
uint8_t | type, | ||
uint8_t | index, | ||
void * | buffer, | ||
uint16_t | len | ||
) |
bool tuh_edpt_open | ( | uint8_t | dev_addr, |
tusb_desc_endpoint_t const * | desc_ep | ||
) |
bool tuh_edpt_xfer | ( | tuh_xfer_t * | xfer | ) |
TU_ATTR_WEAK void tuh_event_hook_cb | ( | uint8_t | rhport, |
uint32_t | eventid, | ||
bool | in_isr | ||
) |
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 | ||
) |
bool tuh_rhport_init | ( | uint8_t | rhport, |
const tusb_rhport_init_t * | rh_init | ||
) |
tusb_speed_t tuh_speed_get | ( | uint8_t | dev_addr | ) |
bool tuh_vid_pid_get | ( | uint8_t | dev_addr, |
uint16_t * | vid, | ||
uint16_t * | pid | ||
) |
|
static |
void usbh_defer_func | ( | osal_task_func_t | func, |
void * | param, | ||
bool | in_isr | ||
) |
void usbh_driver_set_config_complete | ( | uint8_t | dev_addr, |
uint8_t | itf_num | ||
) |
|
static |
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 | ||
) |
tu_static usbh_class_driver_t const* _app_driver = NULL |
CFG_TUH_MEM_SECTION struct { ... } _ctrl_xfer |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
tuh_xfer_cb_t complete_cb |
CFG_TUH_MEM_ALIGN tusb_control_request_t request |
|
static |