aboutsummaryrefslogtreecommitdiffstats
path: root/LUFA/Drivers/USB/Core/USBMode.h
diff options
context:
space:
mode:
authorDean Camera <dean@fourwalledcubicle.com>2011-02-20 14:43:13 +0000
committerDean Camera <dean@fourwalledcubicle.com>2011-02-20 14:43:13 +0000
commitf3ec62b5c689d9c66b07a57df76ca83881ce3fe3 (patch)
treef9ccd1810692daf4839b1bf38de33263a370be1f /LUFA/Drivers/USB/Core/USBMode.h
parent28a1ee29a1a200c8e8c76355a9036a7456425bc3 (diff)
downloadlufa-f3ec62b5c689d9c66b07a57df76ca83881ce3fe3.tar.gz
lufa-f3ec62b5c689d9c66b07a57df76ca83881ce3fe3.tar.bz2
lufa-f3ec62b5c689d9c66b07a57df76ca83881ce3fe3.zip
More updates to remove architecture-specific comments from the documentation, alter USBMode.h preprocessor logic to support future architectures more easily.
Diffstat (limited to 'LUFA/Drivers/USB/Core/USBMode.h')
-rw-r--r--LUFA/Drivers/USB/Core/USBMode.h49
1 files changed, 30 insertions, 19 deletions
diff --git a/LUFA/Drivers/USB/Core/USBMode.h b/LUFA/Drivers/USB/Core/USBMode.h
index ff95ce3d5..1cb132812 100644
--- a/LUFA/Drivers/USB/Core/USBMode.h
+++ b/LUFA/Drivers/USB/Core/USBMode.h
@@ -82,17 +82,17 @@
*/
#define USB_SERIES_7_AVR
- /** Indicates that the target AVR microcontroller and compilation settings allow for the
+ /** Indicates that the target microcontroller and compilation settings allow for the
* target to be configured in USB Device mode when defined.
*/
#define USB_CAN_BE_DEVICE
- /** Indicates that the target AVR microcontroller and compilation settings allow for the
+ /** Indicates that the target microcontroller and compilation settings allow for the
* target to be configured in USB Host mode when defined.
*/
#define USB_CAN_BE_HOST
- /** Indicates that the target AVR microcontroller and compilation settings allow for the
+ /** Indicates that the target microcontroller and compilation settings allow for the
* target to be configured in either USB Device or Host mode when defined.
*/
#define USB_CAN_BE_BOTH
@@ -101,37 +101,48 @@
#if (defined(__AVR_AT90USB162__) || defined(__AVR_AT90USB82__) || \
defined(__AVR_ATmega32U2__) || defined(__AVR_ATmega16U2__) || defined(__AVR_ATmega8U2__))
#define USB_SERIES_2_AVR
+ #define USB_CAN_BE_DEVICE
#elif (defined(__AVR_ATmega32U4__) || defined(__AVR_ATmega16U4__))
#define USB_SERIES_4_AVR
+ #define USB_CAN_BE_DEVICE
#elif (defined(__AVR_ATmega32U6__) || defined(__AVR_AT90USB646__) || defined(__AVR_AT90USB1286__))
#define USB_SERIES_6_AVR
+ #define USB_CAN_BE_DEVICE
#elif (defined(__AVR_AT90USB647__) || defined(__AVR_AT90USB1287__))
#define USB_SERIES_7_AVR
+ #define USB_CAN_BE_DEVICE
+ #define USB_CAN_BE_HOST
+ #endif
+
+ #if (defined(USB_CAN_BE_DEVICE) && defined(USB_CAN_BE_HOST))
+ #define USB_CAN_BE_BOTH
#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
-
- #if !defined(USB_DEVICE_ONLY)
- #define USB_DEVICE_ONLY
+ #if defined(USB_HOST_ONLY)
+ #if !defined(USB_CAN_BE_HOST)
+ #error USB_HOST_ONLY is not available for the currently selected microcontroller model.
+ #else
+ #undef USB_CAN_BE_DEVICE
+ #undef USB_CAN_BE_BOTH
#endif
#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
- #elif defined(USB_DEVICE_ONLY)
- #define USB_CAN_BE_DEVICE
+ #if defined(USB_DEVICE_ONLY)
+ #if !defined(USB_CAN_BE_DEVICE)
+ #error USB_DEVICE_ONLY is not available for the currently selected microcontroller model.
+ #else
+ #undef USB_CAN_BE_HOST
+ #undef USB_CAN_BE_BOTH
+ #endif
#endif
-
+
#if (defined(USB_HOST_ONLY) && defined(USB_DEVICE_ONLY))
#error USB_HOST_ONLY and USB_DEVICE_ONLY are mutually exclusive.
#endif
+
+ #if (!defined(USB_CAN_BE_DEVICE) && !defined(USB_CAN_BE_HOST))
+ #error The currently selected architecture is not supported under the USB component of the library.
+ #endif
#endif
#endif