Data Structures | 
| struct   | USB_ClassInfo_SI_Host_t | 
|   | Структура конфигурации и состояния режима хоста Still Image Class.  More...
  | 
Defines | 
| #define  | SI_ERROR_LOGICAL_CMD_FAILED   0x80 | 
Enumerations | 
| enum   | SI_Host_EnumerationFailure_ErrorCodes_t {  
  SI_ENUMERROR_NoError =  0, 
 
  SI_ENUMERROR_InvalidConfigDescriptor =  1, 
 
  SI_ENUMERROR_NoCompatibleInterfaceFound =  2
 
 } | 
Functions | 
| uint8_t  | SI_Host_ConfigurePipes (USB_ClassInfo_SI_Host_t *const SIInterfaceInfo, uint16_t ConfigDescriptorSize, void *ConfigDescriptorData) ATTR_NON_NULL_PTR_ARG(1) ATTR_NON_NULL_PTR_ARG(3) | 
| uint8_t  | SI_Host_OpenSession (USB_ClassInfo_SI_Host_t *const SIInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1) | 
| uint8_t  | SI_Host_CloseSession (USB_ClassInfo_SI_Host_t *const SIInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1) | 
| uint8_t  | SI_Host_SendBlockHeader (USB_ClassInfo_SI_Host_t *const SIInterfaceInfo, PIMA_Container_t *const PIMAHeader) ATTR_NON_NULL_PTR_ARG(1) ATTR_NON_NULL_PTR_ARG(2) | 
| uint8_t  | SI_Host_ReceiveBlockHeader (USB_ClassInfo_SI_Host_t *const SIInterfaceInfo, PIMA_Container_t *const PIMAHeader) ATTR_NON_NULL_PTR_ARG(1) ATTR_NON_NULL_PTR_ARG(2) | 
| uint8_t  | SI_Host_SendCommand (USB_ClassInfo_SI_Host_t *const SIInterfaceInfo, const uint16_t Operation, const uint8_t TotalParams, uint32_t *const Params) ATTR_NON_NULL_PTR_ARG(1) | 
| uint8_t  | SI_Host_ReceiveResponse (USB_ClassInfo_SI_Host_t *const SIInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1) | 
| bool  | SI_Host_IsEventReceived (USB_ClassInfo_SI_Host_t *const SIInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1) | 
| uint8_t  | SI_Host_ReceiveEventHeader (USB_ClassInfo_SI_Host_t *const SIInterfaceInfo, PIMA_Container_t *const PIMAHeader) ATTR_NON_NULL_PTR_ARG(1) ATTR_NON_NULL_PTR_ARG(2) | 
| uint8_t  | SI_Host_SendData (USB_ClassInfo_SI_Host_t *const SIInterfaceInfo, void *Buffer, const uint16_t Bytes) ATTR_NON_NULL_PTR_ARG(1) ATTR_NON_NULL_PTR_ARG(2) | 
| uint8_t  | SI_Host_ReadData (USB_ClassInfo_SI_Host_t *const SIInterfaceInfo, void *Buffer, const uint16_t Bytes) ATTR_NON_NULL_PTR_ARG(1) ATTR_NON_NULL_PTR_ARG(2) | 
| static void  | SI_Host_USBTask (USB_ClassInfo_SI_Host_t *const SIInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1) | 
Detailed Description
зависимости для исходного кода модуля
Следующие файлы должны быть скомпилированы с любым проектом, который использует этот модуль:
- LUFA/Drivers/USB/Class/Host/StillImage.c (Имя модуля исходного кода для makefile: LUFA_SRC_USBCLASS)
 
модуля
Фреймворк-интерфейс для драйвера режима хоста USB Still Image Class. 
Define Documentation
      
        
          | #define SI_ERROR_LOGICAL_CMD_FAILED   0x80 | 
        
      
 
Код ошибки для некоторых функций хоста Still Image, показывающий логическую (и не аппаратную) ошибку. 
 
 
Enumeration Type Documentation
Перечисление для возможных кодов ошибки, возвращаемых функцией SI_Host_ConfigurePipes(). 
- Enumerator: 
 
| SI_ENUMERROR_NoError  | 
 дескриптор конфигурации обработан успешно.  
 | 
| SI_ENUMERROR_InvalidConfigDescriptor  | 
 устройство возвратило неверный дескриптор конфигурации.  
 | 
| SI_ENUMERROR_NoCompatibleInterfaceFound  | 
 в дескрипторе конфигурации устройства не найден совместимый интерфейс Still Image.  
 | 
 
 
 
Function Documentation
Закрывает ранее открытую сессию PIMA с подключенным устройством. Должна вызываться после того, как все ориентированные на сессию команды PIMA уже отправлены в устройство.
- Precondition:
 - Эта функция должна быть вызвана только когда машина состояния хоста находится в состоянии HOST_STATE_Configured, либо вызов функции потерпит неудачу.
 
