LPCOpen Platform
LPCOpen Platform for NXP LPC Microcontrollers
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
CDCClassCommon.h File Reference

Go to the source code of this file.

Macros

#define CDC_FUNCTIONAL_DESCRIPTOR(DataSize)
 
Virtual Control Line Masks
#define CDC_CONTROL_LINE_OUT_DTR   (1 << 0)
 
#define CDC_CONTROL_LINE_OUT_RTS   (1 << 1)
 
#define CDC_CONTROL_LINE_IN_DCD   (1 << 0)
 
#define CDC_CONTROL_LINE_IN_DSR   (1 << 1)
 
#define CDC_CONTROL_LINE_IN_BREAK   (1 << 2)
 
#define CDC_CONTROL_LINE_IN_RING   (1 << 3)
 
#define CDC_CONTROL_LINE_IN_FRAMEERROR   (1 << 4)
 
#define CDC_CONTROL_LINE_IN_PARITYERROR   (1 << 5)
 
#define CDC_CONTROL_LINE_IN_OVERRUNERROR   (1 << 6)
 

Typedefs

struct {
   USB_Descriptor_Header_t   Header
 
   uint8_t   Subtype
 
   uint16_t   CDCSpecification
 
USB_CDC_Descriptor_FunctionalHeader_t
 
struct {
   uint8_t   bFunctionLength
 
   uint8_t   bDescriptorType
 
   uint8_t   bDescriptorSubType
 
   uint16_t   bcdCDC
 
USB_CDC_StdDescriptor_FunctionalHeader_t
 
struct {
   USB_Descriptor_Header_t   Header
 
   uint8_t   Subtype
 
   uint8_t   Capabilities
 
USB_CDC_Descriptor_FunctionalACM_t
 
struct {
   uint8_t   bFunctionLength
 
   uint8_t   bDescriptorType
 
   uint8_t   bDescriptorSubType
 
   uint8_t   bmCapabilities
 
USB_CDC_StdDescriptor_FunctionalACM_t
 
struct {
   USB_Descriptor_Header_t   Header
 
   uint8_t   Subtype
 
   uint8_t   MasterInterfaceNumber
 
   uint8_t   SlaveInterfaceNumber
 
USB_CDC_Descriptor_FunctionalUnion_t
 
struct {
   uint8_t   bFunctionLength
 
   uint8_t   bDescriptorType
 
   uint8_t   bDescriptorSubType
 
   uint8_t   bMasterInterface
 
   uint8_t   bSlaveInterface0
 
USB_CDC_StdDescriptor_FunctionalUnion_t
 
struct {
   uint32_t   BaudRateBPS
 
   uint8_t   CharFormat
 
   uint8_t   ParityType
 
