Библиотека LUFA (раннее название MyUSB) версия 101122
StdDescriptors.h File Reference

Определения стандартных дескрипторов USB. More...

#include <avr/pgmspace.h>
#include <stdbool.h>
#include <stdint.h>
#include <stddef.h>
#include "../../../Common/Common.h"
#include "USBMode.h"
#include "Events.h"
#include "../LowLevel/Device.h"

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

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
Маски адреса направления конечной точки
#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)

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
}

Detailed Description

Этот файл содержит структуры и макросы для простого создания стандартных дескрипторов USB в проектах USB-устройств.

Note:
Этот файл не должен включаться (include) самостоятельно. Он автоматически подключается при необходимости диспетчером заголовков драйвера USB, находящемся в LUFA/Drivers/USB/USB.h.
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines