diff options
author | Dean Camera <dean@fourwalledcubicle.com> | 2011-03-13 23:32:32 +0000 |
---|---|---|
committer | Dean Camera <dean@fourwalledcubicle.com> | 2011-03-13 23:32:32 +0000 |
commit | 02dfd7dc3ddf5f485bdd47d45867fa58b569ca2f (patch) | |
tree | 822c3654d239e3f512f9539360cae2464c641f64 /LUFA/Drivers/USB/Core/AVR8/Device_AVR8.h | |
parent | a7eca42996418a7fd87b3411deb368e41615f9a1 (diff) | |
download | lufa-02dfd7dc3ddf5f485bdd47d45867fa58b569ca2f.tar.gz lufa-02dfd7dc3ddf5f485bdd47d45867fa58b569ca2f.tar.bz2 lufa-02dfd7dc3ddf5f485bdd47d45867fa58b569ca2f.zip |
Simplify the internal serial extraction routines for each architecture.
Diffstat (limited to 'LUFA/Drivers/USB/Core/AVR8/Device_AVR8.h')
-rw-r--r-- | LUFA/Drivers/USB/Core/AVR8/Device_AVR8.h | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/LUFA/Drivers/USB/Core/AVR8/Device_AVR8.h b/LUFA/Drivers/USB/Core/AVR8/Device_AVR8.h index dc8630257..f822d0ba5 100644 --- a/LUFA/Drivers/USB/Core/AVR8/Device_AVR8.h +++ b/LUFA/Drivers/USB/Core/AVR8/Device_AVR8.h @@ -100,8 +100,15 @@ * number for the device. */ #define USE_INTERNAL_SERIAL 0xDC + + /** Length of the device's unique internal serial number, in bits, if present on the selected microcontroller + * model. + */ + #define INTERNAL_SERIAL_LENGTH_BITS 80 #else #define USE_INTERNAL_SERIAL NO_DESCRIPTOR + + #define INTERNAL_SERIAL_LENGTH_BITS 0 #endif /* Function Prototypes: */ @@ -190,19 +197,14 @@ return (UDADDR & (1 << ADDEN)); } - static inline uint8_t USB_Device_GetSerialString(uint16_t* UnicodeString, const uint8_t MaxLen) + static inline void USB_Device_GetSerialString(uint16_t* UnicodeString) { - uint8_t SerialCharNum = 0; - ATOMIC_BLOCK(ATOMIC_RESTORESTATE) { uint8_t SigReadAddress = 0x0E; - for (SerialCharNum = 0; SerialCharNum < MIN(MaxLen, 20); SerialCharNum++) + for (uint8_t SerialCharNum = 0; SerialCharNum < (INTERNAL_SERIAL_LENGTH_BYTES * 2); SerialCharNum++) { - if (SerialCharNum == MaxLen) - break; - uint8_t SerialByte = boot_signature_byte_get(SigReadAddress); if (SerialCharNum & 0x01) @@ -217,8 +219,6 @@ (('A' - 10) + SerialByte) : ('0' + SerialByte)); } } - - return SerialCharNum; } #endif |