mirror of
https://github.com/MrUnknownDE/OpenIris-ESPIDF.git
synced 2026-05-05 21:36:05 +02:00
Add CDC interface string index and unify user-visible names to advertised name
This commit is contained in:
@@ -70,6 +70,8 @@ uint8_t const *tud_descriptor_device_cb(void)
|
|||||||
#define STRID_PRODUCT 2
|
#define STRID_PRODUCT 2
|
||||||
#define STRID_SERIAL 3
|
#define STRID_SERIAL 3
|
||||||
#define STRID_UVC_CAM1 4
|
#define STRID_UVC_CAM1 4
|
||||||
|
// CDC interface string index used by TUD_CDC_DESCRIPTOR below
|
||||||
|
#define STRID_CDC 6
|
||||||
|
|
||||||
// Endpoint numbers for CDC
|
// Endpoint numbers for CDC
|
||||||
#define EPNUM_CDC_NOTIF 0x81
|
#define EPNUM_CDC_NOTIF 0x81
|
||||||
@@ -200,12 +202,15 @@ uint8_t const *tud_descriptor_configuration_cb(uint8_t index)
|
|||||||
//--------------------------------------------------------------------+
|
//--------------------------------------------------------------------+
|
||||||
|
|
||||||
// Array of pointers to string literals. Indices must match STRID_* above.
|
// Array of pointers to string literals. Indices must match STRID_* above.
|
||||||
|
// NOTE: Indices must be contiguous up to the highest used index (STRID_CDC = 6)
|
||||||
char const *string_desc_arr[] = {
|
char const *string_desc_arr[] = {
|
||||||
(const char[]){0x09, 0x04}, // 0: Supported language: English (0x0409)
|
(const char[]){0x09, 0x04}, // 0: Supported language: English (0x0409)
|
||||||
CONFIG_TUSB_MANUFACTURER, // 1: Manufacturer
|
CONFIG_TUSB_MANUFACTURER, // 1: Manufacturer
|
||||||
CONFIG_TUSB_PRODUCT, // 2: Product
|
CONFIG_TUSB_PRODUCT, // 2: Product (overridden by advertised name)
|
||||||
CONFIG_TUSB_SERIAL_NUM, // 3: Serial (overridden by get_serial_number())
|
CONFIG_TUSB_SERIAL_NUM, // 3: Serial (overridden by get_serial_number())
|
||||||
"UVC CAM1", // 4: UVC Interface name for Cam1 (overridden by get_uvc_device_name())
|
"UVC CAM1", // 4: UVC Interface name for Cam1 (overridden by get_uvc_device_name())
|
||||||
|
"CDC", // 5: placeholder (unused)
|
||||||
|
"CDC Interface", // 6: CDC Interface name (overridden to advertised name)
|
||||||
};
|
};
|
||||||
|
|
||||||
static uint16_t _desc_str[32];
|
static uint16_t _desc_str[32];
|
||||||
@@ -249,7 +254,8 @@ uint16_t const *tud_descriptor_string_cb(uint8_t index, uint16_t langid)
|
|||||||
// Allow dynamic overrides for specific indices
|
// Allow dynamic overrides for specific indices
|
||||||
if (index == STRID_SERIAL)
|
if (index == STRID_SERIAL)
|
||||||
str = get_serial_number();
|
str = get_serial_number();
|
||||||
if (index == STRID_UVC_CAM1)
|
// Unify all user-visible names (Product, UVC interface, CDC interface) to advertised name
|
||||||
|
if (index == STRID_UVC_CAM1 || index == STRID_PRODUCT || index == STRID_CDC)
|
||||||
str = get_uvc_device_name();
|
str = get_uvc_device_name();
|
||||||
if (str == NULL)
|
if (str == NULL)
|
||||||
str = string_desc_arr[index];
|
str = string_desc_arr[index];
|
||||||
|
|||||||
Reference in New Issue
Block a user