|
arduino-audio-tools
|
USB Audio Class 2.0 descriptor generator. More...
#include <USBAudio2DescriptorBuilder.h>
Public Member Functions | |
| USBAudio2DescriptorBuilder (USBAudioConfig &cfg) | |
| int | audioFunctionsCount () const |
| const uint16_t | buildDescriptor (uint8_t, uint8_t, uint8_t *desc) |
| const uint16_t | buildFullDescriptor (uint8_t *desc) |
| const uint16_t | buildFullDescriptor (uint8_t first_itf, uint8_t *desc) |
| uint16_t | calcMaxPacketSize () const |
| uint16_t | calcPacketSizeForRate (uint32_t rate) const |
| bool | enableFeedbackEp () const |
Static Public Attributes | |
| static constexpr uint8_t | ENTITY_CLOCK = 1 |
| static constexpr uint8_t | ENTITY_FU1 = 3 |
| first Feature Unit | |
| static constexpr uint8_t | ENTITY_FU2 = 6 |
| second Feature Unit (RXTX) | |
| static constexpr uint8_t | ENTITY_IT1 = 2 |
| first Input Terminal | |
| static constexpr uint8_t | ENTITY_IT2 = 5 |
| second Input Terminal (RXTX) | |
| static constexpr uint8_t | ENTITY_OT1 = 4 |
| first Output Terminal | |
| static constexpr uint8_t | ENTITY_OT2 = 7 |
| second Output Terminal (RXTX) | |
Protected Member Functions | |
| uint32_t | channelConfig () const |
| uint8_t * | writeClockSource (uint8_t *p, uint8_t clock_id) |
| uint8_t * | writeCsAcHeader (uint8_t *p) |
| uint8_t * | writeCsAsInterface (uint8_t *p, uint8_t terminal_link) |
| uint8_t * | writeCsIsoEndpoint (uint8_t *p) |
| uint8_t * | writeFeatureUnit (uint8_t *p, uint8_t unit_id, uint8_t src_id) |
| uint8_t * | writeFeedbackEndpoint (uint8_t *p, uint8_t ep_addr) |
| uint8_t * | writeFormatType (uint8_t *p) |
| uint8_t * | writeIAD (uint8_t *p, uint8_t first_itf, uint8_t count) |
| uint8_t * | writeInputTerminal (uint8_t *p, uint8_t term_id, uint16_t term_type, uint8_t clock_id) |
| uint8_t * | writeInterruptEndpoint (uint8_t *p, uint8_t ep_addr) |
| uint8_t * | writeIsoEndpoint (uint8_t *p, uint8_t ep_addr) |
| uint8_t * | writeOutputTerminal (uint8_t *p, uint8_t term_id, uint16_t term_type, uint8_t src_id, uint8_t clock_id) |
| uint8_t * | writeStdIface (uint8_t *p, uint8_t itf, uint8_t alt, uint8_t nEps, uint8_t cls, uint8_t sub, uint8_t proto) |
Protected Attributes | |
| USBAudioConfig * | p_config |
USB Audio Class 2.0 descriptor generator.
Builds the complete audio-function descriptor block (IAD + AC interface + AS interface(s)) that must be included in the device configuration descriptor.
Descriptor layout produced by buildFullDescriptor(): IAD Standard AC Interface (0 EPs) CS AC Header (wTotalLength auto-patched) Clock Source [OUT path] Input Terminal (USB Streaming) + Feature Unit + Output Terminal (Speaker) [IN path] Input Terminal (Microphone) + Feature Unit + Output Terminal (USB Streaming) [OUT AS Interface] alt=0 (zero BW) + alt=1 (CS AS + Format + ISO EP + CS ISO EP) [IN AS Interface] alt=0 (zero BW) + alt=1 (CS AS + Format + ISO EP + CS ISO EP)
|
inlineexplicit |
|
inline |
|
inline |
|
inlineprotected |
|
inline |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
protected |