Fixed internal device serial not being accessible on the ATMEGAXXU2 AVRs (thanks...
authorDean Camera <dean@fourwalledcubicle.com>
Sun, 30 May 2010 07:29:18 +0000 (07:29 +0000)
committerDean Camera <dean@fourwalledcubicle.com>
Sun, 30 May 2010 07:29:18 +0000 (07:29 +0000)
LUFA/Drivers/USB/HighLevel/StdDescriptors.h
LUFA/Drivers/USB/LowLevel/DevChapter9.c
LUFA/Drivers/USB/LowLevel/DevChapter9.h
LUFA/ManPages/ChangeLog.txt

index 9764b45..db40bc5 100644 (file)
                         */
                        #define NO_DESCRIPTOR                     0
 
                         */
                        #define NO_DESCRIPTOR                     0
 
-                       #if (!defined(NO_INTERNAL_SERIAL) && (defined(USB_SERIES_6_AVR) || defined(USB_SERIES_7_AVR))) || defined(__DOXYGEN__)
+                       #if (!defined(NO_INTERNAL_SERIAL) && \
+                            (defined(__AVR_AT90USB647__) || defined(__AVR_AT90USB1287__) || \
+                             defined(__AVR_ATmega32U6__) || defined(__AVR_AT90USB646__)  || defined(__AVR_AT90USB1286__) ||  \
+                             defined(__AVR_ATmega32U2__) || defined(__AVR_ATmega16U2__)  || defined(__AVR_ATmega8U2__)))
                                /** String descriptor index for the device's unique serial number string descriptor within the device.
                                 *  This unique serial number is used by the host to associate resources to the device (such as drivers or COM port
                                 *  number allocations) to a device regardless of the port it is plugged in to on the host. Some USB AVRs contain
                                /** String descriptor index for the device's unique serial number string descriptor within the device.
                                 *  This unique serial number is used by the host to associate resources to the device (such as drivers or COM port
                                 *  number allocations) to a device regardless of the port it is plugged in to on the host. Some USB AVRs contain
index 1529b6f..544531b 100644 (file)
@@ -208,7 +208,7 @@ void USB_Device_GetConfiguration(void)
        Endpoint_ClearStatusStage();
 }
 
        Endpoint_ClearStatusStage();
 }
 
-#if !defined(NO_INTERNAL_SERIAL) && (defined(USB_SERIES_6_AVR) || defined(USB_SERIES_7_AVR))
+#if !defined(NO_INTERNAL_SERIAL) && (USE_INTERNAL_SERIAL != NO_DESCRIPTOR)
 static char USB_Device_NibbleToASCII(uint8_t Nibble)
 {
        Nibble = ((Nibble & 0x0F) + '0');
 static char USB_Device_NibbleToASCII(uint8_t Nibble)
 {
        Nibble = ((Nibble & 0x0F) + '0');
@@ -261,7 +261,7 @@ static void USB_Device_GetDescriptor(void)
        uint8_t  DescriptorAddressSpace;
        #endif
        
        uint8_t  DescriptorAddressSpace;
        #endif
        
-       #if !defined(NO_INTERNAL_SERIAL) && (defined(USB_SERIES_6_AVR) || defined(USB_SERIES_7_AVR))
+       #if !defined(NO_INTERNAL_SERIAL) && (USE_INTERNAL_SERIAL != NO_DESCRIPTOR)
        if (USB_ControlRequest.wValue == ((DTYPE_String << 8) | USE_INTERNAL_SERIAL))
        {
                USB_Device_GetInternalSerialDescriptor();
        if (USB_ControlRequest.wValue == ((DTYPE_String << 8) | USE_INTERNAL_SERIAL))
        {
                USB_Device_GetInternalSerialDescriptor();
index 7bafcbf..41246ec 100644 (file)
                                static void USB_Device_GetStatus(void);
                                static void USB_Device_ClearSetFeature(void);
                                
                                static void USB_Device_GetStatus(void);
                                static void USB_Device_ClearSetFeature(void);
                                
-                               #if !defined(NO_INTERNAL_SERIAL) && (defined(USB_SERIES_6_AVR) || defined(USB_SERIES_7_AVR))
+                               #if !defined(NO_INTERNAL_SERIAL) && (USE_INTERNAL_SERIAL != NO_DESCRIPTOR)
                                        static char USB_Device_NibbleToASCII(uint8_t Nibble) ATTR_ALWAYS_INLINE;
                                        static void USB_Device_GetInternalSerialDescriptor(void);
                                #endif                          
                                        static char USB_Device_NibbleToASCII(uint8_t Nibble) ATTR_ALWAYS_INLINE;
                                        static void USB_Device_GetInternalSerialDescriptor(void);
                                #endif                          
index 97a49c2..c123116 100644 (file)
@@ -30,6 +30,7 @@
   *    an overflow in the checksum calculation loop (thanks to Kevin Malec)
   *  - Fixed XPLAINBridge project not correctly reading the XMEGA's supply voltage when reporting back to the host
   *  - Fixed incorrect signature for the ATMEGA32U2 in the DFU bootloader (thanks to Axel Rohde)
   *    an overflow in the checksum calculation loop (thanks to Kevin Malec)
   *  - Fixed XPLAINBridge project not correctly reading the XMEGA's supply voltage when reporting back to the host
   *  - Fixed incorrect signature for the ATMEGA32U2 in the DFU bootloader (thanks to Axel Rohde)
+  *  - Fixed internal device serial not being accessible on the ATMEGAXXU2 AVRs (thanks to Axel Rohde)
   *
   *  \section Sec_ChangeLog100513 Version 100513
   *  <b>New:</b>
   *
   *  \section Sec_ChangeLog100513 Version 100513
   *  <b>New:</b>