Data Structures | 
| struct   | USB_ClassInfo_HID_Host_t | 
|   | Структура конфигурации и состояния HID Class режима хоста.  More...
  | 
Defines | 
| #define  | HID_ERROR_LOGICAL   0x80 | 
Enumerations | 
| enum   | HID_Host_EnumerationFailure_ErrorCodes_t {  
  HID_ENUMERROR_NoError =  0, 
 
  HID_ENUMERROR_InvalidConfigDescriptor =  1, 
 
  HID_ENUMERROR_NoCompatibleInterfaceFound =  2
 
 } | 
Functions | 
| uint8_t  | HID_Host_ConfigurePipes (USB_ClassInfo_HID_Host_t *const HIDInterfaceInfo, uint16_t ConfigDescriptorSize, void *DeviceConfigDescriptor) ATTR_NON_NULL_PTR_ARG(1) ATTR_NON_NULL_PTR_ARG(3) | 
| uint8_t  | HID_Host_ReceiveReport (USB_ClassInfo_HID_Host_t *const HIDInterfaceInfo, void *Buffer) ATTR_NON_NULL_PTR_ARG(1) ATTR_NON_NULL_PTR_ARG(2) | 
| uint8_t  | HID_Host_ReceiveReportByID (USB_ClassInfo_HID_Host_t *const HIDInterfaceInfo, const uint8_t ReportID, void *Buffer) ATTR_NON_NULL_PTR_ARG(1) ATTR_NON_NULL_PTR_ARG(3) | 
| uint8_t  | HID_Host_SendReportByID (USB_ClassInfo_HID_Host_t *const HIDInterfaceInfo, const uint8_t ReportID, const uint8_t ReportType, void *Buffer, const uint16_t ReportSize) ATTR_NON_NULL_PTR_ARG(1) ATTR_NON_NULL_PTR_ARG(4) | 
| bool  | HID_Host_IsReportReceived (USB_ClassInfo_HID_Host_t *const HIDInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1) | 
| uint8_t  | HID_Host_SetBootProtocol (USB_ClassInfo_HID_Host_t *const HIDInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1) | 
| uint8_t  | HID_Host_SetReportProtocol (USB_ClassInfo_HID_Host_t *const HIDInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1) | 
| static void  | HID_Host_USBTask (USB_ClassInfo_HID_Host_t *const HIDInterfaceInfo) | 
Detailed Description
зависимости для исходного кода модуля
Следующие файлы должны быть скомпилированы с любым проектом, который использует этот модуль:
- LUFA/Drivers/USB/Class/Host/HID.c (Имя модуля исходного кода для makefile: LUFA_SRC_USBCLASS)
 
- LUFA/Drivers/USB/Class/Host/HIDParser.c (Имя модуля исходного кода для makefile: LUFA_SRC_USB)
 
модуля
Фреймворк-интерфейс для драйвера режима хоста HID USB Class. 
Define Documentation
      
        
          | #define HID_ERROR_LOGICAL   0x80 | 
        
      
 
Код ошибки для некоторых функций хоста HID, показывающий логическую (не аппаратную) ошибку. 
 
 
Enumeration Type Documentation
Перечисление для возможных кодов ошибки, возвращаемых функцией HID_Host_ConfigurePipes(). 
- Enumerator: 
 
| HID_ENUMERROR_NoError  | 
 дескриптор конфигурации обработан успешно.  
 | 
| HID_ENUMERROR_InvalidConfigDescriptor  | 
 устройство возвратило неверный дескриптор конфигурации.  
 | 
| HID_ENUMERROR_NoCompatibleInterfaceFound  | 
 в дескрипторе конфигурации устройства не найден совместимый интерфейс HID.  
 | 
 
 
 
