mirror of
https://github.com/sakumisu/CherryUSB.git
synced 2025-05-08 16:18:44 +08:00
update: add langid in string desc
This commit is contained in:
parent
3a3de9cb69
commit
66b893e64f
@ -33,10 +33,6 @@
|
||||
|
||||
/* ================= USB Device Stack Configuration ================ */
|
||||
|
||||
#ifndef CONFIG_USBDEV_STRING_LANGID
|
||||
#define CONFIG_USBDEV_STRING_LANGID 0x0409
|
||||
#endif
|
||||
|
||||
/* Ep0 in and out transfer buffer */
|
||||
#ifndef CONFIG_USBDEV_REQUEST_BUFFER_LEN
|
||||
#define CONFIG_USBDEV_REQUEST_BUFFER_LEN 512
|
||||
|
@ -187,23 +187,22 @@ static bool usbd_get_descriptor(uint8_t busid, uint16_t type_index, uint8_t **da
|
||||
desc = (uint8_t *)g_usbd_core[busid].descriptors->msosv1_descriptor->string;
|
||||
desc_len = g_usbd_core[busid].descriptors->msosv1_descriptor->string[0];
|
||||
} else {
|
||||
if (index == USB_STRING_LANGID_INDEX) {
|
||||
uint16_t STRING_LANGID = CONFIG_USBDEV_STRING_LANGID;
|
||||
|
||||
(*data)[0] = 0x04;
|
||||
(*data)[1] = USB_DESCRIPTOR_TYPE_STRING;
|
||||
(*data)[2] = (uint8_t)(STRING_LANGID & 0xff);
|
||||
(*data)[3] = (uint8_t)((STRING_LANGID & 0xff00) >> 8);
|
||||
|
||||
*len = 4;
|
||||
return true;
|
||||
}
|
||||
string = g_usbd_core[busid].descriptors->string_descriptor_callback(g_usbd_core[busid].speed, index);
|
||||
if (string == NULL) {
|
||||
found = false;
|
||||
break;
|
||||
}
|
||||
|
||||
if (index == USB_STRING_LANGID_INDEX) {
|
||||
(*data)[0] = 4;
|
||||
(*data)[1] = USB_DESCRIPTOR_TYPE_STRING;
|
||||
(*data)[2] = string[0];
|
||||
(*data)[3] = string[1];
|
||||
|
||||
*len = 4;
|
||||
return true;
|
||||
}
|
||||
|
||||
uint16_t str_size = strlen(string);
|
||||
uint16_t total_size = 2 * str_size + 2;
|
||||
if (total_size > CONFIG_USBDEV_REQUEST_BUFFER_LEN) {
|
||||
|
@ -63,8 +63,9 @@ static const uint8_t device_quality_descriptor[] = {
|
||||
};
|
||||
|
||||
static const char *string_descriptors[] = {
|
||||
(const char[]){ 0x09, 0x04 }, /* Langid */
|
||||
"CherryUSB", /* Manufacturer */
|
||||
"CherryUSB CDC DEMO", /* Product */
|
||||
"CherryUSB CDC MSC DEMO", /* Product */
|
||||
"2022123456", /* Serial Number */
|
||||
};
|
||||
|
||||
@ -88,7 +89,7 @@ static const char *string_descriptor_callback(uint8_t speed, uint8_t index)
|
||||
if (index > 3) {
|
||||
return NULL;
|
||||
}
|
||||
return string_descriptors[index - 1];
|
||||
return string_descriptors[index];
|
||||
}
|
||||
|
||||
const struct usb_descriptor cdc_msc_descriptor = {
|
||||
|
Loading…
x
Reference in New Issue
Block a user