forked from mfulz_github/qmk_firmware
Extend the automatic serial number descriptor code to read out and send all 10 bytes (20 characters) of the internal serial number on supported AVRs, rather than just the first 6 bytes (12 characters).
This commit is contained in:
parent
7f3f39b575
commit
6928f17b64
|
@ -232,10 +232,10 @@ static void USB_Device_GetInternalSerialDescriptor(void)
|
||||||
struct
|
struct
|
||||||
{
|
{
|
||||||
USB_Descriptor_Header_t Header;
|
USB_Descriptor_Header_t Header;
|
||||||
int16_t UnicodeString[12];
|
int16_t UnicodeString[20];
|
||||||
} SignatureDescriptor;
|
} SignatureDescriptor;
|
||||||
|
|
||||||
uint8_t SigReadAddress = 0x0E;
|
uint8_t SigReadAddress = 0x0E;
|
||||||
bool OddNibbleRead = false;
|
bool OddNibbleRead = false;
|
||||||
|
|
||||||
#if defined(USE_NONSTANDARD_DESCRIPTOR_NAMES)
|
#if defined(USE_NONSTANDARD_DESCRIPTOR_NAMES)
|
||||||
|
@ -246,7 +246,7 @@ static void USB_Device_GetInternalSerialDescriptor(void)
|
||||||
SignatureDescriptor.Header.bDescriptorType = DTYPE_String;
|
SignatureDescriptor.Header.bDescriptorType = DTYPE_String;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
for (uint8_t SerialCharNum = 0; SerialCharNum < 12; SerialCharNum++)
|
for (uint8_t SerialCharNum = 0; SerialCharNum < 20; SerialCharNum++)
|
||||||
{
|
{
|
||||||
uint8_t SerialByte = boot_signature_byte_get(SigReadAddress);
|
uint8_t SerialByte = boot_signature_byte_get(SigReadAddress);
|
||||||
|
|
||||||
|
|
|
@ -93,7 +93,7 @@ USB_Descriptor_Device_t PROGMEM DeviceDescriptor =
|
||||||
|
|
||||||
.ManufacturerStrIndex = 0x01,
|
.ManufacturerStrIndex = 0x01,
|
||||||
.ProductStrIndex = 0x02,
|
.ProductStrIndex = 0x02,
|
||||||
.SerialNumStrIndex = NO_DESCRIPTOR,
|
.SerialNumStrIndex = USE_INTERNAL_SERIAL,
|
||||||
|
|
||||||
.NumberOfConfigurations = 1
|
.NumberOfConfigurations = 1
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in New Issue