Function Documentation
      
        
          | uint8_t HID_Host_ConfigurePipes  | 
          ( | 
          USB_ClassInfo_HID_Host_t *const  | 
          HIDInterfaceInfo,  | 
        
        
           | 
           | 
          uint16_t  | 
          ConfigDescriptorSize,  | 
        
        
           | 
           | 
          void *  | 
          DeviceConfigDescriptor  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Подпрограмма конфигурирования интерфейса хоста, для конфигурирования указанного экземпляра интерфейса хоста HID с использованием дескриптора конфигурации, прочитанного от подключенного устройства USB. Эта функция автоматически обновляет переменные состояния экземпляра хоста HID и конфигурирует каналы, необходимые для соединения с интерфейсом, если он найден на устройстве. Должна быть вызвана один раз после того, как стек проведет энумерацию устройства, когда машина хоста перейдет в состояние Addressed (адресовано).
- Note:
 - Индексы канала, как дано в структуре конфигурации интерфейса, не должны наложиться ни с каким другим интерфейсом, или произойдет повреждение банка канала. Разрывы в выделенных числах канала или непоследовательных индексах в пределах единственного интерфейса позволены, но никакие два интерфейса любого типа не могут чередовать индексы канала. 
 
- 
После того, как потоки устройства сконфигурированы, протокол репортов устройства HID должен быть установлен либо через вызов HID_Host_SetBootProtocol(), либо через вызов HID_Host_SetReportProtocol().
 
- Parameters:
 - 
  
    | [in,out] | HIDInterfaceInfo | указатель на структуру, содержащую конфигурацию и состояние хоста HID Class.  | 
    | [in] | ConfigDescriptorSize | длина дескриптора конфигурации подключенного устройства.  | 
    | [in] | DeviceConfigDescriptor | указатель на буфер, содержащий дескриптор конфигурации подключенного устройства. | 
  
   
- Returns:
 - значение из перечисления HID_Host_EnumerationFailure_ErrorCodes_t. 
 
 
 
Определяет, принят ли репорт HID IN из подключенного устройства по каналу данных IN.
- Precondition:
 - Эта функция должна быть вызвана только когда машина состояния хоста находится в состоянии HOST_STATE_Configured, либо вызов функции потерпит неудачу.
 
- Parameters:
 - 
  
    | [in,out] | HIDInterfaceInfo | указатель на структуру, содержащую конфигурацию и состояние хоста HID Class. | 
  
   
- Returns:
 - двоичное true, если репорт принят, иначе false. 
 
 
 
Принимает репорт HID IN от подключенного устройства HID, когда репорт принимается через канал данных HID IN.
- Precondition:
 - Эта функция должна быть вызвана только когда машина состояния хоста находится в состоянии HOST_STATE_Configured, либо вызов функции потерпит неудачу.
 
- Note:
 - Буфер назначения должен быть достаточного размера, чтобы принять наибольший по размеру репорт, который может сгенерировать подключенное устройство.
 
- Parameters:
 - 
  
    | [in,out] | HIDInterfaceInfo | указатель на структуру, содержащую конфигурацию и состояние хоста HID Class.  | 
    | [in] | Buffer | буфер для сохранения информации из принятого репорта. | 
  
   
- Returns:
 - код ошибки из перечисления Pipe_Stream_RW_ErrorCodes_t. 
 
 
 
      
        
          | uint8_t HID_Host_ReceiveReportByID  | 
          ( | 
          USB_ClassInfo_HID_Host_t *const  | 
          HIDInterfaceInfo,  | 
        
        
           | 
           | 
          const uint8_t  | 
          ReportID,  | 
        
        
           | 
           | 
          void *  | 
          Buffer  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Принимает репорт HID IN от подключенного устройства, по ID репорта.
- Precondition:
 - Эта функция должна быть вызвана только когда машина состояния хоста находится в состоянии HOST_STATE_Configured, либо вызов функции потерпит неудачу.
 
- Note:
 - Когда задан токен времени компиляции HID_HOST_BOOT_PROTOCOL_ONLY, этот метод недоступен.
 
- Parameters:
 - 
  
    | [in,out] | HIDInterfaceInfo | указатель на структуру, содержащую конфигурацию и состояние хоста HID Class.  | 
    | [in] | ReportID | ID принятого репорта, если ControlRequest равен false - для определения ID обрабатываемого репорта.  | 
    | [in] | Buffer | буфер для сохранения информации из принятого репорта. | 
  
   
- Returns:
 - значение из перечисления USB_Host_SendControlErrorCodes_t. 
 
 
 
      
        
          | uint8_t HID_Host_SendReportByID  | 
          ( | 
          USB_ClassInfo_HID_Host_t *const  | 
          HIDInterfaceInfo,  | 
        
        
           | 
           | 
          const uint8_t  | 
          ReportID,  | 
        
        
           | 
           | 
          const uint8_t  | 
          ReportType,  | 
        
        
           | 
           | 
          void *  | 
          Buffer,  | 
        
        
           | 
           | 
          const uint16_t  | 
          ReportSize  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Отправляет репорт OUT или FEATURE в подключенное устройство HID, с использованием либо канала OUT, если он доступен, либо канала управления, если канал OUT недоступен.
- Precondition:
 - Эта функция должна быть вызвана только когда машина состояния хоста находится в состоянии HOST_STATE_Configured, либо вызов функции потерпит неудачу.
 
- Note:
 - Когда задан токен времени компиляции HID_HOST_BOOT_PROTOCOL_ONLY, параметр ReportID удаляется из списка параметров этой функции.
 
- Parameters:
 - 
  
    | [in,out] | HIDInterfaceInfo | указатель на структуру, содержащую конфигурацию и состояние хоста HID Class.  | 
    | [in] | ReportID | ID репорта для отправки в устройство, или 0, если устройство не использует идентификаторов репорта.  | 
    | [in] | ReportType | тип репорта для выдачи в устройство, либо HID_REPORT_ITEM_Out, либо HID_REPORT_ITEM_Feature.  | 
    | [in] | Buffer | буфер, содержащий репорт для отправки в подключенное устройство.  | 
    | [in] | ReportSize | размер репорта в байтах для отправки в подключенное устройство. | 
  
   
- Returns:
 - код ошибки из перечисления USB_Host_SendControlErrorCodes_t, если установлен флаг DeviceUsesOUTPipe в структуре состояния интерфейса, инаяе значение из перечисления Pipe_Stream_RW_ErrorCodes_t. 
 
 
 
Переключает протокол репортов подключенного устройства HID в режим протокола загрузки, на тех устройствах, где это поддерживается.
- Note:
 - Когда задан токен времени компиляции HID_HOST_BOOT_PROTOCOL_ONLY, этот метод все еще должен быть вызван для явного переключения подключенного устройства в режим протокола загрузки перед использованием этого протокола.
 
- Parameters:
 - 
  
    | [in,out] | HIDInterfaceInfo | указатель на структуру, содержащую конфигурацию и состояние хоста HID Class. | 
  
   
- Returns:
 - HID_ERROR_LOGICAL, есл устройство не поддерживает режи протокола загрузки, иначе значение из перечисления USB_Host_SendControlErrorCodes_t. 
 
 
 
Переключает протокол репорта подключенного устройства HID на использование стандартного режима репортов. Это также запрашивает и делает парсинг дескриптора репорта устройства HID так, чтобы размер каждого рапорта мог быть определен заранее.
- Note:
 - Независимо от того, используется эта функция или нет, функция обратного вызова CALLBACK_HIDParser_FilterHIDReportItem() из парсера репорта должна быть реализована в коде пользователя. 
 
- 
Когда задан токен времени компиляции HID_HOST_BOOT_PROTOCOL_ONLY, этот метод недоступен.
 
- Parameters:
 - 
  
    | [in,out] | HIDInterfaceInfo | указатель на структуру, содержащую конфигурацию и состояние хоста HID Class. | 
  
   
- Returns:
 - значение из перечисления USB_Host_SendControlErrorCodes_t, если произошла ошибка при запросе дескриптора репорта HID или при устрановке протокола репорта, HID_ERROR_LOGICAL если интефрейс HID не имеет в своей конфигурации верного набора структуры HID_ReportInfo_t, то маска HID_ERROR_LOGICAL, иначе значение из HID_Parse_ErrorCodes_t. 
 
 
 
Главная задача обработки для указанного интерфейса хоста HID, необходимая для корректной работы интерфейса. Должна часто вызываться из основного цикла программы, перед главной задачей поддержки USB USB_USBTask().
- Parameters:
 - 
  
    | [in,out] | HIDInterfaceInfo | указатель на структуру, содержащую конфигурацию и состояние хоста HID Class.  |