aboutsummaryrefslogtreecommitdiffstats
path: root/LUFA/Drivers/USB/LowLevel/LowLevel.h
diff options
context:
space:
mode:
authorDean Camera <dean@fourwalledcubicle.com>2009-03-31 11:56:00 +0000
committerDean Camera <dean@fourwalledcubicle.com>2009-03-31 11:56:00 +0000
commitfa85c5e4169c27cb76c24e89cab63c2b062739c4 (patch)
tree04f4abb5599360bec4452ec210f9f4d151fb4743 /LUFA/Drivers/USB/LowLevel/LowLevel.h
parent3aa8620a61cea8676c74b5e61527ab273f13ec70 (diff)
downloadlufa-fa85c5e4169c27cb76c24e89cab63c2b062739c4.tar.gz
lufa-fa85c5e4169c27cb76c24e89cab63c2b062739c4.tar.bz2
lufa-fa85c5e4169c27cb76c24e89cab63c2b062739c4.zip
Commit for the 090401 release.
Diffstat (limited to 'LUFA/Drivers/USB/LowLevel/LowLevel.h')
-rw-r--r--LUFA/Drivers/USB/LowLevel/LowLevel.h53
1 files changed, 30 insertions, 23 deletions
diff --git a/LUFA/Drivers/USB/LowLevel/LowLevel.h b/LUFA/Drivers/USB/LowLevel/LowLevel.h
index 98deaaca1..253d0180e 100644
--- a/LUFA/Drivers/USB/LowLevel/LowLevel.h
+++ b/LUFA/Drivers/USB/LowLevel/LowLevel.h
@@ -109,20 +109,24 @@
*/
#define USB_MODE_DEVICE 1
- /** Mode mask for the USB_CurrentMode global and the USB_Init() function. This indicates that the
- * USB interface is or should be initialized in the USB host mode.
- *
- * \note Not all USB AVRs support host mode.
- */
- #define USB_MODE_HOST 2
-
- /** Mode mask for the the USB_Init() function. This indicates that the USB interface should be
- * initialized into whatever mode the UID pin of the USB AVR indicates, and that the device
- * should swap over its mode when the level of the UID pin changes during operation.
- *
- * \note Not all USB AVRs support host mode, and thus UID mode.
- */
- #define USB_MODE_UID 3
+ #if defined(USB_CAN_BE_HOST) || defined(__DOXYGEN__)
+ /** Mode mask for the USB_CurrentMode global and the USB_Init() function. This indicates that the
+ * USB interface is or should be initialized in the USB host mode.
+ *
+ * \note This token is not available on AVR models which do not support host mode.
+ */
+ #define USB_MODE_HOST 2
+ #endif
+
+ #if defined(USB_CAN_BE_BOTH) || defined(__DOXYGEN__)
+ /** Mode mask for the the USB_Init() function. This indicates that the USB interface should be
+ * initialized into whatever mode the UID pin of the USB AVR indicates, and that the device
+ * should swap over its mode when the level of the UID pin changes during operation.
+ *
+ * \note This token is not available on AVR models which do not support both host and device modes.
+ */
+ #define USB_MODE_UID 3
+ #endif
/** Regulator disable option mask for USB_Init(). This indicates that the internal 3.3V USB data pad
* regulator should be enabled to regulate the data pin voltages to within the USB standard.
@@ -181,10 +185,14 @@
*/
#define EP_TYPE_MASK 0b11
- /** Returns boolean true if the VBUS line is currently high (i.e. the USB host is supplying power),
- * otherwise returns false.
- */
- #define USB_VBUS_GetStatus() ((USBSTA & (1 << VBUS)) ? true : false)
+ #if defined(USB_FULL_CONTROLLER) || defined(USB_MODIFIED_FULL_CONTROLLER) || defined(__DOXYGEN__)
+ /** Returns boolean true if the VBUS line is currently high (i.e. the USB host is supplying power),
+ * otherwise returns false.
+ *
+ * \note This token is not available on some AVR models which do not support hardware VBUS monitoring.
+ */
+ #define USB_VBUS_GetStatus() ((USBSTA & (1 << VBUS)) ? true : false)
+ #endif
/** Detaches the device from the USB bus. This has the effect of removing the device from any
* host if, ceasing USB communications. If no host is present, this prevents any host from
@@ -353,19 +361,18 @@
#define USB_Interface_Reset() MACROS{ uint8_t Temp = USBCON; USBCON = (Temp & ~(1 << USBE)); \
USBCON = (Temp | (1 << USBE)); }MACROE
- /* Inline Functions: */
+ /* Inline Functions: */
+ #if defined(USB_CAN_BE_BOTH)
static inline uint8_t USB_GetUSBModeFromUID(void) ATTR_WARN_UNUSED_RESULT;
static inline uint8_t USB_GetUSBModeFromUID(void)
{
- #if (defined(__AVR_AT90USB1287__) || defined(__AVR_AT90USB647__))
if (USBSTA & (1 << ID))
return USB_MODE_DEVICE;
else
return USB_MODE_HOST;
- #else
- return USB_MODE_DEVICE;
- #endif
}
+ #endif
+
#endif
/* Disable C linkage for C++ Compilers: */