Detailed Description
зависимости для исходного кода модуля
Следующие файлы должны быть скомпилированы с любым проектом, который использует этот модуль:
- LUFA/Drivers/USB/Class/Device/HID.c (Имя модуля исходного кода для makefile: LUFA_SRC_USBCLASS)
модуля
Фреймворк-интерфейс драйвера режима USB-устройства, для драйвера HID USB Class.
Function Documentation
bool CALLBACK_HID_Device_CreateHIDReport |
( |
USB_ClassInfo_HID_Device_t *const |
HIDInterfaceInfo, |
|
|
uint8_t *const |
ReportID, |
|
|
const uint8_t |
ReportType, |
|
|
void * |
ReportData, |
|
|
uint16_t *const |
ReportSize |
|
) |
| |
Функция обратного вызова (callback) драйвера HID class для создания пользователем HID-репорта IN. Этот callback может запускаться либо в ответ на управляющие запросы HID class от хоста, либо по обычному опросу конечной точки HID. Внутри этого callback пользователь отвечает за создание следующего входного репорта HID для отправки его хосту.
- Parameters:
-
[in,out] | HIDInterfaceInfo | указатель на структуру, содержащую конфигурацию и состояние HID Class. |
[in,out] | ReportID | если предустановлено в ненулевое значение, это ID репорта, запрошенного хостом. Если ноль, то должно быть установлено в ID репорта при генерации входного репорта HID (если это имеет место). Если несколько репортов не посылается через указанный интерфейс HID, этот параметр должен игнорироваться. |
[in] | ReportType | тип репорта HID для генерации, либо HID_REPORT_ITEM_In, либо HID_REPORT_ITEM_Feature. |
[out] | ReportData | указатель на буфер, где должен быть сохранен сгенерированный репорт HID. |
[out] | ReportSize | количество байт в сгенерированном входном репорте, или ноль, если репорт не будет отправлен. |
- Returns:
- двоичное true, чтобы отправить репорт принудительно, даже если он идентичен предыдущему репорту и все еще в пределах периода ожидания (удобно для устройств, которые показывают относительное перемещение), иначе false.
void CALLBACK_HID_Device_ProcessHIDReport |
( |
USB_ClassInfo_HID_Device_t *const |
HIDInterfaceInfo, |
|
|
const uint8_t |
ReportID, |
|
|
const uint8_t |
ReportType, |
|
|
const void * |
ReportData, |
|
|
const uint16_t |
ReportSize |
|
) |
| |
Функция обратного вызова (callback) драйвера HID class для обработки пользователем принятого HID-репорта OUT. Этот callback может запускаться либо в ответ на управляющие запросы HID class от хоста, либо по обычному опросу конечной точки HID. Внутри этого callback пользователь отвечает за обработку принятого от хоста выходного репорта HID.
- Parameters:
-
[in,out] | HIDInterfaceInfo | указатель на структуру, содержащую конфигурацию и состояние HID Class. |
[in] | ReportID | ID принятого выходного репорта. Если на указанном интерфейсе HID не принимается несколько репортов, этот параметр должен игнорироваться. |
[in] | ReportType | тип принятого репорта HID, либо HID_REPORT_ITEM_Out, либо HID_REPORT_ITEM_Feature. |
[in] | ReportData | указатель на буфер, где сохранен принятый репорт HID. |
[in] | ReportSize | размер в байтах принятого от хоста репорта. |
Конфигурирует конечные точки указанного интерфейса HID готовыми для использования. Должна быть слинкована с событием библиотеки EVENT_USB_Device_ConfigurationChanged(), чтобы конечные точки конфигурировались, когда выбрана конфигурация, содержащая указанный интерфейс HID.
- Note:
- Индексные номера конечной точки, как указано в структуре конфигурации интерфейса, не должны наложиться ни с каким другим интерфейсом, иначе произойдет повреждение банка конечной точки. Разрывы в номерах конечных точек или непоследовательные индексы в пределах единственного интерфейса допустимы, но никакие два интерфейса любого типа не должны иметь чередования индексов конечной точки.
- Parameters:
-
[in,out] | HIDInterfaceInfo | указатель на структуру, содержащую конфигурацию и состояние HID Class. |
- Returns:
- двоичное true, если конечные точки успешно сконфигурированы, иначе false.
Показывает, что прошла милисекунда времени ожидания на указанном интерфейсе HID, и счетчик ожидания должен декрементироваться. Нужно вызывать раз в милисекунду, чтобы ключевые повторения аппаратуры работали правильно. Рекомендуется вызывать эту функцию по событию EVENT_USB_Device_StartOfFrame(), как только события SOF (события начала фрейма) разрешены функцией USB_Device_EnableSOFEvents().
- Parameters:
-
[in,out] | HIDInterfaceInfo | указатель на структуру, содержащую конфигурацию и состояние HID Class. |
Обрабатывает приходящие запросы от хоста, которые направлены на указанный интерфейс HID class. Это должно быть слинковано с событием EVENT_USB_Device_ControlRequest() библиотеки.
- Parameters:
-
[in,out] | HIDInterfaceInfo | указатель на структуру, содержащую конфигурацию и состояние HID Class. |
Главная задача поддержки для указанного интерфейса HID class, необходимая для корректной работы интерфейса. Должна часто вызываться в главном цикле программы, перед главной задачей поддержки USB USB_USBTask().
- Parameters:
-
[in,out] | HIDInterfaceInfo | указатель на структуру, содержащую конфигурацию и состояние HID Class. |