- Parameters:
 - 
  
    | [in,out] | SIInterfaceInfo | указатель на структуру, содержащую конфигурацию и состояние Still Image Class. | 
  
   
- Returns:
 - Значение из перечисления Pipe_Stream_RW_ErrorCodes_t или SI_ERROR_LOGICAL_CMD_FAILED, если устройство вернуло логическую ошибку команды. 
 
 
 
      
        
          | uint8_t SI_Host_ConfigurePipes  | 
          ( | 
          USB_ClassInfo_SI_Host_t *const  | 
          SIInterfaceInfo,  | 
        
        
           | 
           | 
          uint16_t  | 
          ConfigDescriptorSize,  | 
        
        
           | 
           | 
          void *  | 
          ConfigDescriptorData  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Подпрограмма конфигурирования интерфейса хоста, для конфигурирования указанного экземпляра интерфейса хоста Still Image с использованием дескриптора конфигурации, прочитанного от подключенного устройства USB. Эта функция автоматически обновляет переменные состояния экземпляра интерфейса хоста Still Image и конфигурирует каналы, необходимые для соединения с интерфейсом, если он найден на устройстве. Должна быть вызвана один раз после энумерации стеком подключенного устройства, когда машина хоста перейдет в состояние Addressed (адресовано).
- Note:
 - Индексы канала, как дано в структуре конфигурации интерфейса, не должны наложиться ни с каким другим интерфейсом, или произойдет повреждение банка канала. Разрывы в выделенных числах канала или непоследовательных индексах в пределах единственного интерфейса позволены, но никакие два интерфейса любого типа не могут чередовать индексы канала.
 
- Parameters:
 - 
  
    | [in,out] | SIInterfaceInfo | указатель на структуру, содержащую конфигурацию и состояние Still Image Class.  | 
    | [in] | ConfigDescriptorSize | длина дескриптора конфигурации подключенного устройства.  | 
    | [in] | ConfigDescriptorData | указатель на буфер, содержащий дескриптор конфигурации подключенного устройства. | 
  
   
- Returns:
 - значение из перечисления SI_Host_EnumerationFailure_ErrorCodes_t. 
 
 
 
Показывает, выдало ли устройство хосту блок события PIMA через асинхронный канал событий.
- Precondition:
 - Эта функция должна быть вызвана только когда машина состояния хоста находится в состоянии HOST_STATE_Configured, либо вызов функции потерпит неудачу.
 
- Parameters:
 - 
  
    | [in,out] | SIInterfaceInfo | указатель на структуру, содержащую конфигурацию и состояние Still Image Class. | 
  
   
- Returns:
 - двоичное true, если событие ожидает чтения, иначе false. 
 
 
 
Открывет новую сессию PIMA с подключенным устройством. Должно использоваться перед любой ориентированной на сессию командой PIMA, выдаваемой на устройство. Одновременно может быть открыта только одна сессия.
- Precondition:
 - Эта функция должна быть вызвана только когда машина состояния хоста находится в состоянии HOST_STATE_Configured, либо вызов функции потерпит неудачу.
 
- Parameters:
 - 
  
    | [in,out] | SIInterfaceInfo | указатель на структуру, содержащую конфигурацию и состояние Still Image Class. | 
  
   
- Returns:
 - Значение из перечисления Pipe_Stream_RW_ErrorCodes_t или SI_ERROR_LOGICAL_CMD_FAILED, если устройство вернуло логическую ошибку команды. 
 
 
 
Принимает произвольные данные от подключенного устройства, для использования в фазе данных команд PIMA, которые требуют передачу данных вне обычных параметров блока команды PIMA.
- Precondition:
 - Эта функция должна быть вызвана только когда машина состояния хоста находится в состоянии HOST_STATE_Configured, либо вызов функции потерпит неудачу.
 
- Parameters:
 - 
  
    | [in,out] | SIInterfaceInfo | указатель на структуру, содержащую конфигурацию и состояние Still Image Class.  | 
    | [out] | Buffer | указатель на буфер, где сохраняются принимаемые данные.  | 
    | [in] | Bytes | длина в байтах данных для чтения. | 
  
   
- Returns:
 - значение из перечисления Pipe_Stream_RW_ErrorCodes_t. 
 
 
 
Принимает от устройства сырые данные заголовка блока PIMA. Это может использоваться для приема от устройства произвольных блоков PIMA с параметрами или без параметров.
- Precondition:
 - Эта функция должна быть вызвана только когда машина состояния хоста находится в состоянии HOST_STATE_Configured, либо вызов функции потерпит неудачу.
 
- Parameters:
 - 
  
    | [in,out] | SIInterfaceInfo | указатель на структуру, содержащую конфигурацию и состояние Still Image Class.  | 
    | [out] | PIMAHeader | указатель на структуру контейнера PIMA, где сохраняется принимаемый блок. | 
  
   
- Returns:
 - значение из перечисления Pipe_Stream_RW_ErrorCodes_t. 
 
 
 
Принимает от устройства блок асинхронного события через канал асинхронных событий.
- Precondition:
 - Эта функция должна быть вызвана только когда машина состояния хоста находится в состоянии HOST_STATE_Configured, либо вызов функции потерпит неудачу.
 
- Parameters:
 - 
  
    | [in,out] | SIInterfaceInfo | указатель на структуру, содержащую конфигурацию и состояние Still Image Class.  | 
    | [out] | PIMAHeader | указатель на структуру контейнера PIMA, где должно быть сохранено событие. | 
  
   
- Returns:
 - Значение из перечисления Pipe_Stream_RW_ErrorCodes_t или SI_ERROR_LOGICAL_CMD_FAILED, если устройство вернуло логическую ошибку команды. 
 
 
 
Принимает и проверяет блок ответа от подключенного устройства Still Image, как только команда выдана и все данные, связанные с командой, переданы.
- Precondition:
 - Эта функция должна быть вызвана только когда машина состояния хоста находится в состоянии HOST_STATE_Configured, либо вызов функции потерпит неудачу.
 
- Parameters:
 - 
  
    | [in,out] | SIInterfaceInfo | указатель на структуру, содержащую конфигурацию и состояние Still Image Class. | 
  
   
- Returns:
 - Значение из перечисления Pipe_Stream_RW_ErrorCodes_t или SI_ERROR_LOGICAL_CMD_FAILED, если устройство вернуло логическую ошибку команды. 
 
 
 
Оправляет в устройство сырые данные заголовка блока PIMA, автоматически заполняя ID транзакции. Это можно использовать доя отправки устройству произвольных блоков PIMA с параметрами или без параметров.
- Precondition:
 - Эта функция должна быть вызвана только когда машина состояния хоста находится в состоянии HOST_STATE_Configured, либо вызов функции потерпит неудачу.
 
- Parameters:
 - 
  
    | [in,out] | SIInterfaceInfo | указатель на структуру, содержащую конфигурацию и состояние Still Image Class.  | 
    | [in] | PIMAHeader | указатель на структуру контейнера PIMA для отправки. | 
  
   
- Returns:
 - значение из перечисления Pipe_Stream_RW_ErrorCodes_t. 
 
 
 
      
        
          | uint8_t SI_Host_SendCommand  | 
          ( | 
          USB_ClassInfo_SI_Host_t *const  | 
          SIInterfaceInfo,  | 
        
        
           | 
           | 
          const uint16_t  | 
          Operation,  | 
        
        
           | 
           | 
          const uint8_t  | 
          TotalParams,  | 
        
        
           | 
           | 
          uint32_t *const  | 
          Params  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Отправляет указанную команду PIMA в подключенное устройства, автоматически заполняя ID транзакции заголовка PIMA.
- Precondition:
 - Эта функция должна быть вызвана только когда машина состояния хоста находится в состоянии HOST_STATE_Configured, либо вызов функции потерпит неудачу.
 
- Parameters:
 - 
  
    | [in,out] | SIInterfaceInfo | указатель на структуру, содержащую конфигурацию и состояние Still Image Class.  | 
    | [in] | Operation | код операции PIMA для выдачи в устройство.  | 
    | [in] | TotalParams | Total number of 32-bit parameters to send to the device in the issued command block.  | 
    | [in] | Params | Pointer to an array of 32-bit values containing the parameters to send in the command block. | 
  
   
- Returns:
 - Значение из перечисления Pipe_Stream_RW_ErrorCodes_t или SI_ERROR_LOGICAL_CMD_FAILED, если устройство вернуло логическую ошибку команды. 
 
 
 
Отправляет произвольные данные в подключенное устройство, для использования в фазе данных команд PIMA, которые требуют передачи данных вне обычных параметров блока команды PIMA.
- Precondition:
 - Эта функция должна быть вызвана только когда машина состояния хоста находится в состоянии HOST_STATE_Configured, либо вызов функции потерпит неудачу.
 
- Parameters:
 - 
  
    | [in,out] | SIInterfaceInfo | указатель на структуру, содержащую конфигурацию и состояние Still Image Class.  | 
    | [in] | Buffer | указатель на буфер, где сохранены отправляемые данные.  | 
    | [in] | Bytes | длина в байтах данных в буфере, отправляемых на подключенное устройство. | 
  
   
- Returns:
 - значение из перечисления Pipe_Stream_RW_ErrorCodes_t. 
 
 
 
Главная задача обработки для указанного интерфейса хоста класса Still Image, необходимая для корректной работы интерфейса. Должна часто вызываться из основного цикла программы, перед главной задачей поддержки USB USB_USBTask().
- Parameters:
 - 
  
    | [in,out] | SIInterfaceInfo | указатель на структуру, содержащую конфигурацию и состояние Still Image Class.  |