Detailed Description
зависимости для исходного кода модуля
Следующие файлы должны быть скомпилированы с любым проектом, который использует этот модуль:
- LUFA/Drivers/USB/Class/Device/MIDI.c (Имя модуля исходного кода для makefile: LUFA_SRC_USBCLASS)
 
модуля
Фреймворк драйвера режима USB-устройства для драйвера MIDI USB Class. 
Function Documentation
Конфигурирует конечные точки на указанном интерфейсе MIDI готовыми для использования. Должно быть слинковано с событием EVENT_USB_Device_ConfigurationChanged() библиотеки, чтобы при выборе конфигурации, содержащей указанный интерфейс MIDI, конфигурировались соответствующие ему конечные точки.
- Note:
 - Индексные номера конечной точки, как указано в структуре конфигурации интерфейса, не должны наложиться ни с каким другим интерфейсом, иначе произойдет повреждение банка конечной точки. Разрывы в номерах конечных точек или непоследовательные индексы в пределах единственного интерфейса допустимы, но никакие два интерфейса любого типа не должны иметь чередования индексов конечной точки.
 
- Parameters:
 - 
  
    | [in,out] | MIDIInterfaceInfo | указатель на структуру, содержащую конфигурацию и состояние MIDI Class. | 
  
   
- Returns:
 - двоичное true, если конечные точки успешно сконфигурированы, иначе false. 
 
 
 
Сбрасывает буфер отправки MIDI, что вызывает отправку хосту поставленных в очередь событий MIDI. Должна вызвываться для отмены пакующего поведения функции MIDI_Device_SendEventPacket(), чтобы слить события из очереди.
- Parameters:
 - 
  
    | [in,out] | MIDIInterfaceInfo | указатель на структуру, содержащую конфигурацию и состояние MIDI Class. | 
  
   
- Returns:
 - значение из перечисления Endpoint_WaitUntilReady_ErrorCodes_t. 
 
 
 
Обрабатывает приходящие от хоста запросы управления, которые направлены на указанный интерфейс MIDI class. Это должно быть слинковано с событием EVENT_USB_Device_ControlRequest() библиотеки.
- Parameters:
 - 
  
    | [in,out] | MIDIInterfaceInfo | указатель на структуру, содержащую конфигурацию и состояние MIDI Class.  | 
  
   
 
 
Принимает от хоста пакет события MIDI. События распаковываются из конечной точки, поэтому если банк конечной точки содержит несоклько событий MIDI от хоста в одном пакете, несколько вызовов этой функции возвратят индивидуальное событие на каждый вызов.
- Precondition:
 - Эта функция должна быть вызвана только когда машина состояния хоста находится в состоянии HOST_STATE_Configured, либо вызов функции потерпит неудачу.
 
- Parameters:
 - 
  
    | [in,out] | MIDIInterfaceInfo | указатель на структуру, содержащую конфигурацию и состояние MIDI Class.  | 
    | [out] | Event | указатель на стуруктуру USB_MIDI_EventPacket_t, куда помещается принятое событие MIDI. | 
  
   
- Returns:
 - двоичное true, если принят пакет события MIDI, иначе false. 
 
 
 
Посылает хосту пакет события MIDI. Если нет подключенного хоста, то пакет события игнорируется. События ставятся в очередь в банке конечной точки либо пока банк не переполнится, либо до вызова MIDI_Device_Flush(). Это позволяет нескольким событиям MIDI быть упакованными в один пакет конечной точки, что повышает пропускную способность данных.
- Precondition:
 - Эта функция должна быть вызвана только когда машина состояния хоста находится в состоянии HOST_STATE_Configured, либо вызов функции потерпит неудачу.
 
- Parameters:
 - 
  
    | [in,out] | MIDIInterfaceInfo | указатель на структуру, содержащую конфигурацию и состояние MIDI Class.  | 
    | [in] | Event | указатель на заполненную структуру MIDI_EventPacket_t, содержащую событие MIDI для отправки. | 
  
   
- Returns:
 - значение из перечисления Endpoint_Stream_RW_ErrorCodes_t. 
 
 
 
Главная задача для поддержки указанного интерфейса класса MIDI, необходимая для корректной работы этого интерфейса. Должна часто вызываться в главном цикле программы, перед главной задачей поддержки USB USB_USBTask().
- Parameters:
 - 
  
    | [in,out] | MIDIInterfaceInfo | указатель на структуру, содержащую конфигурацию и состояние MIDI Class.  |