diff --git a/examples/device/dfu_freertos/src/usb_descriptors.c b/examples/device/dfu_freertos/src/usb_descriptors.c index 496bc8dc7..d4ecc2840 100644 --- a/examples/device/dfu_freertos/src/usb_descriptors.c +++ b/examples/device/dfu_freertos/src/usb_descriptors.c @@ -146,6 +146,14 @@ uint16_t const* tud_descriptor_string_cb(uint8_t index, uint16_t langid) if ( !(index < sizeof(string_desc_arr)/sizeof(string_desc_arr[0])) ) return NULL; // check if requested descriptor exists const char* str = string_desc_arr[index]; // load requested string + if (3 == index) { // serial + // set MAC as serial + uint8_t mac[6]; + esp_read_mac(mac, ESP_MAC_ETH); + char usb_serial[13] = {0}; + snprintf(usb_serial, sizeof(usb_serial), "%02X%02X%02X%02X%02X%02X", mac[0], mac[1], mac[2], mac[3], mac[4], mac[5]); + str = usb_serial; + } // check string length chr_count = strlen(str);