Библиотека LUFA (раннее название MyUSB) версия 101122
|
Data Structures | |
struct | USB_Descriptor_Header_t |
Стандартный заголовок дескриптора USB (стиль именования LUFA). More... | |
struct | USB_StdDescriptor_Header_t |
Стандартный заголовок дескриптора USB (стиль именования USB-IF). More... | |
struct | USB_Descriptor_Device_t |
Стандартный дескриптор устройства USB (стиль именования LUFA). More... | |
struct | USB_StdDescriptor_Device_t |
Стандартный дескриптор устройства USB (стиль именования USB-IF). More... | |
struct | USB_Descriptor_Configuration_Header_t |
Стандартный дескриптор конфигурации USB (стиль именования LUFA). More... | |
struct | USB_StdDescriptor_Configuration_Header_t |
Стандартный дескриптор конфигурации USB (стиль именования USB-IF). More... | |
struct | USB_Descriptor_Interface_t |
Стандартный дескриптор интерфейса USB (стиль именования LUFA). More... | |
struct | USB_StdDescriptor_Interface_t |
Стандартный дескриптор интерфейса USB (стиль именования USB-IF). More... | |
struct | USB_Descriptor_Interface_Association_t |
Стандартный дескриптор связи интерфейсов USB (стиль именования LUFA). More... | |
struct | USB_StdDescriptor_Interface_Association_t |
Стандартный дескриптор связи интерфейсов USB (стиль именования USB-IF). More... | |
struct | USB_Descriptor_Endpoint_t |
Стандартный дескриптор конечной точки USB (стиль именования LUFA). More... | |
struct | USB_StdDescriptor_Endpoint_t |
Стандартный дескриптор конечной точки USB (стиль именования USB-IF). More... | |
struct | USB_Descriptor_String_t |
Стандартный строковый дескриптор USB (стиль именования LUFA). More... | |
struct | USB_StdDescriptor_String_t |
Стандартный строковый дескриптор USB (стиль именования USB-IF). More... | |
Modules | |
Парсер дескриптора конфигурации | |
Defines | |
#define | NO_DESCRIPTOR 0 |
#define | USE_INTERNAL_SERIAL NO_DESCRIPTOR |
#define | USB_CONFIG_POWER_MA(mA) ((mA) >> 1) |
#define | USB_STRING_LEN(str) (sizeof(USB_Descriptor_Header_t) + ((str) << 1)) |
#define | VERSION_BCD(x) |
#define | LANGUAGE_ID_ENG 0x0409 |
Enumerations | |
enum | USB_DescriptorTypes_t { DTYPE_Device = 0x01, DTYPE_Configuration = 0x02, DTYPE_String = 0x03, DTYPE_Interface = 0x04, DTYPE_Endpoint = 0x05, DTYPE_DeviceQualifier = 0x06, DTYPE_Other = 0x07, DTYPE_InterfacePower = 0x08, DTYPE_InterfaceAssociation = 0x0B, DTYPE_CSInterface = 0x24, DTYPE_CSEndpoint = 0x25 } |
enum | USB_Descriptor_ClassSubclassProtocol_t { USB_CSCP_NoDeviceClass = 0x00, USB_CSCP_NoDeviceSubclass = 0x00, USB_CSCP_NoDeviceProtocol = 0x00, USB_CSCP_VendorSpecificClass = 0xFF, USB_CSCP_VendorSpecificSubclass = 0xFF, USB_CSCP_VendorSpecificProtocol = 0xFF, USB_CSCP_IADDeviceClass = 0xEF, USB_CSCP_IADDeviceSubclass = 0x02, USB_CSCP_IADDeviceProtocol = 0x01 } |
Маски адреса направления конечной точки | |
#define | ENDPOINT_DESCRIPTOR_DIR_IN 0x80 |
#define | ENDPOINT_DESCRIPTOR_DIR_OUT 0x00 |
Маски атрибута дескриптора конфигурации USB | |
#define | USB_CONFIG_ATTR_BUSPOWERED 0x80 |
#define | USB_CONFIG_ATTR_SELFPOWERED 0x40 |
#define | USB_CONFIG_ATTR_REMOTEWAKEUP 0x20 |
Маски атрибута дескриптора конечной точки | |
#define | ENDPOINT_ATTR_NO_SYNC (0 << 2) |
#define | ENDPOINT_ATTR_ASYNC (1 << 2) |
#define | ENDPOINT_ATTR_ADAPTIVE (2 << 2) |
#define | ENDPOINT_ATTR_SYNC (3 << 2) |
Маски использования дескриптора конечной точки | |
#define | ENDPOINT_USAGE_DATA (0 << 4) |
#define | ENDPOINT_USAGE_FEEDBACK (1 << 4) |
#define | ENDPOINT_USAGE_IMPLICIT_FEEDBACK (2 << 4) |
Определения стандартных дескрипторов устройства и подпрограммы извлечения (информации?) для устройств USB. Этот модуль содержит структуры и макросы для простого создания стандартных дескрипторов USB в проектах USB-устройств.
#define ENDPOINT_ATTR_ADAPTIVE (2 << 2) |
Может замаскировать другие атрибуты конечной точки для значения дескриптора USB_Descriptor_Endpoint_t Attributes, чтобы показать, что указанная конечная точка адаптивная.
#define ENDPOINT_ATTR_ASYNC (1 << 2) |
Может замаскировать другие атрибуты конечной точки для значения дескриптора USB_Descriptor_Endpoint_t Attributes, чтобы показать, что указанная конечная точка асинхронная.
#define ENDPOINT_ATTR_NO_SYNC (0 << 2) |
Может замаскировать другие атрибуты конечной точки для значения дескриптора USB_Descriptor_Endpoint_t Attributes, чтобы показать, что указанная конечная точка не синхронизирована.
#define ENDPOINT_ATTR_SYNC (3 << 2) |
Может замаскировать другие атрибуты конечной точки для значения дескриптора USB_Descriptor_Endpoint_t Attributes, чтобы показать, что указанная конечная точка синхронизирована.
#define ENDPOINT_DESCRIPTOR_DIR_IN 0x80 |
Могут быть наложены на адрес конечной точки для значения дескриптора конечной точки USB_Descriptor_Endpoint_t EndpointAddress, чтобы показать хосту, что конечная точка имеет направление IN (то есть от устройства в хост).
#define ENDPOINT_DESCRIPTOR_DIR_OUT 0x00 |
Могут быть наложены на адрес конечной точки для значения дескриптора конечной точки USB_Descriptor_Endpoint_t EndpointAddress, чтобы показать хосту, что конечная точка имеет направление OUT (то есть от хоста в устройство).
#define ENDPOINT_USAGE_DATA (0 << 4) |
Может быть замаскировано с другими значениями атрибутов для значения дескриптора USB_Descriptor_Endpoint_t Attributes, чтобы показать, что указанная конечная точка используется для передач данных.
#define ENDPOINT_USAGE_FEEDBACK (1 << 4) |
Может быть замаскировано с другими значениями атрибутов для значения дескриптора USB_Descriptor_Endpoint_t Attributes, чтобы показать, что указанная конечная точка используется для обратной связи.
#define ENDPOINT_USAGE_IMPLICIT_FEEDBACK (2 << 4) |
Может быть замаскировано с другими значениями атрибутов для значения дескриптора USB_Descriptor_Endpoint_t Attributes, чтобы показать, что указанная конечная точка используется для неявной обратной связи.
#define LANGUAGE_ID_ENG 0x0409 |
ID для английского языка для строк. Должен использоваться в дескрипторах USB_Descriptor_String_t, чтобы показать, что язык English поддерживается устройством в строковых дескрипторах.
#define NO_DESCRIPTOR 0 |
Показывает, что указанный дескриптор отсутствует на устройстве. Это может использоваться внутри дескрипторов индексов строковых дескрипторов, или может использоваться в качестве значения возврата для GetDescriptor, когда указанный дескриптор не существует.
#define USB_CONFIG_ATTR_BUSPOWERED 0x80 |
Может быть наложена на другие атрибуты дескриптора для значения USB_Descriptor_Configuration_Header_t ConfigAttributes, чтобы показать, что указанная конфигурация может получать питание от линии VBUS хоста.
#define USB_CONFIG_ATTR_REMOTEWAKEUP 0x20 |
Может быть наложена на другие атрибуты дескриптора для значения USB_Descriptor_Configuration_Header_t ConfigAttributes, чтобы показать, что указанная конфигурация поддерживает возможность удаленного пробуждения (remote wakeup) стандарта USB, что позволяет приостановленным устройствам USB разбудить хост по запросу.
#define USB_CONFIG_ATTR_SELFPOWERED 0x40 |
Может быть наложена на другие атрибуты дескриптора для значения USB_Descriptor_Configuration_Header_t ConfigAttributes, чтобы показать, что указанная конфигурация может получать питание от отдельного собственного источника питания.
#define USB_CONFIG_POWER_MA | ( | mA | ) | ((mA) >> 1) |
Макрос вычисления значения потребляемой мощности для дескриптора конфигурации, от указанного количества милиампер.
#define USB_STRING_LEN | ( | str | ) | (sizeof(USB_Descriptor_Header_t) + ((str) << 1)) |
Макрос для вычисления длины строки Unicode через указанное количество символов Unicode. Должно использоваться в заголовках строковых дескрипторов для предоставления байтовой длины строки.
#define USE_INTERNAL_SERIAL NO_DESCRIPTOR |
#define VERSION_BCD | ( | x | ) |
((((VERSION_TENS(x) << 4) | VERSION_ONES(x)) << 8) | \ ((VERSION_TENTHS(x) << 4) | VERSION_HUNDREDTHS(x)))
Макрос для кодирования указанных четырех цифр числа номера версии (например 01.23) в формат Binary Coded Decimal (BCD) для полей дескрипторов, требующих кодирования BCD, таких как номер версии USB в стандартном дескрипторе устройства.
Перечисление для возможных значений класса, субкласса и протокола дескрипторов устройства и интерфейса.
Перечисление для возможных стандартных типов дескрипторов, как указано в каждом заголовке дескриптора.