| LPCOpen Platform v1.03 LPCOpen Platform for NXP LPC Microcontrollers

- Main Page
- Modules
- Data Structures
- Files
- Related Pages

- Data Structures
- Data Structure Index
- Data Fields

All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Fields
USB_ClassInfo_CDC_Device_t Struct Reference
CDC Class Device Mode Driver

## Detailed Description

CDC Class Device Mode Configuration and State Structure.

Class state structure. An instance of this structure should be made for each CDC interface within the user application, and passed to each of the CDC class driver functions as the CDCInterfaceInfo parameter. This stores each CDC interface's configuration and state information.

Definition at line 90 of file CDCClassDevice.h.

`#include "CDCClassDevice.h"`

## Data Fields
struct {
uint8_t ControlInterfaceNumber
uint8_t DataINEndpointNumber
uint16_t DataINEndpointSize
bool DataINEndpointDoubleBank
uint8_t DataOUTEndpointNumber
uint16_t DataOUTEndpointSize
bool DataOUTEndpointDoubleBank
uint8_t NotificationEndpointNumber
uint16_t NotificationEndpointSize
bool NotificationEndpointDoubleBank
uint8_t PortNumber
} | Config
struct {
struct {
uint16_t HostToDevice
uint16_t DeviceToHost
} ControlLineStates
CDC_LineEncoding_t LineEncoding
} | State

## Field Documentation

struct { ... } Config

Config data for the USB class interface within the device. All elements in this section must be set or the interface will fail to enumerate and operate correctly.

uint8_t ControlInterfaceNumber

Interface number of the CDC control interface within the device.

Definition at line 94 of file CDCClassDevice.h.

struct { ... } ControlLineStates

Current states of the virtual serial port's control lines between the device and host.

bool DataINEndpointDoubleBank

Indicates if the CDC interface's IN data endpoint should use double banking.

Definition at line 98 of file CDCClassDevice.h.

uint8_t DataINEndpointNumber

Endpoint number of the CDC interface's IN data endpoint.

Definition at line 96 of file CDCClassDevice.h.

uint16_t DataINEndpointSize

Size in bytes of the CDC interface's IN data endpoint.

Definition at line 97 of file CDCClassDevice.h.

bool DataOUTEndpointDoubleBank

Indicates if the CDC interface's OUT data endpoint should use double banking.

Definition at line 102 of file CDCClassDevice.h.

uint8_t DataOUTEndpointNumber

Endpoint number of the CDC interface's OUT data endpoint.

Definition at line 100 of file CDCClassDevice.h.

uint16_t DataOUTEndpointSize

Size in bytes of the CDC interface's OUT data endpoint.

Definition at line 101 of file CDCClassDevice.h.

uint16_t DeviceToHost

Control line states from the device to host, as a set of `CDC_CONTROL_LINE_IN_*` masks - to notify the host of changes to these values, call the CDC_Device_SendControlLineStateChange() function.

Definition at line 118 of file CDCClassDevice.h.

uint16_t HostToDevice

Control line states from the host to device, as a set of `CDC_CONTROL_LINE_OUT_*` masks. This value is updated each time CDC_Device_USBTask() is called.

Definition at line 115 of file CDCClassDevice.h.

CDC_LineEncoding_t LineEncoding

Definition at line 124 of file CDCClassDevice.h.

bool NotificationEndpointDoubleBank

Indicates if the CDC interface's notification endpoint should use double banking.

Definition at line 106 of file CDCClassDevice.h.

uint8_t NotificationEndpointNumber

Endpoint number of the CDC interface's IN notification endpoint, if used.

Definition at line 104 of file CDCClassDevice.h.

uint16_t NotificationEndpointSize

Size in bytes of the CDC interface's IN notification endpoint, if used.

Definition at line 105 of file CDCClassDevice.h.

uint8_t PortNumber

Port number that this interface is running.

Definition at line 107 of file CDCClassDevice.h.

struct { ... } State

State data for the USB class interface within the device. All elements in this section are reset to their defaults when the interface is enumerated.

The documentation for this struct was generated from the following file:

- C:/nxp/v1.03/lpcopen_v1.03/lpcopen/software/LPCUSBLib/Drivers/USB/Class/Device/CDCClassDevice.h