aboutsummaryrefslogtreecommitdiffstats
path: root/LUFA
diff options
context:
space:
mode:
authorDean Camera <dean@fourwalledcubicle.com>2009-05-22 05:23:00 +0000
committerDean Camera <dean@fourwalledcubicle.com>2009-05-22 05:23:00 +0000
commitd0806c817cbf0c1b5c5362d1577eac6075c94dfc (patch)
tree1be89ddcaeceee05a5f230bbeb5784ee4c85193b /LUFA
parentb3a4d8512bcaf0feba16a3cbeeaabfcfeb9cf051 (diff)
downloadlufa-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.txt2
-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.h12
-rw-r--r--LUFA/Drivers/USB/HighLevel/StdDescriptors.c44
-rw-r--r--LUFA/Drivers/USB/HighLevel/StdDescriptors.h27
-rw-r--r--LUFA/Drivers/USB/LowLevel/DevChapter9.c9
-rw-r--r--LUFA/Drivers/USB/LowLevel/Device.h36
-rw-r--r--LUFA/Drivers/USB/LowLevel/LowLevel.c2
-rw-r--r--LUFA/Drivers/USB/USB.h5
-rw-r--r--LUFA/MigrationInformation.txt5
-rw-r--r--LUFA/makefile14
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 \