   uint8_t   DataBits
 
CDC_LineEncoding_t
 

Enumerations

enum  CDC_Descriptor_ClassSubclassProtocol_t {
  CDC_CSCP_CDCClass = 0x02, CDC_CSCP_NoSpecificSubclass = 0x00, CDC_CSCP_ACMSubclass = 0x02, CDC_CSCP_ATCommandProtocol = 0x01,
  CDC_CSCP_NoSpecificProtocol = 0x00, CDC_CSCP_VendorSpecificProtocol = 0xFF, CDC_CSCP_CDCDataClass = 0x0A, CDC_CSCP_NoDataSubclass = 0x00,
  CDC_CSCP_NoDataProtocol = 0x00
}
 
enum  CDC_ClassRequests_t {
  CDC_REQ_SendEncapsulatedCommand = 0x00, CDC_REQ_GetEncapsulatedResponse = 0x01, CDC_REQ_SetLineEncoding = 0x20, CDC_REQ_GetLineEncoding = 0x21,
  CDC_REQ_SetControlLineState = 0x22, CDC_REQ_SendBreak = 0x23
}
 
enum  CDC_ClassNotifications_t { CDC_NOTIF_SerialState = 0x20 }
 
enum  CDC_DescriptorSubtypes_t {
  CDC_DSUBTYPE_CSInterface_Header = 0x00, CDC_DSUBTYPE_CSInterface_CallManagement = 0x01, CDC_DSUBTYPE_CSInterface_ACM = 0x02, CDC_DSUBTYPE_CSInterface_DirectLine = 0x03,
  CDC_DSUBTYPE_CSInterface_TelephoneRinger = 0x04, CDC_DSUBTYPE_CSInterface_TelephoneCall = 0x05, CDC_DSUBTYPE_CSInterface_Union = 0x06, CDC_DSUBTYPE_CSInterface_CountrySelection = 0x07,
  CDC_DSUBTYPE_CSInterface_TelephoneOpModes = 0x08, CDC_DSUBTYPE_CSInterface_USBTerminal = 0x09, CDC_DSUBTYPE_CSInterface_NetworkChannel = 0x0A, CDC_DSUBTYPE_CSInterface_ProtocolUnit = 0x0B,
  CDC_DSUBTYPE_CSInterface_ExtensionUnit = 0x0C, CDC_DSUBTYPE_CSInterface_MultiChannel = 0x0D, CDC_DSUBTYPE_CSInterface_CAPI = 0x0E, CDC_DSUBTYPE_CSInterface_Ethernet = 0x0F,
  CDC_DSUBTYPE_CSInterface_ATM = 0x10
}
 
enum  CDC_LineEncodingFormats_t { CDC_LINEENCODING_OneStopBit = 0, CDC_LINEENCODING_OneAndAHalfStopBits = 1, CDC_LINEENCODING_TwoStopBits = 2 }
 
enum  CDC_LineEncodingParity_t {
  CDC_PARITY_None = 0, CDC_PARITY_Odd = 1, CDC_PARITY_Even = 2, CDC_PARITY_Mark = 3,
  CDC_PARITY_Space = 4
}
 

Variable Documentation

uint32_t BaudRateBPS

Baud rate of the virtual serial port, in bits per second.

Definition at line 361 of file CDCClassCommon.h.

uint16_t bcdCDC

Version number of the CDC specification implemented by the device, encoded in BCD format.

Definition at line 261 of file CDCClassCommon.h.

uint8_t bDescriptorSubType

Sub type value used to distinguish between CDC class-specific descriptors, must be CDC_DSUBTYPE_CSInterface_Header.

Sub type value used to distinguish between CDC class-specific descriptors, must be CDC_DSUBTYPE_CSInterface_ACM.

Sub type value used to distinguish between CDC class-specific descriptors, must be CDC_DSUBTYPE_CSInterface_Union.

Definition at line 258 of file CDCClassCommon.h.

uint8_t bDescriptorType

Type of the descriptor, either a value in USB_DescriptorTypes_t or a value given by the specific class.

Definition at line 255 of file CDCClassCommon.h.

uint8_t bFunctionLength

Size of the descriptor, in bytes.

Definition at line 254 of file CDCClassCommon.h.

uint8_t bMasterInterface

Interface number of the CDC Control interface.

Definition at line 348 of file CDCClassCommon.h.

uint8_t bmCapabilities

Capabilities of the ACM interface, given as a bit mask. For most devices, this should be set to a fixed value of 0x06 - for other capabilities, refer to the CDC ACM specification.

Definition at line 304 of file CDCClassCommon.h.

uint8_t bSlaveInterface0

Interface number of the CDC Data interface.

Definition at line 349 of file CDCClassCommon.h.

uint8_t Capabilities

Capabilities of the ACM interface, given as a bit mask. For most devices, this should be set to a fixed value of 0x06 - for other capabilities, refer to the CDC ACM specification.

Definition at line 279 of file CDCClassCommon.h.

uint16_t CDCSpecification

Version number of the CDC specification implemented by the device, encoded in BCD format.

Definition at line 236 of file CDCClassCommon.h.

uint8_t CharFormat

Character format of the virtual serial port, a value from the CDC_LineEncodingFormats_t enum.

Definition at line 362 of file CDCClassCommon.h.

uint8_t DataBits

Bits of data per character of the virtual serial port.

Definition at line 368 of file CDCClassCommon.h.

Regular descriptor header containing the descriptor's type and length.

Definition at line 232 of file CDCClassCommon.h.

uint8_t MasterInterfaceNumber

Interface number of the CDC Control interface.

Definition at line 325 of file CDCClassCommon.h.

uint8_t ParityType

Parity setting of the virtual serial port, a value from the CDC_LineEncodingParity_t enum.

Definition at line 365 of file CDCClassCommon.h.

uint8_t SlaveInterfaceNumber

Interface number of the CDC Data interface.

Definition at line 326 of file CDCClassCommon.h.

uint8_t Subtype

Sub type value used to distinguish between CDC class-specific descriptors, must be CDC_DSUBTYPE_CSInterface_Header.

Sub type value used to distinguish between CDC class-specific descriptors, must be CDC_DSUBTYPE_CSInterface_ACM.

Sub type value used to distinguish between CDC class-specific descriptors, must be CDC_DSUBTYPE_CSInterface_Union.

Definition at line 233 of file CDCClassCommon.h.