Fixed internal device serial not being accessible on the ATMEGAXXU2 AVRs (thanks to Axel Rohde).

pull/1469/head
Dean Camera 15 years ago
parent 328ed71ce7
commit e95c96ea20

@ -80,7 +80,10 @@
*/ */
#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. /** 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 * 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 * number allocations) to a device regardless of the port it is plugged in to on the host. Some USB AVRs contain

@ -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) static char USB_Device_NibbleToASCII(uint8_t Nibble)
{ {
Nibble = ((Nibble & 0x0F) + '0'); Nibble = ((Nibble & 0x0F) + '0');
@ -261,7 +261,7 @@ static void USB_Device_GetDescriptor(void)
uint8_t DescriptorAddressSpace; uint8_t DescriptorAddressSpace;
#endif #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)) if (USB_ControlRequest.wValue == ((DTYPE_String << 8) | USE_INTERNAL_SERIAL))
{ {
USB_Device_GetInternalSerialDescriptor(); USB_Device_GetInternalSerialDescriptor();

@ -149,7 +149,7 @@
static void USB_Device_GetStatus(void); static void USB_Device_GetStatus(void);
static void USB_Device_ClearSetFeature(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 char USB_Device_NibbleToASCII(uint8_t Nibble) ATTR_ALWAYS_INLINE;
static void USB_Device_GetInternalSerialDescriptor(void); static void USB_Device_GetInternalSerialDescriptor(void);
#endif #endif

@ -30,6 +30,7 @@
* an overflow in the checksum calculation loop (thanks to Kevin Malec) * 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 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 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 * \section Sec_ChangeLog100513 Version 100513
* <b>New:</b> * <b>New:</b>

Loading…
Cancel
Save