CDC Device Class Driver - LUFA/Drivers/Class/CDC.h
[USB Class Drivers]


Modules

 CDC Class Device Mode Driver
 CDC Class Host Mode Driver
#define REQ_GetLineEncoding   0x21
#define REQ_SetLineEncoding   0x20
#define REQ_SetControlLineState   0x22
#define NOTIF_SerialState   0x20
#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)
#define CDC_FUNCTIONAL_DESCRIPTOR(DataSize)
enum  CDC_LineCodingFormats_t {
  CDC_LINEENCODING_OneStopBit = 0,
  CDC_LINEENCODING_OneAndAHalfStopBits = 1,
  CDC_LINEENCODING_TwoStopBits = 2
}
enum  CDC_LineCodingParity_t {
  CDC_PARITY_None = 0,
  CDC_PARITY_Odd = 1,
  CDC_PARITY_Even = 2,
  CDC_PARITY_Mark = 3,
  CDC_PARITY_Space = 4
}

Detailed Description

Module Source Dependencies

The following files must be built with any user project that uses this module:

Description

Functions, macros, variables, enums and types related to the management of USB CDC Class interfaces within a USB device, for the implementation of CDC-ACM virtual serial ports.

Define Documentation

#define CDC_CONTROL_LINE_IN_BREAK   (1 << 2)

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

#define CDC_CONTROL_LINE_IN_DCD   (1 << 0)

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

#define CDC_CONTROL_LINE_IN_DSR   (1 << 1)

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

#define CDC_CONTROL_LINE_IN_FRAMEERROR   (1 << 4)

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

#define CDC_CONTROL_LINE_IN_OVERRUNERROR   (1 << 6)

Mask for use with the a 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.

#define CDC_CONTROL_LINE_IN_PARITYERROR   (1 << 5)

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

#define CDC_CONTROL_LINE_IN_RING   (1 << 3)

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

#define CDC_CONTROL_LINE_OUT_DTR   (1 << 0)

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

#define CDC_CONTROL_LINE_OUT_RTS   (1 << 1)

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

#define CDC_FUNCTIONAL_DESCRIPTOR ( DataSize   ) 

Value:

struct                                        \
             {                                             \
                  USB_Descriptor_Header_t Header;          \
                  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:
[in] DataSize Size in bytes of the CDC functional descriptor's data payload

#define NOTIF_SerialState   0x20

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

#define REQ_GetLineEncoding   0x21

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

#define REQ_SetControlLineState   0x22

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

#define REQ_SetLineEncoding   0x20

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


Enumeration Type Documentation

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

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


Generated on Sun Aug 9 19:53:12 2009 for LUFA (Formerly MyUSB) Library by  doxygen 1.5.9