Библиотека LUFA (раннее название MyUSB) версия 101122
Драйвер режима USB-устройства Audio Class

Data Structures

struct  USB_ClassInfo_Audio_Device_t
 Структура конфигурации и состояния режима USB-устройства Audio Class. More...

Functions

bool Audio_Device_ConfigureEndpoints (USB_ClassInfo_Audio_Device_t *const AudioInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1)
void Audio_Device_ProcessControlRequest (USB_ClassInfo_Audio_Device_t *const AudioInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1)
static void Audio_Device_USBTask (USB_ClassInfo_Audio_Device_t *const AudioInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1) ATTR_ALWAYS_INLINE
static bool Audio_Device_IsSampleReceived (USB_ClassInfo_Audio_Device_t *const AudioInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1) ATTR_ALWAYS_INLINE
static bool Audio_Device_IsReadyForNextSample (USB_ClassInfo_Audio_Device_t *const AudioInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1) ATTR_ALWAYS_INLINE
static int8_t Audio_Device_ReadSample8 (USB_ClassInfo_Audio_Device_t *const AudioInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1) ATTR_ALWAYS_INLINE
static int16_t Audio_Device_ReadSample16 (USB_ClassInfo_Audio_Device_t *const AudioInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1) ATTR_ALWAYS_INLINE
static int32_t Audio_Device_ReadSample24 (USB_ClassInfo_Audio_Device_t *const AudioInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1) ATTR_ALWAYS_INLINE
static void Audio_Device_WriteSample8 (USB_ClassInfo_Audio_Device_t *const AudioInterfaceInfo, const int8_t Sample) ATTR_NON_NULL_PTR_ARG(1) ATTR_ALWAYS_INLINE
static void Audio_Device_WriteSample16 (USB_ClassInfo_Audio_Device_t *const AudioInterfaceInfo, const int16_t Sample) ATTR_NON_NULL_PTR_ARG(1) ATTR_ALWAYS_INLINE
static void Audio_Device_WriteSample24 (USB_ClassInfo_Audio_Device_t *const AudioInterfaceInfo, const int32_t Sample) ATTR_NON_NULL_PTR_ARG(1) ATTR_ALWAYS_INLINE

Detailed Description

зависимости для исходного кода модуля

Следующие файлы должны быть скомпилированы с любым проектом, который использует этот модуль:

модуля

Рабочий интерфейс драйвера режима USB-устройства, для драйвера Audio 1.0 USB Class.


Function Documentation

bool Audio_Device_ConfigureEndpoints ( USB_ClassInfo_Audio_Device_t *const  AudioInterfaceInfo)

Конфигурирует конечные точки указанного аудиоинтерфейса, чтобы оно было готово к использованию. Это должно быть слинковано с событием EVENT_USB_Device_ConfigurationChanged() библиотеки, чтобы эти конечные точки были сконфигурированы, когда выбрана конфигурация, содержащая указанный аудиоинтерфейс.

Note:
Индексные номера конечной точки, как указано в структуре конфигурации интерфейса, не должны наложиться ни с каким другим интерфейсом, иначе произойдет повреждение банка конечной точки. Разрывы в номерах конечных точек или непоследовательные индексы в пределах единственного интерфейса допустимы, но никакие два интерфейса любого типа не должны иметь чередования индексов конечной точки.
Parameters:
[in,out]AudioInterfaceInfoуказатель на структуру, содержащую конфигурацию и сосотояние Audio Class.
Returns:
двоичное true, если конечные точки успешно сконфигурированы, иначе false.
static bool Audio_Device_IsReadyForNextSample ( USB_ClassInfo_Audio_Device_t *const  AudioInterfaceInfo) [inline, static]

Определяет, готов ли указанный аудиоинтерфейс принять следующую выборку для записи, и выбирает потоковую конечную точку IN готовой к записи.

Precondition:
Эта функция должна быть вызвана только когда машина состояния устройства находится в состоянии DEVICE_STATE_Configured, иначе вызов будет ошибочен.
Parameters:
[in,out]AudioInterfaceInfoуказатель на структуру, содержащую конфигурацию и сосотояние Audio Class.
Returns:
двоичное true, если указанный аудиоинтерфейс готов принять следующую выборку, иначе false.
static bool Audio_Device_IsSampleReceived ( USB_ClassInfo_Audio_Device_t *const  AudioInterfaceInfo) [inline, static]

Определяет, готов ли указанный аудиоинтерфейс для чтения из него выборки, и выбирает потоковую конечную точку OUT готовой к чтению.

Precondition:
Эта функция должна быть вызвана только когда машина состояния устройства находится в состоянии DEVICE_STATE_Configured, иначе вызов будет ошибочен.
Parameters:
[in,out]AudioInterfaceInfoуказатель на структуру, содержащую конфигурацию и сосотояние Audio Class.
Returns:
двоичное true, если указанный аудиоинтерфейс имеет выборку для чтения, иначе false.
void Audio_Device_ProcessControlRequest ( USB_ClassInfo_Audio_Device_t *const  AudioInterfaceInfo)

