Библиотека LUFA (раннее название MyUSB) версия 101122
|
Data Structures | |
struct | USB_ClassInfo_MIDI_Host_t |
MIDI Class Host Mode Configuration and State Structure. More... | |
Enumerations | |
enum | MIDI_Host_EnumerationFailure_ErrorCodes_t { MIDI_ENUMERROR_NoError = 0, MIDI_ENUMERROR_InvalidConfigDescriptor = 1, MIDI_ENUMERROR_NoCompatibleInterfaceFound = 2 } |
Functions | |
uint8_t | MIDI_Host_ConfigurePipes (USB_ClassInfo_MIDI_Host_t *const MIDIInterfaceInfo, uint16_t ConfigDescriptorSize, void *DeviceConfigDescriptor) ATTR_NON_NULL_PTR_ARG(1) ATTR_NON_NULL_PTR_ARG(3) |
void | MIDI_Host_USBTask (USB_ClassInfo_MIDI_Host_t *const MIDIInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1) |
uint8_t | MIDI_Host_SendEventPacket (USB_ClassInfo_MIDI_Host_t *const MIDIInterfaceInfo, MIDI_EventPacket_t *const Event) ATTR_NON_NULL_PTR_ARG(1) ATTR_NON_NULL_PTR_ARG(2) |
uint8_t | MIDI_Host_Flush (USB_ClassInfo_MIDI_Host_t *const MIDIInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1) |
bool | MIDI_Host_ReceiveEventPacket (USB_ClassInfo_MIDI_Host_t *const MIDIInterfaceInfo, MIDI_EventPacket_t *const Event) ATTR_NON_NULL_PTR_ARG(1) ATTR_NON_NULL_PTR_ARG(2) |
Следующие файлы должны быть скомпилированы с любым проектом, который использует этот модуль:
Фреймворк-интерфейс драйвера режима хоста для MIDI USB Class.
Перечисление для возможных кодов ошибки, возвращаемых функцией MIDI_Host_ConfigurePipes().
uint8_t MIDI_Host_ConfigurePipes | ( | USB_ClassInfo_MIDI_Host_t *const | MIDIInterfaceInfo, |
uint16_t | ConfigDescriptorSize, | ||
void * | DeviceConfigDescriptor | ||
) |
Подпрограмма конфигурирования интерфейса хоста, для конфигурирования указанного экземпляра интерфейса хоста MIDI с использованием дескриптора конфигурации, прочитанного от подключенного устройства USB. Эта функция автоматически обновляет переменные состояния экземпляра хоста MIDI и конфигурирует каналы, необходимые для соединения с интерфейсом, если он найден на устройстве. Должна быть вызвана один раз после энумерации стеком подключенного устройства, пока машина состояния хоста находится в состоянии Addressed (адресовано).
[in,out] | MIDIInterfaceInfo | указатель на структуру, содержащую конфигурацию и состояние MIDI Class. |
[in] | ConfigDescriptorSize | длина дескриптора конфигурации подключенного устройства. |
[in] | DeviceConfigDescriptor | указатель на буфер, содержащий дескриптор конфигурации подключенного устройства. |
uint8_t MIDI_Host_Flush | ( | USB_ClassInfo_MIDI_Host_t *const | MIDIInterfaceInfo | ) |
Сбрасывает буфер отправки MIDI, что вызывает отправку на устройство всех поставленных в очередь событий MIDI. Должна быть вызвана для отмены пакующего поведения функции MIDI_Host_SendEventPacket(), для сброса событий в очереди. События ставятся в очередь в банк канала, пока этот банк не переполнится, или не будет вызвана функция MIDI_Host_Flush(). Это позволяет нескольким событиям MIDI быть упакованными в один пакет канала, что увеличивает пропускную способность для данных.
[in,out] | MIDIInterfaceInfo | указатель на структуру, содержащую конфигурацию и состояние MIDI Class. |
bool MIDI_Host_ReceiveEventPacket | ( | USB_ClassInfo_MIDI_Host_t *const | MIDIInterfaceInfo, |
MIDI_EventPacket_t *const | Event | ||
) |
Принимает пакет события MIDI из устройства.
[in,out] | MIDIInterfaceInfo | указатель на структуру, содержащую конфигурацию и состояние MIDI Class. |
[out] | Event | указатель на стуруктуру USB_MIDI_EventPacket_t, куда помещается принятое событие MIDI. |
uint8_t MIDI_Host_SendEventPacket | ( | USB_ClassInfo_MIDI_Host_t *const | MIDIInterfaceInfo, |
MIDI_EventPacket_t *const | Event | ||
) |
Отправляет пакет события MIDI на устройство. Если устройство не подключено, пакет события игнорируется.
[in,out] | MIDIInterfaceInfo | указатель на структуру, содержащую конфигурацию и состояние MIDI Class. |
[in] | Event | указатель на заполненную структуру USB_MIDI_EventPacket_t, содержащую событие MIDI для отправки. |
void MIDI_Host_USBTask | ( | USB_ClassInfo_MIDI_Host_t *const | MIDIInterfaceInfo | ) |
Главная задача обработки для указанного интерфейса хоста MIDI, необходимая для корректной работы интерфейса. Должна часто вызываться в главном цикле программы, перед главной задачей поддержки USB USB_USBTask().
[in,out] | MIDIInterfaceInfo | указатель на структуру, содержащую конфигурацию и состояние MIDI Class. |