...
The audio class provides several structures that can be used to build an audio function topology. These structures relate to units, terminals and streams. They will be declared and initialized in usbd_audio_dev_cfg.h
and usbd_audio_dev_cfg.c
files. Table - User Configurable Structures for Creating Audio Function Topology presents all configurable structures and the associated function that will use the structure. Functions are described in Class Instance Configuration section.
Panel | |||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||
|
...
- Two Inputs terminals
- Two Ouput terminals
- Two Feature units
- Two AudioStreaming interfaces
Figure - usbd_audio_dev_cfg.c - Typical Topologies Example gives a visual representation of the possible topologies that can be built with the 6 terminals and units.
...
Info |
---|
All terminals must have a unique ID within a given audio function. The terminals ID assignment is handled by the audio class using the functions |
Input Terminal
Table - USBD_AUDIO_IT_CFG Structure Fields Description presents the Input terminal structure. Refer to audio 1.0 specification, section "4.3.2.1 Input Terminal Descriptor" for more details about certain fields.
...
Panel | ||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||
|
Output Terminal
Table - USBD_AUDIO_OT_CFG Structure Fields Description presents the Output terminal structure. Refer to audio 1.0 specification, section "4.3.2.2 Output Terminal Descriptor" for more details about certain fields.
...
Info |
---|
All units must have a unique ID within a given audio function. The units ID assignment is handled by the audio class using the functions |
Feature Unit
Table - USBD_AUDIO_FU_CFG Structure Fields Description presents the Feature Unit structure. Refer to audio 1.0 specification, section "4.3.2.5 Feature Unit Descriptor" for more details about certain fields.
...
Info |
---|
A Mixer Unit can have programmable and non-programmable mixing controls. If you need to set some programmable mixing controls, you need to use the function |
Selector Unit
Table - USBD_AUDIO_SU_CFG Structure Fields Description 106037317 presents the Selector Unit structure. Refer to audio 1.0 specification, section "4.3.2.4 Selector Unit Descriptor" for more details about certain fields.
...
General Stream Configuration
Table - USBD_AUDIO_STREAM_CFG Structure Fields Description presents the general stream configuration structure.
...
Panel | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||
|
AudioStreaming Interface
Table - USBD_AUDIO_AS_ALT_CFG Structure Fields Description 106037317 presents the AudioStreaming interface configuration structure. Each AudioStreaming interface has one unique associated isochronous endpoint. Hence, there is a one-to-one relation between an AudioStreaming interface and its associated endpoint.
...
Code Block | ||||
---|---|---|---|---|
| ||||
CPU_INT32U AS_SamFreqTbl[] = { USBD_AUDIO_FMT_TYPE_I_SAMFREQ_44_1KHZ, USBD_AUDIO_FMT_TYPE_I_SAMFREQ_48KHZ }; |
...
Panel | |||||||||
---|---|---|---|---|---|---|---|---|---|
| |||||||||
|
...