LPCOpen Platform
LPCOpen Platform for NXP LPC Microcontrollers
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Common Class Definitions

Macros

#define CDC_FUNCTIONAL_DESCRIPTOR(DataSize)
 

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
}
 

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)
 

Detailed Description

Module Description

Constants, Types and Enum definitions that are common to both Device and Host modes for the USB CDC Class.

Macro Definition Documentation

#define CDC_CONTROL_LINE_IN_BREAK   (1 << 2)

Mask for the BREAK handshake line for use with the CDC_NOTIF_SerialState class-specific notification from the device to the host, to indicate that the BREAK line state is currently high.

Definition at line 85 of file CDCClassCommon.h.

#define CDC_CONTROL_LINE_IN_DCD   (1 << 0)

Mask for the DCD handshake line for use with the CDC_NOTIF_SerialState class-specific notification from the device to the host, to indicate that the DCD line state is currently high.

Definition at line 75 of file CDCClassCommon.h.

#define CDC_CONTROL_LINE_IN_DSR   (1 << 1)

Mask for the DSR handshake line for use with the CDC_NOTIF_SerialState class-specific notification from the device to the host, to indicate that the DSR line state is currently high.

Definition at line 80 of file CDCClassCommon.h.

#define CDC_CONTROL_LINE_IN_FRAMEERROR   (1 << 4)

Mask for use with the CDC_NOTIF_SerialState class-specific notification from the device to the host, to indicate that a framing error has occurred on the virtual serial port.

Definition at line 95 of file CDCClassCommon.h.

#define CDC_CONTROL_LINE_IN_OVERRUNERROR   (1 << 6)

Mask for use with the CDC_NOTIF_SerialState class-specific notification from the device to the host, to indicate that a data overrun error has occurred on the virtual serial port.

Definition at line 105 of file CDCClassCommon.h.

#define CDC_CONTROL_LINE_IN_PARITYERROR   (1 << 5)

Mask for use with the CDC_NOTIF_SerialState class-specific notification from the device to the host, to indicate that a parity error has occurred on the virtual serial port.

Definition at line 100 of file CDCClassCommon.h.

#define CDC_CONTROL_LINE_IN_RING   (1 << 3)

Mask for the RING handshake line for use with the CDC_NOTIF_SerialState class-specific notification from the device to the host, to indicate that the RING line state is currently high.

Definition at line 90 of file CDCClassCommon.h.

#define CDC_CONTROL_LINE_OUT_DTR   (1 << 0)

Mask for the DTR handshake line for use with the CDC_REQ_SetControlLineState class-specific request from the host, to indicate that the DTR line state should be high.

Definition at line 65 of file CDCClassCommon.h.

#define CDC_CONTROL_LINE_OUT_RTS   (1 << 1)

Mask for the RTS handshake line for use with the CDC_REQ_SetControlLineState class-specific request from the host, to indicate that the RTS line state should be high.

Definition at line 70 of file CDCClassCommon.h.

#define CDC_FUNCTIONAL_DESCRIPTOR (   DataSize)
Value:
struct \
{ \
uint8_t SubType; \
uint8_t Data[DataSize]; \
}

Macro to define a CDC class-specific functional descriptor. CDC functional descriptors have a uniform structure but variable sized data payloads, thus cannot be represented accurately by a single typedef struct. A macro is used instead so that functional descriptors can be created easily by specifying the size of the payload. This allows sizeof() to work correctly.

Parameters
DataSizeSize in bytes of the CDC functional descriptor's data payload.

Definition at line 115 of file CDCClassCommon.h.

Typedef Documentation

typedef { ... } CDC_LineEncoding_t

Enumeration Type Documentation

Enum for the CDC class specific notification requests that can be issued by a CDC device to a host.

Enumerator:
CDC_NOTIF_SerialState 

Notification type constant for a change in the virtual serial port handshake line states, for use with a USB_Request_Header_t notification structure when sent to the host via the CDC notification endpoint.

Definition at line 170 of file CDCClassCommon.h.

Enum for the CDC class specific control requests that can be issued by the USB bus host.

Enumerator:
CDC_REQ_SendEncapsulatedCommand 

CDC class-specific request to send an encapsulated command to the device.

CDC_REQ_GetEncapsulatedResponse 

CDC class-specific request to retrieve an encapsulated command response from the device.

CDC_REQ_SetLineEncoding 

CDC class-specific request to set the current virtual serial port configuration settings.

CDC_REQ_GetLineEncoding 

CDC class-specific request to get the current virtual serial port configuration settings.

CDC_REQ_SetControlLineState 

CDC class-specific request to set the current virtual serial port handshake line states.

