All USB class drivers are now automatically included when LUFA/Drivers/USB.h is included, and no longer need to be seperately included.
All LowLevel demos changed to use the constants and types defined in the USB class drivers.
This commit is contained in:
parent
8f3bee7d86
commit
b37d77eab3
208 changed files with 589 additions and 2910 deletions
|
@ -33,8 +33,8 @@
|
|||
*
|
||||
* Common definitions and declarations for the library USB Audio 1.0 Class driver.
|
||||
*
|
||||
* \note This file should not be included directly. It is automatically included as needed by the class driver
|
||||
* dispatch header located in LUFA/Drivers/USB/Class/Audio.h.
|
||||
* \note This file should not be included directly. It is automatically included as needed by the USB module driver
|
||||
* dispatch header located in LUFA/Drivers/USB.h.
|
||||
*/
|
||||
|
||||
/** \ingroup Group_USBClassAudio
|
||||
|
@ -51,7 +51,7 @@
|
|||
#define _AUDIO_CLASS_COMMON_H_
|
||||
|
||||
/* Includes: */
|
||||
#include "../../USB.h"
|
||||
#include "../../HighLevel/StdDescriptors.h"
|
||||
|
||||
#include <string.h>
|
||||
|
||||
|
@ -62,7 +62,7 @@
|
|||
|
||||
/* Preprocessor Checks: */
|
||||
#if !defined(__INCLUDE_FROM_AUDIO_DRIVER)
|
||||
#error Do not include this file directly. Include LUFA/Drivers/Class/Audio.h instead.
|
||||
#error Do not include this file directly. Include LUFA/Drivers/USB.h instead.
|
||||
#endif
|
||||
|
||||
/* Macros: */
|
||||
|
|
|
@ -33,8 +33,8 @@
|
|||
*
|
||||
* Common definitions and declarations for the library USB CDC Class driver.
|
||||
*
|
||||
* \note This file should not be included directly. It is automatically included as needed by the class driver
|
||||
* dispatch header located in LUFA/Drivers/USB/Class/CDC.h.
|
||||
* \note This file should not be included directly. It is automatically included as needed by the USB module driver
|
||||
* dispatch header located in LUFA/Drivers/USB.h.
|
||||
*/
|
||||
|
||||
/** \ingroup Group_USBClassCDC
|
||||
|
@ -51,7 +51,7 @@
|
|||
#define _CDC_CLASS_COMMON_H_
|
||||
|
||||
/* Includes: */
|
||||
#include "../../USB.h"
|
||||
#include "../../HighLevel/StdDescriptors.h"
|
||||
|
||||
#include <string.h>
|
||||
|
||||
|
@ -62,7 +62,7 @@
|
|||
|
||||
/* Preprocessor Checks: */
|
||||
#if !defined(__INCLUDE_FROM_CDC_DRIVER)
|
||||
#error Do not include this file directly. Include LUFA/Drivers/Class/CDC.h instead.
|
||||
#error Do not include this file directly. Include LUFA/Drivers/USB.h instead.
|
||||
#endif
|
||||
|
||||
/* Macros: */
|
||||
|
@ -308,6 +308,21 @@
|
|||
uint8_t bMasterInterface; /**< Interface number of the CDC Control interface. */
|
||||
uint8_t bSlaveInterface0; /**< Interface number of the CDC Data interface. */
|
||||
} USB_CDC_StdDescriptor_FunctionalUnion_t;
|
||||
|
||||
/** Type define for a CDC Line Encoding structure, used to hold the various encoding parameters for a virtual
|
||||
* serial port.
|
||||
*/
|
||||
typedef struct
|
||||
{
|
||||
uint32_t BaudRateBPS; /**< Baud rate of the virtual serial port, in bits per second. */
|
||||
uint8_t CharFormat; /**< Character format of the virtual serial port, a value from the
|
||||
* \ref CDC_LineEncodingFormats_t enum.
|
||||
*/
|
||||
uint8_t ParityType; /**< Parity setting of the virtual serial port, a value from the
|
||||
* \ref CDC_LineEncodingParity_t enum.
|
||||
*/
|
||||
uint8_t DataBits; /**< Bits of data per character of the virtual serial port. */
|
||||
} CDC_LineEncoding_t;
|
||||
|
||||
/* Disable C linkage for C++ Compilers: */
|
||||
#if defined(__cplusplus)
|
||||
|
|
|
@ -33,8 +33,8 @@
|
|||
*
|
||||
* Common definitions and declarations for the library USB HID Class driver.
|
||||
*
|
||||
* \note This file should not be included directly. It is automatically included as needed by the class driver
|
||||
* dispatch header located in LUFA/Drivers/USB/Class/HID.h.
|
||||
* \note This file should not be included directly. It is automatically included as needed by the USB module driver
|
||||
* dispatch header located in LUFA/Drivers/USB.h.
|
||||
*/
|
||||
|
||||
/** \ingroup Group_USBClassHID
|
||||
|
@ -51,13 +51,13 @@
|
|||
#define _HID_CLASS_COMMON_H_
|
||||
|
||||
/* Includes: */
|
||||
#include "../../USB.h"
|
||||
#include "../../HighLevel/StdDescriptors.h"
|
||||
|
||||
#include <string.h>
|
||||
|
||||
/* Preprocessor Checks: */
|
||||
#if !defined(__INCLUDE_FROM_HID_DRIVER)
|
||||
#error Do not include this file directly. Include LUFA/Drivers/Class/HID.h instead.
|
||||
#error Do not include this file directly. Include LUFA/Drivers/USB.h instead.
|
||||
#endif
|
||||
|
||||
/* Macros: */
|
||||
|
|
|
@ -33,8 +33,8 @@
|
|||
*
|
||||
* Common definitions and declarations for the library USB MIDI Class driver.
|
||||
*
|
||||
* \note This file should not be included directly. It is automatically included as needed by the class driver
|
||||
* dispatch header located in LUFA/Drivers/USB/Class/MIDI.h.
|
||||
* \note This file should not be included directly. It is automatically included as needed by the USB module driver
|
||||
* dispatch header located in LUFA/Drivers/USB.h.
|
||||
*/
|
||||
|
||||
/** \ingroup Group_USBClassMIDI
|
||||
|
@ -54,7 +54,7 @@
|
|||
#define __INCLUDE_FROM_AUDIO_DRIVER
|
||||
|
||||
/* Includes: */
|
||||
#include "../../USB.h"
|
||||
#include "../../HighLevel/StdDescriptors.h"
|
||||
#include "Audio.h"
|
||||
|
||||
#include <string.h>
|
||||
|
@ -66,7 +66,7 @@
|
|||
|
||||
/* Preprocessor Checks: */
|
||||
#if !defined(__INCLUDE_FROM_MIDI_DRIVER)
|
||||
#error Do not include this file directly. Include LUFA/Drivers/Class/MIDI.h instead.
|
||||
#error Do not include this file directly. Include LUFA/Drivers/USB.h instead.
|
||||
#endif
|
||||
|
||||
/* Macros: */
|
||||
|
|
|
@ -33,8 +33,8 @@
|
|||
*
|
||||
* Common definitions and declarations for the library USB Mass Storage Class driver.
|
||||
*
|
||||
* \note This file should not be included directly. It is automatically included as needed by the class driver
|
||||
* dispatch header located in LUFA/Drivers/USB/Class/MassStorage.h.
|
||||
* \note This file should not be included directly. It is automatically included as needed by the USB module driver
|
||||
* dispatch header located in LUFA/Drivers/USB.h.
|
||||
*/
|
||||
|
||||
/** \ingroup Group_USBClassMS
|
||||
|
@ -51,7 +51,7 @@
|
|||
#define _MS_CLASS_COMMON_H_
|
||||
|
||||
/* Includes: */
|
||||
#include "../../USB.h"
|
||||
#include "../../HighLevel/StdDescriptors.h"
|
||||
|
||||
#include <string.h>
|
||||
|
||||
|
@ -62,7 +62,7 @@
|
|||
|
||||
/* Preprocessor Checks: */
|
||||
#if !defined(__INCLUDE_FROM_MS_DRIVER)
|
||||
#error Do not include this file directly. Include LUFA/Drivers/Class/MassStorage.h instead.
|
||||
#error Do not include this file directly. Include LUFA/Drivers/USB.h instead.
|
||||
#endif
|
||||
|
||||
/* Macros: */
|
||||
|
|
|
@ -33,8 +33,8 @@
|
|||
*
|
||||
* Common definitions and declarations for the library USB Printer Class driver.
|
||||
*
|
||||
* \note This file should not be included directly. It is automatically included as needed by the class driver
|
||||
* dispatch header located in LUFA/Drivers/USB/Class/Printer.h.
|
||||
* \note This file should not be included directly. It is automatically included as needed by the USB module driver
|
||||
* dispatch header located in LUFA/Drivers/USB.h.
|
||||
*/
|
||||
|
||||
/** \ingroup Group_USBClassPrinter
|
||||
|
@ -51,7 +51,7 @@
|
|||
#define _PRINTER_CLASS_COMMON_H_
|
||||
|
||||
/* Includes: */
|
||||
#include "../../USB.h"
|
||||
#include "../../HighLevel/StdDescriptors.h"
|
||||
|
||||
#include <string.h>
|
||||
|
||||
|
@ -62,7 +62,7 @@
|
|||
|
||||
/* Preprocessor Checks: */
|
||||
#if !defined(__INCLUDE_FROM_PRINTER_DRIVER)
|
||||
#error Do not include this file directly. Include LUFA/Drivers/Class/Printer.h instead.
|
||||
#error Do not include this file directly. Include LUFA/Drivers/USB.h instead.
|
||||
#endif
|
||||
|
||||
/* Macros: */
|
||||
|
@ -75,6 +75,22 @@
|
|||
/** Port status mask for a printer device, indicating that the device is currently out of paper. */
|
||||
#define PRNT_PORTSTATUS_PAPEREMPTY (1 << 5)
|
||||
|
||||
/* Enums: */
|
||||
/** Enum for the Printer class specific control requests that can be issued by the USB bus host. */
|
||||
enum PRNT_ClassRequests_t
|
||||
{
|
||||
PRNT_REQ_GetDeviceID = 0x00, /**< Printer class-specific request to retrieve the Unicode ID
|
||||
* string of the device, containing the device's name, manufacturer
|
||||
* and supported printer languages.
|
||||
*/
|
||||
PRNT_REQ_GetPortStatus = 0x01, /**< Printer class-specific request to get the current status of the
|
||||
* virtual printer port, for device selection and ready states.
|
||||
*/
|
||||
PRNT_REQ_SoftReset = 0x02, /**< Printer class-specific request to reset the device, ready for new
|
||||
* printer commands.
|
||||
*/
|
||||
};
|
||||
|
||||
/* Disable C linkage for C++ Compilers: */
|
||||
#if defined(__cplusplus)
|
||||
}
|
||||
|
|
|
@ -33,8 +33,8 @@
|
|||
*
|
||||
* Common definitions and declarations for the library USB RNDIS Class driver.
|
||||
*
|
||||
* \note This file should not be included directly. It is automatically included as needed by the class driver
|
||||
* dispatch header located in LUFA/Drivers/USB/Class/RNDIS.h.
|
||||
* \note This file should not be included directly. It is automatically included as needed by the USB module driver
|
||||
* dispatch header located in LUFA/Drivers/USB.h.
|
||||
*/
|
||||
|
||||
/** \ingroup Group_USBClassRNDIS
|
||||
|
@ -54,7 +54,7 @@
|
|||
#define __INCLUDE_FROM_CDC_DRIVER
|
||||
|
||||
/* Includes: */
|
||||
#include "../../USB.h"
|
||||
#include "../../HighLevel/StdDescriptors.h"
|
||||
#include "RNDISConstants.h"
|
||||
#include "CDC.h"
|
||||
|
||||
|
@ -67,7 +67,7 @@
|
|||
|
||||
/* Preprocessor Checks: */
|
||||
#if !defined(__INCLUDE_FROM_RNDIS_DRIVER)
|
||||
#error Do not include this file directly. Include LUFA/Drivers/Class/RNDIS.h instead.
|
||||
#error Do not include this file directly. Include LUFA/Drivers/USB.h instead.
|
||||
#endif
|
||||
|
||||
/* Macros: */
|
||||
|
|
|
@ -33,8 +33,8 @@
|
|||
*
|
||||
* Common RNDIS class constant definitions.
|
||||
*
|
||||
* \note This file should not be included directly. It is automatically included as needed by the class driver
|
||||
* dispatch header located in LUFA/Drivers/USB/Class/Audio.h.
|
||||
* \note This file should not be included directly. It is automatically included as needed by the USB module driver
|
||||
* dispatch header located in LUFA/Drivers/USB.h.
|
||||
*/
|
||||
|
||||
/** \file
|
||||
|
|
|
@ -33,8 +33,8 @@
|
|||
*
|
||||
* Common definitions and declarations for the library USB Still Image Class driver.
|
||||
*
|
||||
* \note This file should not be included directly. It is automatically included as needed by the class driver
|
||||
* dispatch header located in LUFA/Drivers/USB/Class/StillImage.h.
|
||||
* \note This file should not be included directly. It is automatically included as needed by the USB module driver
|
||||
* dispatch header located in LUFA/Drivers/USB.h.
|
||||
*/
|
||||
|
||||
/** \ingroup Group_USBClassSI
|
||||
|
@ -51,7 +51,7 @@
|
|||
#define _SI_CLASS_COMMON_H_
|
||||
|
||||
/* Includes: */
|
||||
#include "../../USB.h"
|
||||
#include "../../HighLevel/StdDescriptors.h"
|
||||
|
||||
#include <string.h>
|
||||
|
||||
|
@ -62,7 +62,7 @@
|
|||
|
||||
/* Preprocessor Checks: */
|
||||
#if !defined(__INCLUDE_FROM_SI_DRIVER)
|
||||
#error Do not include this file directly. Include LUFA/Drivers/Class/StillImage.h instead.
|
||||
#error Do not include this file directly. Include LUFA/Drivers/USB.h instead.
|
||||
#endif
|
||||
|
||||
/* Macros: */
|
||||
|
@ -79,42 +79,42 @@
|
|||
*
|
||||
* \param[in] Params Number of parameters which are to be sent in the Param field of the container.
|
||||
*/
|
||||
#define PIMA_COMMAND_SIZE(Params) ((sizeof(SI_PIMA_Container_t) - 12) + ((Params) * sizeof(uint32_t)))
|
||||
#define PIMA_COMMAND_SIZE(Params) ((sizeof(PIMA_Container_t) - 12) + ((Params) * sizeof(uint32_t)))
|
||||
|
||||
/** Used in the DataLength field of a PIMA container, to give the total container size in bytes for
|
||||
* a data container.
|
||||
*
|
||||
* \param[in] DataLen Length in bytes of the data in the container.
|
||||
*/
|
||||
#define PIMA_DATA_SIZE(DataLen) ((sizeof(SI_PIMA_Container_t) - 12) + (DataLen))
|
||||
#define PIMA_DATA_SIZE(DataLen) ((sizeof(PIMA_Container_t) - 12) + (DataLen))
|
||||
|
||||
/* Enums: */
|
||||
/** Enum for the possible PIMA contains types. */
|
||||
enum SI_PIMA_Container_Types_t
|
||||
enum PIMA_Container_Types_t
|
||||
{
|
||||
SI_PIMA_CONTAINER_Undefined = 0, /**< Undefined container type. */
|
||||
SI_PIMA_CONTAINER_CommandBlock = 1, /**< Command Block container type. */
|
||||
SI_PIMA_CONTAINER_DataBlock = 2, /**< Data Block container type. */
|
||||
SI_PIMA_CONTAINER_ResponseBlock = 3, /**< Response container type. */
|
||||
SI_PIMA_CONTAINER_EventBlock = 4, /**< Event Block container type. */
|
||||
PIMA_CONTAINER_Undefined = 0, /**< Undefined container type. */
|
||||
PIMA_CONTAINER_CommandBlock = 1, /**< Command Block container type. */
|
||||
PIMA_CONTAINER_DataBlock = 2, /**< Data Block container type. */
|
||||
PIMA_CONTAINER_ResponseBlock = 3, /**< Response container type. */
|
||||
PIMA_CONTAINER_EventBlock = 4, /**< Event Block container type. */
|
||||
};
|
||||
|
||||
/* Enums: */
|
||||
/** Enums for the possible status codes of a returned Response Block from an attached PIMA compliant Still Image device. */
|
||||
enum SI_PIMA_ResponseCodes_t
|
||||
enum PIMA_ResponseCodes_t
|
||||
{
|
||||
SI_PIMA_RESPONSE_OK = 1, /**< Response code indicating no error in the issued command. */
|
||||
SI_PIMA_RESPONSE_GeneralError = 2, /**< Response code indicating a general error while processing the
|
||||
PIMA_RESPONSE_OK = 1, /**< Response code indicating no error in the issued command. */
|
||||
PIMA_RESPONSE_GeneralError = 2, /**< Response code indicating a general error while processing the
|
||||
* issued command.
|
||||
*/
|
||||
SI_PIMA_RESPONSE_SessionNotOpen = 3, /**< Response code indicating that the sent command requires an open
|
||||
PIMA_RESPONSE_SessionNotOpen = 3, /**< Response code indicating that the sent command requires an open
|
||||
* session before being issued.
|
||||
*/
|
||||
SI_PIMA_RESPONSE_InvalidTransaction = 4, /**< Response code indicating an invalid transaction occurred. */
|
||||
SI_PIMA_RESPONSE_OperationNotSupported = 5, /**< Response code indicating that the issued command is not supported
|
||||
PIMA_RESPONSE_InvalidTransaction = 4, /**< Response code indicating an invalid transaction occurred. */
|
||||
PIMA_RESPONSE_OperationNotSupported = 5, /**< Response code indicating that the issued command is not supported
|
||||
* by the attached device.
|
||||
*/
|
||||
SI_PIMA_RESPONSE_ParameterNotSupported = 6, /**< Response code indicating that one or more of the issued command's
|
||||
PIMA_RESPONSE_ParameterNotSupported = 6, /**< Response code indicating that one or more of the issued command's
|
||||
* parameters are not supported by the device.
|
||||
*/
|
||||
};
|
||||
|
@ -128,11 +128,11 @@
|
|||
typedef struct
|
||||
{
|
||||
uint32_t DataLength; /**< Length of the container and data, in bytes. */
|
||||
uint16_t Type; /**< Container type, a value from the \ref SI_PIMA_Container_Types_t enum. */
|
||||
uint16_t Type; /**< Container type, a value from the \ref PIMA_Container_Types_t enum. */
|
||||
uint16_t Code; /**< Command, event or response code of the container. */
|
||||
uint32_t TransactionID; /**< Unique container ID to link blocks together. */
|
||||
uint32_t Params[3]; /**< Block parameters to be issued along with the block code (command blocks only). */
|
||||
} SI_PIMA_Container_t;
|
||||
} PIMA_Container_t;
|
||||
|
||||
/* Disable C linkage for C++ Compilers: */
|
||||
#if defined(__cplusplus)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue