LUFA Library  210130

CDC Class Device Mode Configuration and State Structure. More...

#include <CDCClassDevice.h>

Data Fields

struct {
   uint8_t   ControlInterfaceNumber
   USB_Endpoint_Table_t   DataINEndpoint
   USB_Endpoint_Table_t   DataOUTEndpoint
   USB_Endpoint_Table_t   NotificationEndpoint
struct {
   struct {
      uint16_t   DeviceToHost
      uint16_t   HostToDevice
   }   ControlLineStates
   CDC_LineEncoding_t   LineEncoding

Detailed Description

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.

Field Documentation


struct { ... } USB_ClassInfo_CDC_Device_t::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.

◆ ControlInterfaceNumber

uint8_t USB_ClassInfo_CDC_Device_t::ControlInterfaceNumber

Interface number of the CDC control interface within the device.


struct { ... } USB_ClassInfo_CDC_Device_t::ControlLineStates

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

◆ DataINEndpoint

USB_Endpoint_Table_t USB_ClassInfo_CDC_Device_t::DataINEndpoint

Data IN endpoint configuration table.

◆ DataOUTEndpoint

USB_Endpoint_Table_t USB_ClassInfo_CDC_Device_t::DataOUTEndpoint

Data OUT endpoint configuration table.

◆ DeviceToHost

uint16_t USB_ClassInfo_CDC_Device_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.

◆ HostToDevice

uint16_t USB_ClassInfo_CDC_Device_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.

◆ LineEncoding

CDC_LineEncoding_t USB_ClassInfo_CDC_Device_t::LineEncoding

Line encoding used in the virtual serial port, for the device's information. This is generally only used if the virtual serial port data is to be reconstructed on a physical UART.

◆ NotificationEndpoint

USB_Endpoint_Table_t USB_ClassInfo_CDC_Device_t::NotificationEndpoint

Notification IN Endpoint configuration table.


struct { ... } USB_ClassInfo_CDC_Device_t::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: