diff options
author | Dean Camera <dean@fourwalledcubicle.com> | 2009-05-22 05:23:00 +0000 |
---|---|---|
committer | Dean Camera <dean@fourwalledcubicle.com> | 2009-05-22 05:23:00 +0000 |
commit | d0806c817cbf0c1b5c5362d1577eac6075c94dfc (patch) | |
tree | 1be89ddcaeceee05a5f230bbeb5784ee4c85193b /LUFA | |
parent | b3a4d8512bcaf0feba16a3cbeeaabfcfeb9cf051 (diff) | |
download | lufa-d0806c817cbf0c1b5c5362d1577eac6075c94dfc.tar.gz lufa-d0806c817cbf0c1b5c5362d1577eac6075c94dfc.tar.bz2 lufa-d0806c817cbf0c1b5c5362d1577eac6075c94dfc.zip |
Deleted StdDescriptors.c, renamed USB_GetDescriptor() to CALLBACK_USB_GetDescriptor, moved ConfigDescriptor.c/.h from the LUFA/Drivers/USB/Class/ directory to LUFA/Drivers/USB/HighLevel/ in preperation for the new USB class APIs.
Diffstat (limited to 'LUFA')
-rw-r--r-- | LUFA/ChangeLog.txt | 2 | ||||
-rw-r--r-- | LUFA/Drivers/USB/HighLevel/ConfigDescriptor.c (renamed from LUFA/Drivers/USB/Class/ConfigDescriptor.c) | 0 | ||||
-rw-r--r-- | LUFA/Drivers/USB/HighLevel/ConfigDescriptor.h (renamed from LUFA/Drivers/USB/Class/ConfigDescriptor.h) | 0 | ||||
-rw-r--r-- | LUFA/Drivers/USB/HighLevel/Events.h | 12 | ||||
-rw-r--r-- | LUFA/Drivers/USB/HighLevel/StdDescriptors.c | 44 | ||||
-rw-r--r-- | LUFA/Drivers/USB/HighLevel/StdDescriptors.h | 27 | ||||
-rw-r--r-- | LUFA/Drivers/USB/LowLevel/DevChapter9.c | 9 | ||||
-rw-r--r-- | LUFA/Drivers/USB/LowLevel/Device.h | 36 | ||||
-rw-r--r-- | LUFA/Drivers/USB/LowLevel/LowLevel.c | 2 | ||||
-rw-r--r-- | LUFA/Drivers/USB/USB.h | 5 | ||||
-rw-r--r-- | LUFA/MigrationInformation.txt | 5 | ||||
-rw-r--r-- | LUFA/makefile | 14 |
12 files changed, 47 insertions, 109 deletions
diff --git a/LUFA/ChangeLog.txt b/LUFA/ChangeLog.txt index 6ccbb7fae..4a7f34eaa 100644 --- a/LUFA/ChangeLog.txt +++ b/LUFA/ChangeLog.txt @@ -26,6 +26,8 @@ * - Removed DESCRIPTOR_COMPARATOR() macro - comparators should now use regular function definitions to clarify user code
* - USB_IsConnected is now cleared before the USB_Disconnect() event is fired in response to VBUS being removed
* - Fixed incorrect PID value being used in the USBtoSerial project (thanks to Phill)
+ * - Deleted StdDescriptors.c, renamed USB_GetDescriptor() to CALLBACK_USB_GetDescriptor, moved ConfigDescriptor.c/.h from the
+ * LUFA/Drivers/USB/Class/ directory to LUFA/Drivers/USB/HighLevel/ in preperation for the new USB class APIs
*
*
* \section Sec_ChangeLog090510 Version 090510
diff --git a/LUFA/Drivers/USB/Class/ConfigDescriptor.c b/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.c index bbe258b3a..bbe258b3a 100644 --- a/LUFA/Drivers/USB/Class/ConfigDescriptor.c +++ b/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.c diff --git a/LUFA/Drivers/USB/Class/ConfigDescriptor.h b/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.h index 5c2b6e2de..5c2b6e2de 100644 --- a/LUFA/Drivers/USB/Class/ConfigDescriptor.h +++ b/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.h diff --git a/LUFA/Drivers/USB/HighLevel/Events.h b/LUFA/Drivers/USB/HighLevel/Events.h index 464f21aa8..e6d2beaa7 100644 --- a/LUFA/Drivers/USB/HighLevel/Events.h +++ b/LUFA/Drivers/USB/HighLevel/Events.h @@ -267,17 +267,6 @@ * \ref Group_USBManagement documentation).
*/
void EVENT_USB_Reset(void);
-
- /** Event for USB device mode error. This event fires when the USB interface is in device mode,
- * and an error occurs which prevents it from operating normally.
- *
- * \param ErrorCode Error code indicating the source of the error, a value in
- * \ref USB_Device_ErrorCodes_t
- *
- * \note This event does not exist if the USB_HOST_ONLY token is supplied to the compiler (see
- * \ref Group_USBManagement documentation).
- */
- void EVENT_USB_DeviceError(const uint8_t ErrorCode);
#endif
/* Private Interface - For use in library only: */
@@ -314,7 +303,6 @@ void EVENT_USB_Suspend(void) ATTR_WEAK ATTR_ALIAS(USB_Event_Stub);
void EVENT_USB_WakeUp(void) ATTR_WEAK ATTR_ALIAS(USB_Event_Stub);
void EVENT_USB_Reset(void) ATTR_WEAK ATTR_ALIAS(USB_Event_Stub);
- void EVENT_USB_DeviceError(const uint8_t ErrorCode) ATTR_WEAK ATTR_ALIAS(USB_Event_Stub);
#endif
#endif
diff --git a/LUFA/Drivers/USB/HighLevel/StdDescriptors.c b/LUFA/Drivers/USB/HighLevel/StdDescriptors.c deleted file mode 100644 index ae8cc711d..000000000 --- a/LUFA/Drivers/USB/HighLevel/StdDescriptors.c +++ /dev/null @@ -1,44 +0,0 @@ -/*
- LUFA Library
- Copyright (C) Dean Camera, 2009.
-
- dean [at] fourwalledcubicle [dot] com
- www.fourwalledcubicle.com
-*/
-
-/*
- Copyright 2009 Dean Camera (dean [at] fourwalledcubicle [dot] com)
-
- Permission to use, copy, modify, and distribute this software
- and its documentation for any purpose and without fee is hereby
- granted, provided that the above copyright notice appear in all
- copies and that both that the copyright notice and this
- permission notice and warranty disclaimer appear in supporting
- documentation, and that the name of the author not be used in
- advertising or publicity pertaining to distribution of the
- software without specific, written prior permission.
-
- The author disclaim all warranties with regard to this
- software, including all implied warranties of merchantability
- and fitness. In no event shall the author be liable for any
- special, indirect or consequential damages or any damages
- whatsoever resulting from loss of use, data or profits, whether
- in an action of contract, negligence or other tortious action,
- arising out of or in connection with the use or performance of
- this software.
-*/
-
-#include "USBMode.h"
-
-#if defined(USB_CAN_BE_DEVICE)
-
-#include "StdDescriptors.h"
-
-uint16_t USB_GetDescriptor(const uint16_t wValue, const uint8_t wIndex, void** const DescriptorAddress)
-{
- EVENT_USB_DeviceError(DEVICE_ERROR_GetDescriptorNotHooked);
-
- return 0;
-};
-
-#endif
diff --git a/LUFA/Drivers/USB/HighLevel/StdDescriptors.h b/LUFA/Drivers/USB/HighLevel/StdDescriptors.h index d94a91296..7a0ca52b3 100644 --- a/LUFA/Drivers/USB/HighLevel/StdDescriptors.h +++ b/LUFA/Drivers/USB/HighLevel/StdDescriptors.h @@ -456,33 +456,6 @@ #endif
} USB_Descriptor_String_t;
- /* Function Prototypes: */
- /** Function to retrieve a given descriptor's size and memory location from the given descriptor type value,
- * index and language ID. This function MUST be overridden in the user application (added with full, identical
- * prototype and name except for the \ref ATTR_WEAK attribute) so that the library can call it to retrieve descriptor
- * data.
- *
- * \param wValue The type of the descriptor to retrieve in the upper byte, and the index in the
- * lower byte (when more than one descriptor of the given type exists, such as the
- * case of string descriptors). The type may be one of the standard types defined
- * in the DescriptorTypes_t enum, or may be a class-specific descriptor type value.
- * \param wIndex The language ID of the string to return if the wValue type indicates DTYPE_String,
- * otherwise zero for standard descriptors, or as defined in a class-specific
- * standards.
- * \param DescriptorAddress Pointer to the descriptor in memory. This should be set by the routine to
- * the address of the descriptor.
- *
- * \note By default, the library expects all descriptors to be located in flash memory via the PROGMEM attribute.
- * If descriptors should be located in RAM or EEPROM instead (to speed up access in the case of RAM, or to
- * allow the descriptors to be changed dynamically at runtime) either the USE_RAM_DESCRIPTORS or the
- * USE_EEPROM_DESCRIPTORS tokens may be defined in the project makefile and passed to the compiler by the -D
- * switch.
- *
- * \return Size in bytes of the descriptor if it exists, zero or \ref NO_DESCRIPTOR otherwise
- */
- uint16_t USB_GetDescriptor(const uint16_t wValue, const uint8_t wIndex, void** const DescriptorAddress)
- ATTR_WARN_UNUSED_RESULT ATTR_WEAK ATTR_NON_NULL_PTR_ARG(3);
-
/* Private Interface - For use in library only: */
#if !defined(__DOXYGEN__)
/* Macros: */
diff --git a/LUFA/Drivers/USB/LowLevel/DevChapter9.c b/LUFA/Drivers/USB/LowLevel/DevChapter9.c index 8f53105a6..9bba23495 100644 --- a/LUFA/Drivers/USB/LowLevel/DevChapter9.c +++ b/LUFA/Drivers/USB/LowLevel/DevChapter9.c @@ -137,7 +137,7 @@ static void USB_Device_SetConfiguration(void) #else
USB_Descriptor_Device_t* DevDescriptorPtr;
- if ((USB_GetDescriptor((DTYPE_Device << 8), 0, (void*)&DevDescriptorPtr) == NO_DESCRIPTOR) ||
+ if ((CALLBACK_USB_GetDescriptor((DTYPE_Device << 8), 0, (void*)&DevDescriptorPtr) == NO_DESCRIPTOR) ||
#if defined(USE_RAM_DESCRIPTORS)
((uint8_t)USB_ControlRequest.wValue > DevDescriptorPtr->NumberOfConfigurations))
#elif defined (USE_EEPROM_DESCRIPTORS)
@@ -179,8 +179,11 @@ static void USB_Device_GetDescriptor(void) void* DescriptorPointer;
uint16_t DescriptorSize;
- if ((DescriptorSize = USB_GetDescriptor(USB_ControlRequest.wValue, USB_ControlRequest.wIndex, &DescriptorPointer)) == NO_DESCRIPTOR)
- return;
+ if ((DescriptorSize = CALLBACK_USB_GetDescriptor(USB_ControlRequest.wValue,
+ USB_ControlRequest.wIndex, &DescriptorPointer)) == NO_DESCRIPTOR)
+ {
+ return;
+ }
Endpoint_ClearSETUP();
diff --git a/LUFA/Drivers/USB/LowLevel/Device.h b/LUFA/Drivers/USB/LowLevel/Device.h index ea9be4b9f..cf54345c4 100644 --- a/LUFA/Drivers/USB/LowLevel/Device.h +++ b/LUFA/Drivers/USB/LowLevel/Device.h @@ -114,20 +114,32 @@ #define USB_Device_IsUSBSuspended() ((UDINT & (1 << SUSPI)) ? true : false)
#endif
- /* Enums: */
- /** Enum for the ErrorCode parameter of the \ref EVENT_USB_DeviceError() event.
+ /* Function Prototypes: */
+ /** Function to retrieve a given descriptor's size and memory location from the given descriptor type value,
+ * index and language ID. This function MUST be overridden in the user application (added with full, identical
+ * prototype and name except for the \ref ATTR_WEAK attribute) so that the library can call it to retrieve descriptor
+ * data.
*
- * \see Events.h for more information on this event.
+ * \param wValue The type of the descriptor to retrieve in the upper byte, and the index in the
+ * lower byte (when more than one descriptor of the given type exists, such as the
+ * case of string descriptors). The type may be one of the standard types defined
+ * in the DescriptorTypes_t enum, or may be a class-specific descriptor type value.
+ * \param wIndex The language ID of the string to return if the wValue type indicates DTYPE_String,
+ * otherwise zero for standard descriptors, or as defined in a class-specific
+ * standards.
+ * \param DescriptorAddress Pointer to the descriptor in memory. This should be set by the routine to
+ * the address of the descriptor.
+ *
+ * \note By default, the library expects all descriptors to be located in flash memory via the PROGMEM attribute.
+ * If descriptors should be located in RAM or EEPROM instead (to speed up access in the case of RAM, or to
+ * allow the descriptors to be changed dynamically at runtime) either the USE_RAM_DESCRIPTORS or the
+ * USE_EEPROM_DESCRIPTORS tokens may be defined in the project makefile and passed to the compiler by the -D
+ * switch.
+ *
+ * \return Size in bytes of the descriptor if it exists, zero or \ref NO_DESCRIPTOR otherwise
*/
- enum USB_Device_ErrorCodes_t
- {
- DEVICE_ERROR_GetDescriptorNotHooked = 0, /**< Indicates that the \ref USB_GetDescriptor() method
- * has not been hooked by the user application.
- *
- * \see \ref Group_Descriptors for more information on
- * the \ref USB_GetDescriptor() method.
- */
- };
+ uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue, const uint8_t wIndex, void** const DescriptorAddress)
+ ATTR_WARN_UNUSED_RESULT ATTR_WEAK ATTR_NON_NULL_PTR_ARG(3);
/* Private Interface - For use in library only: */
#if !defined(__DOXYGEN__)
diff --git a/LUFA/Drivers/USB/LowLevel/LowLevel.c b/LUFA/Drivers/USB/LowLevel/LowLevel.c index 346420f47..8b395be98 100644 --- a/LUFA/Drivers/USB/LowLevel/LowLevel.c +++ b/LUFA/Drivers/USB/LowLevel/LowLevel.c @@ -206,7 +206,7 @@ void USB_ResetInterface(void) {
USB_Descriptor_Device_t* DeviceDescriptorPtr;
- if (USB_GetDescriptor((DTYPE_Device << 8), 0, (void*)&DeviceDescriptorPtr) != NO_DESCRIPTOR)
+ if (CALLBACK_USB_GetDescriptor((DTYPE_Device << 8), 0, (void*)&DeviceDescriptorPtr) != NO_DESCRIPTOR)
{
#if defined(USE_RAM_DESCRIPTORS)
USB_ControlEndpointSize = DeviceDescriptorPtr->Endpoint0Size;
diff --git a/LUFA/Drivers/USB/USB.h b/LUFA/Drivers/USB/USB.h index e0d812787..6d66c4d14 100644 --- a/LUFA/Drivers/USB/USB.h +++ b/LUFA/Drivers/USB/USB.h @@ -46,10 +46,9 @@ * - LUFA/Drivers/USB/LowLevel/LowLevel.c
* - LUFA/Drivers/USB/LowLevel/Pipe.c
* - LUFA/Drivers/USB/HighLevel/Events.c
- * - LUFA/Drivers/USB/HighLevel/StdDescriptors.c
* - LUFA/Drivers/USB/HighLevel/USBInterrupt.c
* - LUFA/Drivers/USB/HighLevel/USBTask.c
- * - LUFA/Drivers/USB/Class/ConfigDescriptor.c
+ * - LUFA/Drivers/USB/HighLevel/ConfigDescriptor.c
* - LUFA/Drivers/USB/Class/HIDParser.c
*
* \section Module Description
@@ -97,7 +96,7 @@ #include "LowLevel/OTG.h"
#endif
- #include "Class/ConfigDescriptor.h"
+ #include "HighLevel/ConfigDescriptor.h"
#include "Class/HIDParser.h"
#endif
diff --git a/LUFA/MigrationInformation.txt b/LUFA/MigrationInformation.txt index 7b21b8cc2..2ee452c86 100644 --- a/LUFA/MigrationInformation.txt +++ b/LUFA/MigrationInformation.txt @@ -23,6 +23,11 @@ * \ref Group_Events for new API details.
* - The STREAM_CALLBACK() macro has been removed. User applications should replace all instances of the macro with regular
* function signatures of a function accepting no arguments and returning a uint8_t value.
+ * - The Event_DeviceError() event no longer exists, as its sole caller (unlinked USB_GetDescriptor() function) now produces a
+ * compilation error rather than a runtime error. The StdDescriptors.c file no longer exists as a result, and should be removed
+ * from project makefiles.
+ * - The USB_GetDescriptor() function has been renamed to CALLBACK_USB_GetDescriptor() to be in line with the new CALLBACK_ function
+ * prefixes for functions which *must* be implemented in the user application.
*
* <b>Host Mode</b>
* - Support for non-control data pipe interrupts has been dropped due to many issues in the implementation. All existing
diff --git a/LUFA/makefile b/LUFA/makefile index 3e1ce85b7..fc0009793 100644 --- a/LUFA/makefile +++ b/LUFA/makefile @@ -8,18 +8,18 @@ # Makefile for the LUFA library itself.
-LUFA_SRC_FILES = ./Drivers/USB/LowLevel/LowLevel.c \
+LUFA_SRC_FILES = ./Drivers/USB/LowLevel/DevChapter9.c \
./Drivers/USB/LowLevel/Endpoint.c \
- ./Drivers/USB/LowLevel/Pipe.c \
- ./Drivers/USB/LowLevel/DevChapter9.c \
- ./Drivers/USB/LowLevel/HostChapter9.c \
./Drivers/USB/LowLevel/Host.c \
- ./Drivers/USB/HighLevel/USBTask.c \
- ./Drivers/USB/HighLevel/USBInterrupt.c \
+ ./Drivers/USB/LowLevel/HostChapter9.c \
+ ./Drivers/USB/LowLevel/LowLevel.c \
+ ./Drivers/USB/LowLevel/Pipe.c \
./Drivers/USB/HighLevel/Events.c \
./Drivers/USB/HighLevel/StdDescriptors.c \
- ./Drivers/USB/Class/HIDParser.c \
+ ./Drivers/USB/HighLevel/USBInterrupt.c \
+ ./Drivers/USB/HighLevel/USBTask.c \
./Drivers/USB/Class/ConfigDescriptor.c \
+ ./Drivers/USB/Class/HIDParser.c \
./Scheduler/Scheduler.c \
./MemoryAllocator/DynAlloc.c \
./Drivers/Board/Temperature.c \
|