From: Dean Camera Date: Tue, 28 Jul 2009 16:12:09 +0000 (+0000) Subject: Extend the automatic serial number descriptor code to read out and send all 10 bytes... X-Git-Tag: LUFA-110528-BETA~1029 X-Git-Url: http://git.linex4red.de/pub/USBasp.git/commitdiff_plain/6928f17b640bc2060c7829ed67c797f37c3d92a0?ds=inline 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). --- diff --git a/LUFA/Drivers/USB/LowLevel/DevChapter9.c b/LUFA/Drivers/USB/LowLevel/DevChapter9.c index 8de4bd6a8..793b55f9b 100644 --- a/LUFA/Drivers/USB/LowLevel/DevChapter9.c +++ b/LUFA/Drivers/USB/LowLevel/DevChapter9.c @@ -232,10 +232,10 @@ static void USB_Device_GetInternalSerialDescriptor(void) struct { USB_Descriptor_Header_t Header; - int16_t UnicodeString[12]; + int16_t UnicodeString[20]; } SignatureDescriptor; - uint8_t SigReadAddress = 0x0E; + uint8_t SigReadAddress = 0x0E; bool OddNibbleRead = false; #if defined(USE_NONSTANDARD_DESCRIPTOR_NAMES) @@ -246,7 +246,7 @@ static void USB_Device_GetInternalSerialDescriptor(void) SignatureDescriptor.Header.bDescriptorType = DTYPE_String; #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); diff --git a/Projects/Magstripe/Descriptors.c b/Projects/Magstripe/Descriptors.c index 68c98ed34..7aa646613 100644 --- a/Projects/Magstripe/Descriptors.c +++ b/Projects/Magstripe/Descriptors.c @@ -93,7 +93,7 @@ USB_Descriptor_Device_t PROGMEM DeviceDescriptor = .ManufacturerStrIndex = 0x01, .ProductStrIndex = 0x02, - .SerialNumStrIndex = NO_DESCRIPTOR, + .SerialNumStrIndex = USE_INTERNAL_SERIAL, .NumberOfConfigurations = 1 };