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. |