CDC_REQ_SendBreak 

CDC class-specific request to send a break to the receiver via the carrier channel.

Definition at line 159 of file CDCClassCommon.h.

Enum for possible Class, Subclass and Protocol values of device and interface descriptors relating to the CDC device class.

Enumerator:
CDC_CSCP_CDCClass 

Descriptor Class value indicating that the device or interface belongs to the CDC class.

CDC_CSCP_NoSpecificSubclass 

Descriptor Subclass value indicating that the device or interface belongs to no specific subclass of the CDC class.

CDC_CSCP_ACMSubclass 

Descriptor Subclass value indicating that the device or interface belongs to the Abstract Control Model CDC subclass.

CDC_CSCP_ATCommandProtocol 

Descriptor Protocol value indicating that the device or interface belongs to the AT Command protocol of the CDC class.

CDC_CSCP_NoSpecificProtocol 

Descriptor Protocol value indicating that the device or interface belongs to no specific protocol of the CDC class.

CDC_CSCP_VendorSpecificProtocol 

Descriptor Protocol value indicating that the device or interface belongs to a vendor-specific protocol of the CDC class.

CDC_CSCP_CDCDataClass 

Descriptor Class value indicating that the device or interface belongs to the CDC Data class.

CDC_CSCP_NoDataSubclass 

Descriptor Subclass value indicating that the device or interface belongs to no specific subclass of the CDC data class.

CDC_CSCP_NoDataProtocol 

Descriptor Protocol value indicating that the device or interface belongs to no specific protocol of the CDC data class.

Definition at line 127 of file CDCClassCommon.h.

Enum for the CDC class specific interface descriptor subtypes.

Enumerator:
CDC_DSUBTYPE_CSInterface_Header 

CDC class-specific Header functional descriptor.

CDC_DSUBTYPE_CSInterface_CallManagement 

CDC class-specific Call Management functional descriptor.

CDC_DSUBTYPE_CSInterface_ACM 

CDC class-specific Abstract Control Model functional descriptor.

CDC_DSUBTYPE_CSInterface_DirectLine 

CDC class-specific Direct Line functional descriptor.

CDC_DSUBTYPE_CSInterface_TelephoneRinger 

CDC class-specific Telephone Ringer functional descriptor.

CDC_DSUBTYPE_CSInterface_TelephoneCall 

CDC class-specific Telephone Call functional descriptor.

CDC_DSUBTYPE_CSInterface_Union 

CDC class-specific Union functional descriptor.

CDC_DSUBTYPE_CSInterface_CountrySelection 

CDC class-specific Country Selection functional descriptor.

CDC_DSUBTYPE_CSInterface_TelephoneOpModes 

CDC class-specific Telephone Operation Modes functional descriptor.

CDC_DSUBTYPE_CSInterface_USBTerminal 

CDC class-specific USB Terminal functional descriptor.

CDC_DSUBTYPE_CSInterface_NetworkChannel 

CDC class-specific Network Channel functional descriptor.

CDC_DSUBTYPE_CSInterface_ProtocolUnit 

CDC class-specific Protocol Unit functional descriptor.

CDC_DSUBTYPE_CSInterface_ExtensionUnit 

CDC class-specific Extension Unit functional descriptor.

CDC_DSUBTYPE_CSInterface_MultiChannel 

CDC class-specific Multi-Channel Management functional descriptor.

CDC_DSUBTYPE_CSInterface_CAPI 

CDC class-specific Common ISDN API functional descriptor.

CDC_DSUBTYPE_CSInterface_Ethernet 

CDC class-specific Ethernet functional descriptor.

CDC_DSUBTYPE_CSInterface_ATM 

CDC class-specific Asynchronous Transfer Mode functional descriptor.

Definition at line 180 of file CDCClassCommon.h.

Enum for the possible line encoding formats of a virtual serial port.

Enumerator:
CDC_LINEENCODING_OneStopBit 

Each frame contains one stop bit.

CDC_LINEENCODING_OneAndAHalfStopBits 

Each frame contains one and a half stop bits.

CDC_LINEENCODING_TwoStopBits 

Each frame contains two stop bits.

Definition at line 202 of file CDCClassCommon.h.

Enum for the possible line encoding parity settings of a virtual serial port.

Enumerator:
CDC_PARITY_None 

No parity bit mode on each frame.

CDC_PARITY_Odd 

Odd parity bit mode on each frame.

CDC_PARITY_Even 

Even parity bit mode on each frame.

CDC_PARITY_Mark 

Mark parity bit mode on each frame.

CDC_PARITY_Space 

Space parity bit mode on each frame.

Definition at line 210 of file CDCClassCommon.h.