aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDean Camera <dean@fourwalledcubicle.com>2010-05-30 07:29:18 +0000
committerDean Camera <dean@fourwalledcubicle.com>2010-05-30 07:29:18 +0000
commite95c96ea20117dbf43bd37e4abb5bad974f30816 (patch)
tree70dd194511980da0894818d2c2c79b5cb22983a1
parent328ed71ce728de4a6633d981441ac9837c9cd62a (diff)
downloadlufa-e95c96ea20117dbf43bd37e4abb5bad974f30816.tar.gz
lufa-e95c96ea20117dbf43bd37e4abb5bad974f30816.tar.bz2
lufa-e95c96ea20117dbf43bd37e4abb5bad974f30816.zip
Fixed internal device serial not being accessible on the ATMEGAXXU2 AVRs (thanks to Axel Rohde).
-rw-r--r--LUFA/Drivers/USB/HighLevel/StdDescriptors.h5
-rw-r--r--LUFA/Drivers/USB/LowLevel/DevChapter9.c4
-rw-r--r--LUFA/Drivers/USB/LowLevel/DevChapter9.h2
-rw-r--r--LUFA/ManPages/ChangeLog.txt1
4 files changed, 8 insertions, 4 deletions
diff --git a/LUFA/Drivers/USB/HighLevel/StdDescriptors.h b/LUFA/Drivers/USB/HighLevel/StdDescriptors.h
index 9764b45ad..db40bc574 100644
--- a/LUFA/Drivers/USB/HighLevel/StdDescriptors.h
+++ b/LUFA/Drivers/USB/HighLevel/StdDescriptors.h
@@ -80,7 +80,10 @@
*/
#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
diff --git a/LUFA/Drivers/USB/LowLevel/DevChapter9.c b/LUFA/Drivers/USB/LowLevel/DevChapter9.c
index 1529b6f13..544531b8d 100644
--- a/LUFA/Drivers/USB/LowLevel/DevChapter9.c
+++ b/LUFA/Drivers/USB/LowLevel/DevChapter9.c
@@ -208,7 +208,7 @@ void USB_Device_GetConfiguration(void)
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');
@@ -261,7 +261,7 @@ static void USB_Device_GetDescriptor(void)
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();
diff --git a/LUFA/Drivers/USB/LowLevel/DevChapter9.h b/LUFA/Drivers/USB/LowLevel/DevChapter9.h
index 7bafcbfb3..41246ec38 100644
--- a/LUFA/Drivers/USB/LowLevel/DevChapter9.h
+++ b/LUFA/Drivers/USB/LowLevel/DevChapter9.h
@@ -149,7 +149,7 @@
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
diff --git a/LUFA/ManPages/ChangeLog.txt b/LUFA/ManPages/ChangeLog.txt
index 97a49c26e..c123116c7 100644
--- a/LUFA/ManPages/ChangeLog.txt
+++ b/LUFA/ManPages/ChangeLog.txt
@@ -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)
+ * - Fixed internal device serial not being accessible on the ATMEGAXXU2 AVRs (thanks to Axel Rohde)
*
* \section Sec_ChangeLog100513 Version 100513
* <b>New:</b>