aboutsummaryrefslogtreecommitdiffstats
path: root/LUFA/Drivers/USB/HighLevel
diff options
context:
space:
mode:
authorDean Camera <dean@fourwalledcubicle.com>2009-04-16 08:50:34 +0000
committerDean Camera <dean@fourwalledcubicle.com>2009-04-16 08:50:34 +0000
commit8f6b4ddf764c3a54e42d00a7502c82c5c3e71b1c (patch)
tree65c37548f19c26de3971639067d6f290095f5843 /LUFA/Drivers/USB/HighLevel
parentef06bfd1c0ef5272c32808e23d0fd60d2d1bca9c (diff)
downloadlufa-8f6b4ddf764c3a54e42d00a7502c82c5c3e71b1c.tar.gz
lufa-8f6b4ddf764c3a54e42d00a7502c82c5c3e71b1c.tar.bz2
lufa-8f6b4ddf764c3a54e42d00a7502c82c5c3e71b1c.zip
Fixed GenericHIDHost demo report write routine incorrect for control type requests (thanks to Andrei Krainev).
Removed Endpoint_ClearCurrentBank() and Pipe_ClearCurrentBank() in favour of new Endpoint_ClearIN(), Endpoint_ClearOUT(), Endpoint_ClearControlIN(), Endpoint_ClearControlOUT(), Pipe_ClearIN(), Pipe_ClearOUT(), Pipe_ClearControlIN() and Pipe_ClearControlOUT() macros (done to allow for the detection of packets of zero length). Renamed *_ReadWriteAllowed() macros to *_IsReadWriteAllowed() to remain consistent with the rest of the LUFA API. Endpoint_IsSetupReceived() macro has been renamed to Endpoint_IsSETUPReceived(), Endpoint_ClearSetupReceived() macro has been renamed to Endpoint_ClearControlSETUP(), the Pipe_IsSetupSent() macro has been renamed to Pipe_IsSETUPSent() and the Pipe_ClearSetupSent() macro is no longer applicable and should be removed - changes made to compliment the new endpoint and pipe bank management API. Updated all demos, bootloaders and projects to use the new endpoint and pipe management APIs (thanks to Roman Thiel). Updated library doxygen documentation, added groups, changed documentation macro functions to real functions for clarity. Removed old endpoint and pipe aliased read/write/discard routines which did not have an explicit endian specifier for clarity. Removed the ButtLoadTag.h header file, as no one used for its intended purpose anyway.
Diffstat (limited to 'LUFA/Drivers/USB/HighLevel')
-rw-r--r--LUFA/Drivers/USB/HighLevel/Events.h12
-rw-r--r--LUFA/Drivers/USB/HighLevel/StdDescriptors.h18
-rw-r--r--LUFA/Drivers/USB/HighLevel/StdRequestType.h24
-rw-r--r--LUFA/Drivers/USB/HighLevel/StreamCallbacks.h10
-rw-r--r--LUFA/Drivers/USB/HighLevel/USBInterrupt.h12
-rw-r--r--LUFA/Drivers/USB/HighLevel/USBTask.c2
-rw-r--r--LUFA/Drivers/USB/HighLevel/USBTask.h10
7 files changed, 71 insertions, 17 deletions
diff --git a/LUFA/Drivers/USB/HighLevel/Events.h b/LUFA/Drivers/USB/HighLevel/Events.h
index c9882cfc0..480e824a7 100644
--- a/LUFA/Drivers/USB/HighLevel/Events.h
+++ b/LUFA/Drivers/USB/HighLevel/Events.h
@@ -39,6 +39,14 @@
*
* Each event must only have one associated event handler, but can be raised by multiple sources.
*/
+
+/** \ingroup Group_USB
+ * @defgroup Group_Events USB Events
+ *
+ * Functions, macros, variables, enums and types related to the management of events from the USB kernel.
+ *
+ * @{
+ */
#ifndef __USBEVENTS_H__
#define __USBEVENTS_H__
@@ -436,5 +444,7 @@
#if defined(__cplusplus)
}
#endif
-
+
#endif
+
+/** @} */
diff --git a/LUFA/Drivers/USB/HighLevel/StdDescriptors.h b/LUFA/Drivers/USB/HighLevel/StdDescriptors.h
index d62836321..a1a051824 100644
--- a/LUFA/Drivers/USB/HighLevel/StdDescriptors.h
+++ b/LUFA/Drivers/USB/HighLevel/StdDescriptors.h
@@ -44,6 +44,14 @@
* named counterparts, thus they can be correlated easily with the official USB specification.
*/
+/** \ingroup Group_USB
+ * @defgroup Group_Descriptors USB Descriptors
+ *
+ * Functions, macros, variables, enums and types related to standard USB descriptors.
+ *
+ * @{
+ */
+
#ifndef __USBDESCRIPTORS_H__
#define __USBDESCRIPTORS_H__
@@ -472,12 +480,6 @@
int16_t bString[];
#endif
} USB_Descriptor_String_t;
-
- typedef struct
- {
- uint16_t Size;
- void* Address;
- } USB_Descriptor_Details_t;
/* Function Prototypes: */
/** Function to retrieve a given descriptor's size and memory location from the given descriptor type value,
@@ -519,5 +521,7 @@
#if defined(__cplusplus)
}
#endif
-
+
#endif
+
+/** @} */
diff --git a/LUFA/Drivers/USB/HighLevel/StdRequestType.h b/LUFA/Drivers/USB/HighLevel/StdRequestType.h
index 423de6d9c..bf9ef8aee 100644
--- a/LUFA/Drivers/USB/HighLevel/StdRequestType.h
+++ b/LUFA/Drivers/USB/HighLevel/StdRequestType.h
@@ -34,6 +34,14 @@
* direction, request recipient, etc.) can be extracted via masking.
*/
+/** \ingroup Group_USB
+ * @defgroup Group_StdRequest Standard USB Requests
+ *
+ * Functions, macros, variables, enums and types related to standard USB requests to USB devices.
+ *
+ * @{
+ */
+
#ifndef __STDREQTYPE_H__
#define __STDREQTYPE_H__
@@ -181,11 +189,13 @@
* device mode. */
};
-/* Private Interface - For use in library only: */
- #if !defined(__DOXYGEN__)
- /* Macros: */
- #define FEATURE_SELFPOWERED_ENABLED (1 << 0)
- #define FEATURE_REMOTE_WAKEUP_ENABLED (1 << 1)
- #endif
-
+ /* Private Interface - For use in library only: */
+ #if !defined(__DOXYGEN__)
+ /* Macros: */
+ #define FEATURE_SELFPOWERED_ENABLED (1 << 0)
+ #define FEATURE_REMOTE_WAKEUP_ENABLED (1 << 1)
+ #endif
+
#endif
+
+/** @} */
diff --git a/LUFA/Drivers/USB/HighLevel/StreamCallbacks.h b/LUFA/Drivers/USB/HighLevel/StreamCallbacks.h
index 5c2dad637..300a3f217 100644
--- a/LUFA/Drivers/USB/HighLevel/StreamCallbacks.h
+++ b/LUFA/Drivers/USB/HighLevel/StreamCallbacks.h
@@ -35,6 +35,14 @@
* stream read/write process.
*/
+/** \ingroup Group_USB
+ * @defgroup Group_StreamCallbacks Endpoint and Pipe Stream Callbacks
+ *
+ * Functions, macros, variables, enums and types related to endpoint and pipe stream callback functions.
+ *
+ * @{
+ */
+
#ifndef __STREAMCALLBACK_H__
#define __STREAMCALLBACK_H__
@@ -85,3 +93,5 @@
};
#endif
+
+/** @} */
diff --git a/LUFA/Drivers/USB/HighLevel/USBInterrupt.h b/LUFA/Drivers/USB/HighLevel/USBInterrupt.h
index d54de3920..65e0b5fb1 100644
--- a/LUFA/Drivers/USB/HighLevel/USBInterrupt.h
+++ b/LUFA/Drivers/USB/HighLevel/USBInterrupt.h
@@ -34,6 +34,14 @@
* events as VBUS interrupts (on supported USB AVR models), device connections and disconnections, etc.
*/
+/** \ingroup Group_USB
+ * @defgroup Group_USBInterrupt Endpoint and Pipe Interrupts
+ *
+ * Functions, macros, variables, enums and types related to endpoint and pipe interrupts.
+ *
+ * @{
+ */
+
#ifndef __USBINTERRUPT_H__
#define __USBINTERRUPT_H__
@@ -220,5 +228,7 @@
#if defined(__cplusplus)
}
#endif
-
+
#endif
+
+/** @} */
diff --git a/LUFA/Drivers/USB/HighLevel/USBTask.c b/LUFA/Drivers/USB/HighLevel/USBTask.c
index e62ac687f..80731ac19 100644
--- a/LUFA/Drivers/USB/HighLevel/USBTask.c
+++ b/LUFA/Drivers/USB/HighLevel/USBTask.c
@@ -64,7 +64,7 @@ static void USB_DeviceTask(void)
Endpoint_SelectEndpoint(ENDPOINT_CONTROLEP);
- if (Endpoint_IsSetupReceived())
+ if (Endpoint_IsSETUPReceived())
{
ATOMIC_BLOCK(ATOMIC_RESTORESTATE)
{
diff --git a/LUFA/Drivers/USB/HighLevel/USBTask.h b/LUFA/Drivers/USB/HighLevel/USBTask.h
index e0ca8ede8..bcf117ddb 100644
--- a/LUFA/Drivers/USB/HighLevel/USBTask.h
+++ b/LUFA/Drivers/USB/HighLevel/USBTask.h
@@ -73,6 +73,8 @@
* needs to be determined, VBUS should be routed to an external pin, and the auto-detect behaviour turned off by
* passing the NO_LIMITED_CONTROLLER_CONNECT token to the compiler via the -D switch at compile time. The connection
* and disconnection events may be manually fired by RAISE_EVENT(), and the USB_IsConnected global changed manually.
+ *
+ * \ingroup Group_USBManagement
*/
extern volatile bool USB_IsConnected;
@@ -81,6 +83,8 @@
*
* \note This variable should be treated as read-only in the user application, and never manually
* changed in value.
+ *
+ * \ingroup Group_USBManagement
*/
extern volatile bool USB_IsInitialized;
@@ -94,6 +98,8 @@
*
* \note This variable should be treated as read-only in the user application, and never manually
* changed in value.
+ *
+ * \ingroup Group_Device
*/
extern volatile bool USB_IsSuspended;
#endif
@@ -107,6 +113,8 @@
* by the library.
*
* \note This global is only present if the user application can be a USB host.
+ *
+ * \ingroup Group_Host
*/
extern volatile uint8_t USB_HostState;
#endif
@@ -173,6 +181,8 @@
* event and disabled again on the firing of the USB_DeviceUnattached event.
*
* \see Events.h for more information on the USB events.
+ *
+ * \ingroup Group_USBManagement
*/
TASK(USB_USBTask);