Обработка приходящих запросов управления от хоста, направленых в указанный интерфейс Audio class. Это должно быть слинковано с событием EVENT_USB_Device_ControlRequest() библиотеки.

Parameters:
[in,out]AudioInterfaceInfoуказатель на структуру, содержащую конфигурацию и сосотояние Audio Class.
static int16_t Audio_Device_ReadSample16 ( USB_ClassInfo_Audio_Device_t *const  AudioInterfaceInfo) [inline, static]

Чтение следующей 16-битной выборки звука из текущего аудиоинтерфейса.

Precondition:
Этому должен сразу предшествовать вызов функции Audio_Device_IsSampleReceived(), чтобы убедиться, что выбрана корректная конечная точка, и данные готовы.
Parameters:
[in,out]AudioInterfaceInfoуказатель на структуру, содержащую конфигурацию и сосотояние Audio Class.
Returns:
16-битная выборка звука (число со знаком) из аудиоинтерфейса.
static int32_t Audio_Device_ReadSample24 ( USB_ClassInfo_Audio_Device_t *const  AudioInterfaceInfo) [inline, static]

Чтение следующей 24-битной выборки звука из текущего аудиоинтерфейса.

Precondition:
Этому должен сразу предшествовать вызов функции Audio_Device_IsSampleReceived(), чтобы убедиться, что выбрана корректная конечная точка, и данные готовы.
Parameters:
[in,out]AudioInterfaceInfoуказатель на структуру, содержащую конфигурацию и сосотояние Audio Class.
Returns:
24-битная выборка звука (число со знаком) из аудиоинтерфейса.
static int8_t Audio_Device_ReadSample8 ( USB_ClassInfo_Audio_Device_t *const  AudioInterfaceInfo) [inline, static]

Чтение следующей 8-битной выборки звука из текущего аудиоинтерфейса.

Precondition:
Этому должен сразу предшествовать вызов функции Audio_Device_IsSampleReceived(), чтобы убедиться, что выбрана корректная конечная точка, и данные готовы.
Parameters:
[in,out]AudioInterfaceInfoуказатель на структуру, содержащую конфигурацию и сосотояние Audio Class.
Returns:
8-битная выборка звука (число со знаком) из аудиоинтерфейса.
static void Audio_Device_USBTask ( USB_ClassInfo_Audio_Device_t *const  AudioInterfaceInfo) [inline, static]

Основная задача поддержки указанного интерфейса Audio class, необходимая для корректной работы интерфейса. Должна часто вызываться в главном цикле программы, перед главной задачей поддержки USB USB_USBTask().

Parameters:
[in,out]AudioInterfaceInfoуказатель на структуру, содержащую конфигурацию и сосотояние Audio Class.
static void Audio_Device_WriteSample16 ( USB_ClassInfo_Audio_Device_t *const  AudioInterfaceInfo,
const int16_t  Sample 
) [inline, static]

Запись следующей 16-битной выборки звука в текущий аудиоинтерфейс.

Precondition:
Этому должен сразу предшествовать вызов функции Audio_Device_IsReadyForNextSample(), чтобы убедиться, что выбрана корректная конечная точка, и она готова для данных.
Parameters:
[in,out]AudioInterfaceInfoуказатель на структуру, содержащую конфигурацию и сосотояние Audio Class.
[in]Sample16-битная со знаком выборка звука.
static void Audio_Device_WriteSample24 ( USB_ClassInfo_Audio_Device_t *const  AudioInterfaceInfo,
const int32_t  Sample 
) [inline, static]

Запись следующей 24-битной выборки звука в текущий аудиоинтерфейс.

Precondition:
Этому должен сразу предшествовать вызов функции Audio_Device_IsReadyForNextSample(), чтобы убедиться, что выбрана корректная конечная точка, и она готова для данных.
Parameters:
[in,out]AudioInterfaceInfoуказатель на структуру, содержащую конфигурацию и сосотояние Audio Class.
[in]Sample24-битная со знаком выборка звука.
static void Audio_Device_WriteSample8 ( USB_ClassInfo_Audio_Device_t *const  AudioInterfaceInfo,
const int8_t  Sample 
) [inline, static]

Запись следующей 8-битной выборки звука в текущий аудиоинтерфейс.

Precondition:
Этому должен сразу предшествовать вызов функции Audio_Device_IsReadyForNextSample(), чтобы убедиться, что выбрана корректная конечная точка, и она готова для данных.
Parameters:
[in,out]AudioInterfaceInfoуказатель на структуру, содержащую конфигурацию и сосотояние Audio Class.
[in]Sample8-битная со знаком выборка звука.
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines