Библиотека LUFA (раннее название MyUSB) версия 101122
|
Этот модуль содержит определения различных параметров запросов управления, так что детали запроса (такие как направление данных, получатель запроса, и т. д.) можно распаковать по маскам.
#define CONTROL_REQTYPE_DIRECTION 0x80 |
Маска для параметра типа запроса, чтобы показать направление данных запроса (от хоста к устройству или от устройства к хосту). Результат этой маски должен быть сравнен с масками направления запроса.
#define CONTROL_REQTYPE_RECIPIENT 0x1F |
Маска для параметра типа запроса, чтобы показать получателя запроса (стандартный, класса или специфичный для вендора). Результат этой маски должен быть сравнен с масками получателя запроса.
#define CONTROL_REQTYPE_TYPE 0x60 |
Маска для параметра типа запроса, чтобы показать тип запроса (устройства, класса или специфичного для вендора). Результат этой маски должен быть сравнен с масками типа запроса.
#define REQDIR_DEVICETOHOST (1 << 7) |
Маска направления данных запроса, показывающая направление потока данных от устройства к хосту.
#define REQDIR_HOSTTODEVICE (0 << 7) |
Маска направления данных запроса, показывающая направление потока данных от хоста к устройству.
#define REQREC_DEVICE (0 << 0) |
Маска получателя запроса, показывающая, что запрос выдается устройству в целом.
#define REQREC_ENDPOINT (2 << 0) |
Маска получателя запроса, показывающая, что запрос выдается конечной точке в выбранной в настоящий момент конфигурации.
#define REQREC_INTERFACE (1 << 0) |
Маска получателя запроса, показывающая, что запрос выдается интерфейсу в выбранной в настоящий момент конфигурации.
#define REQREC_OTHER (3 << 0) |
Маска получателя запроса, показывающая, что запрос выдается неуказанному элементу в выбранной в настоящий момент конфигурации.
#define REQTYPE_CLASS (1 << 5) |
Маска типа запроса, показывающая запрос, специфичный для класса.
#define REQTYPE_STANDARD (0 << 5) |
Маска типа запроса, показывающая стандартный запрос.
#define REQTYPE_VENDOR (2 << 5) |
Маска типа запроса, показывающая запрос, специфичный для вендора.
Перечисление для различных стандартных команд запроса. Эти команды применимы, когда тип запроса REQTYPE_STANDARD (за исключением REQ_GetDescriptor, который всегда обрабатывается независимо от значения типа запроса).
REQ_GetStatus |
Реализовано в библиотеке для получателей в виде устройства, конечной точки и интерфейса. Передается приложению пользователя для других получателей через событие EVENT_USB_Device_ControlRequest(), когда запрос принят в режиме устройства. |
REQ_ClearFeature |
Реализовано в библиотеке для получателей в виде устройства, конечной точки и интерфейса. Передается приложению пользователя для других получателей через событие EVENT_USB_Device_ControlRequest(), когда запрос принят в режиме устройства. |
REQ_SetFeature |
Реализовано в библиотеке для получателей в виде устройства, конечной точки и интерфейса. Передается приложению пользователя для других получателей через событие EVENT_USB_Device_ControlRequest(), когда запрос принят в режиме устройства. |
REQ_SetAddress |
Реализовано в библиотеке для получателя - устройства. Передается приложению пользователя для других получателей через событие EVENT_USB_Device_ControlRequest(), когда запрос принят в режиме устройства. |
REQ_GetDescriptor |
Реализовано в библиотеке для получателей - интерфейсов. Передается приложению пользователя для других получателей через событие EVENT_USB_Device_ControlRequest(), когда запрос принят в режиме устройства. |
REQ_SetDescriptor |
Не реализовано в библиотеке, передается приложению пользователя через событие EVENT_USB_Device_ControlRequest(), когда запрос принят в режиме устройства. |
REQ_GetConfiguration |
Реализовано в библиотеке для получателя - устройства. Передается приложению пользователя для других получателей через событие EVENT_USB_Device_ControlRequest(), когда запрос принят в режиме устройства. |
REQ_SetConfiguration |
Реализовано в библиотеке для получателя - устройства. Передается приложению пользователя для других получателей через событие EVENT_USB_Device_ControlRequest(), когда запрос принят в режиме устройства. |
REQ_GetInterface |
Не реализовано в библиотеке, передается приложению пользователя через событие EVENT_USB_Device_ControlRequest(), когда запрос принят в режиме устройства. |
REQ_SetInterface |
Не реализовано в библиотеке, передается приложению пользователя через событие EVENT_USB_Device_ControlRequest(), когда запрос принят в режиме устройства. |
REQ_SynchFrame |
Не реализовано в библиотеке, передается приложению пользователя через событие EVENT_USB_Device_ControlRequest(), когда запрос принят в режиме устройства. |
Значение селектора возможности (Feature Selector) для стандартных запросов управления Set Feature и Clear Feature, направленных на устройство, интерфейс и конечную точку в качестве получателей.