- addd p_qtd_list_tail to qhd structure for easy queue TD

- move control_request from ehci_data to usbh_device_info_pool
- add test for bulk transfer double (2 consecutive xfers)
- use table (array) structure for class driver, currently included
- refractor extract to function insert_qtd_to_qhd
+ init function
+ install_subtask
--> all class driver function must be declared with WEAK
This commit is contained in:
hathach
2013-03-09 13:11:02 +07:00
parent b146730306
commit b1db85dedf
12 changed files with 141 additions and 62 deletions

View File

@@ -90,6 +90,13 @@ uint8_t tusbh_hid_keyboard_no_instances(tusb_handle_device_t const device_hdl)
//--------------------------------------------------------------------+
// CLASS-USBD API (don't require to verify parameters)
//--------------------------------------------------------------------+
void hidh_init(void)
{
#if TUSB_CFG_HOST_HID_KEYBOARD
hidh_keyboard_init();
#endif
}
void hidh_keyboard_init(void)
{
memclr_(&keyboard_info_pool, sizeof(class_hid_keyboard_info_t)*TUSB_CFG_HOST_DEVICE_MAX);

View File

@@ -84,19 +84,11 @@ typedef struct {
void hidh_keyboard_init(void);
tusb_error_t hidh_keyboard_install(uint8_t dev_addr, uint8_t const *descriptor) ATTR_WARN_UNUSED_RESULT;
#ifndef _TEST_
static inline void hidh_init(void) ATTR_ALWAYS_INLINE;
static inline void hidh_init(void)
{
#if TUSB_CFG_HOST_HID_KEYBOARD
hidh_keyboard_init();
#endif
}
#else
void hidh_init(void);
#endif
tusb_error_t hidh_install_subtask(uint8_t dev_addr, uint8_t const *descriptor, uint16_t *p_length) ATTR_WARN_UNUSED_RESULT;
//--------------------------------------------------------------------+
// CLASS DRIVER FUNCTION (all declared with WEAK)
//--------------------------------------------------------------------+
void hidh_init(void) ATTR_WEAK;
tusb_error_t hidh_install_subtask(uint8_t dev_addr, uint8_t const *descriptor, uint16_t *p_length) ATTR_WEAK ATTR_WARN_UNUSED_RESULT;
#endif