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.
This commit is contained in:
parent
b3a4d8512b
commit
d0806c817c
78 changed files with 134 additions and 234 deletions
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
|
@ -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: */
|
||||
|
|
|
@ -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();
|
||||
|
||||
|
|
|
@ -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__)
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue