From fef185a409e2fee980d5fd391813a1cb7809582a Mon Sep 17 00:00:00 2001 From: Dean Camera Date: Wed, 29 Jul 2009 02:49:34 +0000 Subject: [PATCH] Cleanup USBMode.h to simplify preprocessor logic. --- LUFA/Drivers/USB/HighLevel/USBMode.h | 31 +++++++++------------------- LUFA/Drivers/USB/LowLevel/LowLevel.h | 6 ++++++ 2 files changed, 16 insertions(+), 21 deletions(-) diff --git a/LUFA/Drivers/USB/HighLevel/USBMode.h b/LUFA/Drivers/USB/HighLevel/USBMode.h index 8664c1b7ce..18a2666c6e 100644 --- a/LUFA/Drivers/USB/HighLevel/USBMode.h +++ b/LUFA/Drivers/USB/HighLevel/USBMode.h @@ -33,15 +33,8 @@ /* Private Interface - For use in library only: */ #if !defined(__DOXYGEN__) - /* Macros: */ - #if ((defined(__AVR_AT90USB1286__) || defined(__AVR_AT90USB646__) || \ - defined(__AVR_AT90USB162__) || defined(__AVR_AT90USB82__) || \ - defined(__AVR_ATmega16U4__) || defined(__AVR_ATmega32U4__) || \ - defined(__AVR_ATmega32U6__)) && !defined(USB_DEVICE_ONLY)) - #define USB_DEVICE_ONLY - #endif - - #if (defined(__AVR_AT90USB162__) || defined(__AVR_AT90USB82__) || \ + /* Macros: */ + #if (defined(__AVR_AT90USB162__) || defined(__AVR_AT90USB82__) || \ defined(__AVR_ATmega32U2__) || defined(__AVR_ATmega16U2__) || defined(__AVR_ATmega8U2__)) #define USB_SERIES_2_AVR #elif (defined(__AVR_ATmega16U4__) || defined(__AVR_ATmega32U4__)) @@ -52,31 +45,27 @@ #define USB_SERIES_7_AVR #endif + #if !defined(USB_SERIES_7_AVR) + #if defined(USB_HOST_ONLY) + #error USB_HOST_ONLY is not available for the currently selected USB AVR model. + #endif + + #define USB_DEVICE_ONLY + #endif + #if (!defined(USB_DEVICE_ONLY) && !defined(USB_HOST_ONLY)) #define USB_CAN_BE_BOTH #define USB_CAN_BE_HOST #define USB_CAN_BE_DEVICE #elif defined(USB_HOST_ONLY) #define USB_CAN_BE_HOST - - #define USB_CurrentMode USB_MODE_HOST #elif defined(USB_DEVICE_ONLY) #define USB_CAN_BE_DEVICE - - #define USB_CurrentMode USB_MODE_DEVICE - #endif - - #if (!defined(USB_SERIES_7_AVR) && defined(USB_HOST_ONLY)) - #error USB_HOST_ONLY is not available for the currently selected USB AVR model. #endif #if (defined(USB_HOST_ONLY) && defined(USB_DEVICE_ONLY)) #error USB_HOST_ONLY and USB_DEVICE_ONLY are mutually exclusive. #endif - - #if defined(USE_STATIC_OPTIONS) - #define USB_Options USE_STATIC_OPTIONS - #endif #endif #endif diff --git a/LUFA/Drivers/USB/LowLevel/LowLevel.h b/LUFA/Drivers/USB/LowLevel/LowLevel.h index ca2fc7b157..1ca54ed9d4 100644 --- a/LUFA/Drivers/USB/LowLevel/LowLevel.h +++ b/LUFA/Drivers/USB/LowLevel/LowLevel.h @@ -301,6 +301,10 @@ * changed in value. */ extern volatile uint8_t USB_CurrentMode; + #elif defined(USB_HOST_ONLY) + #define USB_CurrentMode USB_MODE_HOST + #elif defined(USB_DEVICE_ONLY) + #define USB_CurrentMode USB_MODE_DEVICE #endif #if !defined(USE_STATIC_OPTIONS) || defined(__DOXYGEN__) @@ -311,6 +315,8 @@ * changed in value. */ extern volatile uint8_t USB_Options; + #elif defined(USE_STATIC_OPTIONS) + #define USB_Options USE_STATIC_OPTIONS #endif /* Private Interface - For use in library only: */