Библиотека LUFA (раннее название MyUSB) версия 101122
Общие определения класса

Data Structures

struct  USB_CDC_Descriptor_FunctionalHeader_t
 Специфичный для класса CDC заголовок функционального дескриптора (стиль именования LUFA). More...
struct  USB_CDC_StdDescriptor_FunctionalHeader_t
 Специфичный для класса CDC заголовок функционального дескриптора (стиль именования USB-IF). More...
struct  USB_CDC_Descriptor_FunctionalACM_t
 Специфичный для класса CDC функциональный дескриптор ACM (стиль именования LUFA). More...
struct  USB_CDC_StdDescriptor_FunctionalACM_t
 Специфичный для класса CDC функциональный дескриптор ACM (стиль именования USB-IF). More...
struct  USB_CDC_Descriptor_FunctionalUnion_t
 Специфичный для класса CDC функциональный дескриптор объединения (стиль именования LUFA). More...
struct  USB_CDC_StdDescriptor_FunctionalUnion_t
 Специфичный для класса CDC функциональный дескриптор объединения (стиль именования USB-IF). More...
struct  CDC_LineEncoding_t

Defines

#define CDC_FUNCTIONAL_DESCRIPTOR(DataSize)

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)

#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

модуля

Определения констант, типов и перечислений, общие в режимах устройства и хоста, для USB CDC Class.


Define Documentation

#define CDC_CONTROL_LINE_IN_BREAK   (1 << 2)

Маска BREAK рукопожатия на линии (handshake line) для использования с специфичным для класса оповещением CDC_NOTIF_SerialState к хосту, чтобы показать, что состояние линии BREAK сейчас высокое (лог. 1).

#define CDC_CONTROL_LINE_IN_DCD   (1 << 0)

Маска DCD рукопожатия на линии (handshake line) для использования с специфичным для класса оповещением CDC_NOTIF_SerialState к хосту, чтобы показать, что состояние линии DCD сейчас высокое (лог. 1).

#define CDC_CONTROL_LINE_IN_DSR   (1 << 1)

Маска DSR рукопожатия на линии (handshake line) для использования с специфичным для класса оповещением CDC_NOTIF_SerialState к хосту, чтобы показать, что состояние линии DSR сейчас высокое (лог. 1).

#define CDC_CONTROL_LINE_IN_FRAMEERROR   (1 << 4)

Маска для использования с специфичным для класса оповещением CDC_NOTIF_SerialState от устройства к хосту, чтобы показать, что на виртуальном последовательном порту произошла ошибка фрейма.

#define CDC_CONTROL_LINE_IN_OVERRUNERROR   (1 << 6)

Маска для использования с специфичным для класса оповещением CDC_NOTIF_SerialState от устройства к хосту, чтобы показать, что на виртуальном последовательном порту произошла ошибка потери данных.

#define CDC_CONTROL_LINE_IN_PARITYERROR   (1 << 5)

Маска для использования с специфичным для класса оповещением CDC_NOTIF_SerialState от устройства к хосту, чтобы показать, что на виртуальном последовательном порту произошла ошибка четности.

#define CDC_CONTROL_LINE_IN_RING   (1 << 3)

Маска RING рукопожатия на линии (handshake line) для использования с специфичным для класса оповещением CDC_NOTIF_SerialState к хосту, чтобы показать, что состояние линии RING сейчас высокое (лог. 1).

#define CDC_CONTROL_LINE_OUT_DTR   (1 << 0)

Маска DTR рукопожатия на линии (handshake line) для использования с специфичным для класса запросом CDC_REQ_SetControlLineState от хоста, чтобы показать, что состояние линии DTR должно быть высокое (лог. 1).

#define CDC_CONTROL_LINE_OUT_RTS   (1 << 1)

Маска RTS рукопожатия на линии (handshake line) для использования с специфичным для класса запросом CDC_REQ_SetControlLineState от хоста, чтобы показать, что состояние линии RTS должно быть высокое (лог. 1).

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

Макрос для определения функционального дескриптора, специфичного для CDC class. Функциональные дескрипторы CDC имеют универсальную структутру, однако переменный размер полезной нагрузки данных, поэтому они не могут быть точно представлены как одиночная структура typedef struct. Вместо этого используется макрос, чтобы можно было просто создать функциональные дескрипторы для указанного размера полезной нагрузки. Это позволяет корректно работать sizeof().

Parameters:
[in]DataSizeразмер в байтах полезной нагрузки данных функционального дескриптора CDC.

Enumeration Type Documentation

Перечисление для специфичных для класса CDC запросов оповещения, которые можно выдать от устройства CDC к хосту.

Enumerator:
CDC_NOTIF_SerialState 

Константа типа оповещения для изменения в виртульном последовательном порте состояний рукопожания лини (handshake line), для использования совместно со структурой оповещения USB_Request_Header_t, когда отправка к хосту идет через конечную точку оповещения CDC.

Перечисление для специфических для класса CDC управляющих запросов, которые могут быть выданы хостом шины USB.

Enumerator:
CDC_REQ_SendEncapsulatedCommand 

специфичный для класса CDC запрос для отправки на устройство энкапсулированной команды.

CDC_REQ_GetEncapsulatedResponse 

специфичный для класса CDC запрос для получения от устройства энкапсулированного ответа на команду.

CDC_REQ_SetLineEncoding 

специфичный для класса CDC запрос для установки текущих настроек конфигурации виртуального последовательного порта.

CDC_REQ_GetLineEncoding 

