From 55da77d85f0482aea9e5c401f59e9b2975a0c2a4 Mon Sep 17 00:00:00 2001 From: Dean Camera Date: Sun, 21 Nov 2010 10:16:44 +0000 Subject: [PATCH] Remove internal USB_Device_NibbleToASCII() function in favour of manually inlined code to prevent compilation errors in -O0 optimisation level. --- LUFA/Drivers/USB/HighLevel/DeviceStandardReq.c | 11 ++++------- LUFA/Drivers/USB/HighLevel/DeviceStandardReq.h | 1 - 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/LUFA/Drivers/USB/HighLevel/DeviceStandardReq.c b/LUFA/Drivers/USB/HighLevel/DeviceStandardReq.c index 7d7e48d9b9..cceffc99f2 100644 --- a/LUFA/Drivers/USB/HighLevel/DeviceStandardReq.c +++ b/LUFA/Drivers/USB/HighLevel/DeviceStandardReq.c @@ -198,12 +198,6 @@ static void USB_Device_GetConfiguration(void) } #if !defined(NO_INTERNAL_SERIAL) && (USE_INTERNAL_SERIAL != NO_DESCRIPTOR) -static char USB_Device_NibbleToASCII(uint8_t Nibble) -{ - Nibble &= 0x0F; - return (Nibble >= 10) ? (('A' - 10) + Nibble) : ('0' + Nibble); -} - static void USB_Device_GetInternalSerialDescriptor(void) { struct @@ -229,7 +223,10 @@ static void USB_Device_GetInternalSerialDescriptor(void) SigReadAddress++; } - SignatureDescriptor.UnicodeString[SerialCharNum] = USB_Device_NibbleToASCII(SerialByte); + SerialByte &= 0x0F; + + SignatureDescriptor.UnicodeString[SerialCharNum] = (SerialByte >= 10) ? + (('A' - 10) + SerialByte) : ('0' + SerialByte); } } diff --git a/LUFA/Drivers/USB/HighLevel/DeviceStandardReq.h b/LUFA/Drivers/USB/HighLevel/DeviceStandardReq.h index b31fe71280..6f1ba0110f 100644 --- a/LUFA/Drivers/USB/HighLevel/DeviceStandardReq.h +++ b/LUFA/Drivers/USB/HighLevel/DeviceStandardReq.h @@ -151,7 +151,6 @@ static void USB_Device_ClearSetFeature(void); #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 #endif