diff --git a/demos/device/src/tusb_config.h b/demos/device/src/tusb_config.h index d0b89780..8fdd40f5 100644 --- a/demos/device/src/tusb_config.h +++ b/demos/device/src/tusb_config.h @@ -59,9 +59,9 @@ #define TUSB_CFG_DEVICE_FULLSPEED 1 // TODO refractor, remove //------------- CLASS -------------// -#define TUSB_CFG_DEVICE_HID_KEYBOARD 0 -#define TUSB_CFG_DEVICE_HID_MOUSE 0 -#define TUSB_CFG_DEVICE_HID_GENERIC 0 +#define TUSB_CFG_DEVICE_HID_KEYBOARD 1 +#define TUSB_CFG_DEVICE_HID_MOUSE 1 +#define TUSB_CFG_DEVICE_HID_GENERIC 0 // not supported yet #define TUSB_CFG_DEVICE_MSC 1 #define TUSB_CFG_DEVICE_CDC 0 diff --git a/demos/device/src/tusb_descriptors.c b/demos/device/src/tusb_descriptors.c index 1ac847f9..89d5d1fa 100644 --- a/demos/device/src/tusb_descriptors.c +++ b/demos/device/src/tusb_descriptors.c @@ -40,7 +40,7 @@ #if TUSB_CFG_DEVICE_HID_KEYBOARD ATTR_USB_MIN_ALIGNMENT TUSB_CFG_ATTR_USBRAM -uint8_t app_tusb_keyboard_desc_report[] = { +uint8_t tusbd_hid_keyboard_descriptor_report[] = { HID_USAGE_PAGE ( HID_USAGE_PAGE_DESKTOP ), HID_USAGE ( HID_USAGE_DESKTOP_KEYBOARD ), HID_COLLECTION ( HID_COLLECTION_APPLICATION ), @@ -84,7 +84,7 @@ uint8_t app_tusb_keyboard_desc_report[] = { #if TUSB_CFG_DEVICE_HID_MOUSE ATTR_USB_MIN_ALIGNMENT TUSB_CFG_ATTR_USBRAM -uint8_t app_tusb_mouse_desc_report[] = { +uint8_t tusbd_hid_mouse_descriptor_report[] = { HID_USAGE_PAGE ( HID_USAGE_PAGE_DESKTOP ), HID_USAGE ( HID_USAGE_DESKTOP_MOUSE ), HID_COLLECTION ( HID_COLLECTION_APPLICATION ), @@ -129,7 +129,7 @@ uint8_t app_tusb_mouse_desc_report[] = { #endif ATTR_USB_MIN_ALIGNMENT TUSB_CFG_ATTR_USBRAM -tusb_descriptor_device_t app_tusb_desc_device = +tusb_descriptor_device_t tusbd_descriptor_device = { .bLength = sizeof(tusb_descriptor_device_t), .bDescriptorType = TUSB_DESC_TYPE_DEVICE, @@ -160,7 +160,7 @@ tusb_descriptor_device_t app_tusb_desc_device = }; ATTR_USB_MIN_ALIGNMENT TUSB_CFG_ATTR_USBRAM -app_descriptor_configuration_t app_tusb_desc_configuration = +app_descriptor_configuration_t tusbd_descriptor_configuration = { .configuration = { @@ -304,7 +304,7 @@ app_descriptor_configuration_t app_tusb_desc_configuration = .bCountryCode = HID_Local_NotSupported, .bNumDescriptors = 1, .bReportType = HID_DESC_TYPE_REPORT, - .wReportLength = sizeof(app_tusb_keyboard_desc_report) + .wReportLength = sizeof(tusbd_hid_keyboard_descriptor_report) }, .keyboard_endpoint = @@ -341,7 +341,7 @@ app_descriptor_configuration_t app_tusb_desc_configuration = .bCountryCode = HID_Local_NotSupported, .bNumDescriptors = 1, .bReportType = HID_DESC_TYPE_REPORT, - .wReportLength = sizeof(app_tusb_mouse_desc_report) + .wReportLength = sizeof(tusbd_hid_mouse_descriptor_report) }, .mouse_endpoint = @@ -426,7 +426,7 @@ uint16_t desc_str_serial[] = '1', '2', '3', '4' // len = 4 }; -uint8_t* const tusbd_string_desc_table [TUSB_CFG_DEVICE_STRING_DESCRIPTOR_COUNT] = +uint8_t* const tusbd_descriptor_string_table [TUSB_CFG_DEVICE_STRING_DESCRIPTOR_COUNT] = { (uint8_t*) desc_str_language, (uint8_t*) desc_str_manufacturer, diff --git a/demos/device/src/tusb_descriptors.h b/demos/device/src/tusb_descriptors.h index 057cf4cf..ee763f9a 100644 --- a/demos/device/src/tusb_descriptors.h +++ b/demos/device/src/tusb_descriptors.h @@ -176,18 +176,15 @@ typedef ATTR_PACKED_STRUCT(struct) } app_descriptor_configuration_t; -//--------------------------------------------------------------------+ -// STRINGS DESCRIPTOR -//--------------------------------------------------------------------+ -extern uint8_t * const tusbd_string_desc_table[TUSB_CFG_DEVICE_STRING_DESCRIPTOR_COUNT]; - //--------------------------------------------------------------------+ // Export descriptors //--------------------------------------------------------------------+ -extern tusb_descriptor_device_t app_tusb_desc_device; -extern app_descriptor_configuration_t app_tusb_desc_configuration; +extern tusb_descriptor_device_t tusbd_descriptor_device; +extern app_descriptor_configuration_t tusbd_descriptor_configuration; -extern uint8_t app_tusb_keyboard_desc_report[]; -extern uint8_t app_tusb_mouse_desc_report[]; +extern uint8_t * const tusbd_descriptor_string_table[TUSB_CFG_DEVICE_STRING_DESCRIPTOR_COUNT]; + +extern uint8_t tusbd_hid_keyboard_descriptor_report[]; +extern uint8_t tusbd_hid_mouse_descriptor_report[]; #endif diff --git a/tinyusb/class/hid_device.c b/tinyusb/class/hid_device.c index 36062e39..86634b02 100644 --- a/tinyusb/class/hid_device.c +++ b/tinyusb/class/hid_device.c @@ -83,7 +83,7 @@ static hidd_class_driver_t const hidd_class_driver[HIDD_NUMBER_OF_SUBCLASS] = #if TUSB_CFG_DEVICE_HID_KEYBOARD [HID_PROTOCOL_KEYBOARD] = { - .p_report_desc = app_tusb_keyboard_desc_report, + .p_report_desc = tusbd_hid_keyboard_descriptor_report, .p_interface = &keyboardd_data, .mounted_cb = tusbd_hid_keyboard_mounted_cb, .unmounted_cb = tusbd_hid_keyboard_unmounted_cb, @@ -96,7 +96,7 @@ static hidd_class_driver_t const hidd_class_driver[HIDD_NUMBER_OF_SUBCLASS] = #if TUSB_CFG_DEVICE_HID_MOUSE [HID_PROTOCOL_MOUSE] = { - .p_report_desc = app_tusb_mouse_desc_report, + .p_report_desc = tusbd_hid_mouse_descriptor_report, .p_interface = &moused_data, .mounted_cb = tusbd_hid_mouse_mounted_cb, .unmounted_cb = tusbd_hid_mouse_unmounted_cb, @@ -183,10 +183,7 @@ void hidd_close(uint8_t coreid) for(uint8_t i=0; iwIndex == p_interface->interface_number) ) - { - break; - } + if ( (p_interface != NULL) && (p_request->wIndex == p_interface->interface_number) ) break; } ASSERT(subclass_idx < HIDD_NUMBER_OF_SUBCLASS, TUSB_ERROR_FAILED); diff --git a/tinyusb/device/usbd.c b/tinyusb/device/usbd.c index 3530b996..f265b51d 100644 --- a/tinyusb/device/usbd.c +++ b/tinyusb/device/usbd.c @@ -54,7 +54,6 @@ //--------------------------------------------------------------------+ usbd_device_info_t usbd_devices[CONTROLLER_DEVICE_NUMBER]; -// TODO fix/compress number of class driver static usbd_class_driver_t const usbd_class_drivers[] = { #if DEVICE_CLASS_HID @@ -92,9 +91,7 @@ static usbd_class_driver_t const usbd_class_drivers[] = }; -enum { - USBD_CLASS_DRIVER_COUNT = sizeof(usbd_class_drivers) / sizeof(usbd_class_driver_t) -}; +enum { USBD_CLASS_DRIVER_COUNT = sizeof(usbd_class_drivers) / sizeof(usbd_class_driver_t) }; //--------------------------------------------------------------------+ // INTERNAL OBJECT & FUNCTION DECLARATION @@ -115,9 +112,7 @@ bool tusbd_is_configured(uint8_t coreid) //--------------------------------------------------------------------+ //------------- OSAL Task -------------// -enum { - USBD_TASK_QUEUE_DEPTH = 8 -}; +enum { USBD_TASK_QUEUE_DEPTH = 8 }; typedef enum { USBD_EVENTID_SETUP_RECEIVED = 1, @@ -298,7 +293,7 @@ static tusb_error_t usbd_set_configure_received(uint8_t coreid, uint8_t config_n usbd_devices[coreid].state = TUSB_DEVICE_STATE_CONFIGURED; //------------- parse configuration & open drivers -------------// - uint8_t* p_desc_configure = (uint8_t*) &app_tusb_desc_configuration; + uint8_t* p_desc_configure = (uint8_t*) &tusbd_descriptor_configuration; uint8_t* p_desc = p_desc_configure + sizeof(tusb_descriptor_configuration_t); while( p_desc < p_desc_configure + ((tusb_descriptor_configuration_t*)p_desc_configure)->wTotalLength ) @@ -338,19 +333,19 @@ static tusb_error_t get_descriptor(uint8_t coreid, tusb_control_request_t const if ( TUSB_DESC_TYPE_DEVICE == desc_type ) { - (*pp_buffer) = (uint8_t *) &app_tusb_desc_device; + (*pp_buffer) = (uint8_t *) &tusbd_descriptor_device; (*p_length) = sizeof(tusb_descriptor_device_t); } else if ( TUSB_DESC_TYPE_CONFIGURATION == desc_type ) { - (*pp_buffer) = (uint8_t *) &app_tusb_desc_configuration; - (*p_length) = sizeof(app_tusb_desc_configuration); + (*pp_buffer) = (uint8_t *) &tusbd_descriptor_configuration; + (*p_length) = sizeof(tusbd_descriptor_configuration); } else if ( TUSB_DESC_TYPE_STRING == desc_type ) { if ( ! (desc_index < TUSB_CFG_DEVICE_STRING_DESCRIPTOR_COUNT) ) return TUSB_ERROR_DCD_CONTROL_REQUEST_NOT_SUPPORT; - (*pp_buffer) = (uint8_t *) tusbd_string_desc_table[desc_index]; + (*pp_buffer) = (uint8_t *) tusbd_descriptor_string_table[desc_index]; (*p_length) = **pp_buffer; }else { diff --git a/tinyusb/host/usbh.c b/tinyusb/host/usbh.c index f0920785..7653affb 100644 --- a/tinyusb/host/usbh.c +++ b/tinyusb/host/usbh.c @@ -52,9 +52,6 @@ //--------------------------------------------------------------------+ // MACRO CONSTANT TYPEDEF //--------------------------------------------------------------------+ -#define ENUM_QUEUE_DEPTH 5 - -// TODO fix/compress number of class driver static host_class_driver_t const usbh_class_drivers[] = { #if HOST_CLASS_HID @@ -103,16 +100,15 @@ static host_class_driver_t const usbh_class_drivers[] = #endif }; -enum { - USBH_CLASS_DRIVER_COUNT = sizeof(usbh_class_drivers) / sizeof(host_class_driver_t) -}; +enum { USBH_CLASS_DRIVER_COUNT = sizeof(usbh_class_drivers) / sizeof(host_class_driver_t) }; //--------------------------------------------------------------------+ // INTERNAL OBJECT & FUNCTION DECLARATION //--------------------------------------------------------------------+ TUSB_CFG_ATTR_USBRAM usbh_device_info_t usbh_devices[TUSB_CFG_HOST_DEVICE_MAX+1]; // including zero-address -//------------- Enumeration Task Data -------------// +//------------- Enumeration Task Data -------------/ +enum { ENUM_QUEUE_DEPTH = 5 }; OSAL_TASK_DEF(usbh_enumeration_task, 200, TUSB_CFG_OS_TASK_PRIO); OSAL_QUEUE_DEF(enum_queue_def, ENUM_QUEUE_DEPTH, uint32_t);