специфичный для класса CDC запрос для полуения текущих настроек конфигурации виртуального последовательного порта.

CDC_REQ_SetControlLineState 

специфичный для класса CDC запрос для установки текущих состояний рукопожатия линии (handshake line) виртуального последовательного порта.

CDC_REQ_SendBreak 

специфичный для класса CDC запрос для отправки команды перерыва (break) приемнику через канал несущей.

Перечисление для возможных значений Class, Subclass и Protocol дескрипторов устройства и интерфейса, относящихся к устройствам класса CDC.

Enumerator:
CDC_CSCP_CDCClass 

Значение класса дескриптора, показывающее, что устройство или интерфейс принадлежит классу CDC.

CDC_CSCP_NoSpecificSubclass 

Значение подкласса дескриптора, показывающее, что устройство или интерфейс принадлежит к специфичному подклассу класса CDC.

CDC_CSCP_ACMSubclass 

Значение подкласса дескриптора, показывающее, что устройство или интерфейс принадлежит к подклассу Abstract Control Model CDC (абстрактная модель управления).

CDC_CSCP_ATCommandProtocol 

Значение протокола дескриптора, показывающее, что устройство или интерфейс принадлежит к протоколу команд AT класса CDC.

CDC_CSCP_NoSpecificProtocol 

Значение класса дескриптора, показывающее, что устройство или интерфейс не принадлежит никакому определенному протоколу класса CDC.

CDC_CSCP_VendorSpecificProtocol 

Значение класса дескриптора, показывающее, что устройство или интерфейс принадлежит протоколу класса CDC, специфичному для вендора.

CDC_CSCP_CDCDataClass 

Значение класса дескриптора, показывающее, что устройство или интерфейс принадлежит классу данных CDC.

CDC_CSCP_NoDataSubclass 

Значение подкласса дескриптора, показывающее, что устройство или интерфейс не принадлежит никакому определенному подклассу класса данных CDC.

CDC_CSCP_NoDataProtocol 

Значение протокола дескриптора, показывающее, что устройство или интерфейс не принадлежит никакому определенному протоколу класса данных CDC.

Перечисление для подтипов дескриптора интерфейса, специфичных для класса CDC.

Enumerator:
CDC_DSUBTYPE_CSInterface_Header 

специфичный для класса CDC заголовок функционального дескриптора.

CDC_DSUBTYPE_CSInterface_CallManagement 

специфичный для класса CDC функциональный дескриптор управления вызовами.

CDC_DSUBTYPE_CSInterface_ACM 

специфичный для класса CDC функциональный дескриптор абстрактной модели управления (Abstract Control Model).

CDC_DSUBTYPE_CSInterface_DirectLine 

специфичный для класса CDC функциональный дескриптор прямой линии (Direct Line).

CDC_DSUBTYPE_CSInterface_TelephoneRinger 

специфичный для класса CDC функциональный дескриптор телефонного звонка.

CDC_DSUBTYPE_CSInterface_TelephoneCall 

специфичный для класса CDC функциональный дескриптор телефонного вызова.

CDC_DSUBTYPE_CSInterface_Union 

специфичный для класса CDC функциональный дескриптор объединения.

CDC_DSUBTYPE_CSInterface_CountrySelection 

специфичный для класса CDC функциональный дескриптор выбора страны.

CDC_DSUBTYPE_CSInterface_TelephoneOpModes 

специфичный для класса CDC функциональный дескриптор режимов работы телефона.

CDC_DSUBTYPE_CSInterface_USBTerminal 

специфичный для класса CDC функциональный дескриптор терминала.

CDC_DSUBTYPE_CSInterface_NetworkChannel 

специфичный для класса CDC функциональный дескриптор канала сети.

CDC_DSUBTYPE_CSInterface_ProtocolUnit 

специфичный для класса CDC функциональный дескриптор элемента протокола (Protocol Unit).

CDC_DSUBTYPE_CSInterface_ExtensionUnit 

специфичный для класса CDC функциональный дескриптор элемента расширения (Extension Unit).

CDC_DSUBTYPE_CSInterface_MultiChannel 

специфичный для класса CDC функциональный дескриптор многоканального управления.

CDC_DSUBTYPE_CSInterface_CAPI 

специфичный для класса CDC функциональный дескриптор общего ISDN API.

CDC_DSUBTYPE_CSInterface_Ethernet 

специфичный для класса CDC функциональный дескриптор Ethernet.

CDC_DSUBTYPE_CSInterface_ATM 

специфичный для класса CDC функциональный дескриптор режима асинхронной передачи (Asynchronous Transfer Mode).

Перечисление для возможных форматов кодирования линии виртуального последовательного порта.

Enumerator:
CDC_LINEENCODING_OneStopBit 

Каждый фрейм содержит один стоп-бит.

CDC_LINEENCODING_OneAndAHalfStopBits 

Каждый фрейм содержит полтора стоп-бита.

CDC_LINEENCODING_TwoStopBits 

Каждый фрейм содержит два стоп-бита.

Перечисление для возможных установок четности кодирования в линии для виртуального последовательного порта.

Enumerator:
CDC_PARITY_None 

Режим без бита четности в каждом фрейме.

CDC_PARITY_Odd 

Режим нечетного бита четности в каждом фрейме.

CDC_PARITY_Even 

Режим четного бита четности в каждом фрейме.

CDC_PARITY_Mark 

Режим метки для бита четности в каждом фрейме.

CDC_PARITY_Space 

Режим пропуска для бита четности в каждом фрейме.

 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines