arduino-audio-tools
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | List of all members
USBAudioConfig Struct Reference

Configuration structure for USB Audio, inheriting from AudioInfo. More...

#include <USBAudioConfig.h>

Inheritance diagram for USBAudioConfig:
AudioInfo

Public Member Functions

int audio_functions_count () const
 
virtual void clear ()
 
void copyFrom (AudioInfo info)
 Same as set.
 
bool equals (AudioInfo alt)
 Returns true if alt values are the same like the current values.
 
bool equalsExSampleRate (AudioInfo alt)
 Checks if only the sample rate is different.
 
virtual void logInfo (const char *source="")
 
 operator bool ()
 Returns true if all components are defined (no component is 0)
 
bool operator!= (AudioInfo alt)
 Returns true if alt values are the different from the current values.
 
bool operator== (AudioInfo alt)
 Returns true if alt values are the same like the current values.
 
void set (AudioInfo info)
 Copies the values from info.
 
void setAudioInfo (AudioInfo info)
 Same as set.
 

Public Attributes

int audio_count = 1
 
uint8_t bits_per_sample = DEFAULT_BITS_PER_SAMPLE
 Number of bits per sample (int16_t = 16 bits)
 
uint16_t channels = DEFAULT_CHANNELS
 Number of channels: 2=stereo, 1=mono.
 
int ctrl_buf_size_per_func = 64
 
bool enable_ep_in = true
 
bool enable_ep_in_flow_control = false
 
bool enable_ep_out = true
 
bool enable_feedback_ep = false
 
bool enable_fifo_mutex = false
 
bool enable_interrupt_ep = false
 
uint8_t entity_id_feature_unit = 2
 
uint8_t entity_id_input_terminal = 1
 
uint8_t entity_id_output_terminal = 3
 
uint8_t ep_in = 0x81
 
int ep_in_buf_size_per_func = 256
 
uint16_t ep_in_size = 256
 
uint8_t ep_out = 0x01
 
int ep_out_buf_size_per_func = 256
 
uint16_t ep_out_size = 256
 
int lin_buf_in_size_per_func = 512
 
sample_rate_t sample_rate = DEFAULT_SAMPLE_RATE
 Sample Rate: e.g 44100.
 
bool use_linear_buffer_rx = false
 
bool use_linear_buffer_tx = false
 

Detailed Description

Configuration structure for USB Audio, inheriting from AudioInfo.

This struct extends AudioInfo and adds USB-specific configuration parameters such as endpoint addresses, buffer sizes, and feature flags for USB audio streaming.

Member Function Documentation

◆ audio_functions_count()

int audio_functions_count ( ) const
inline

◆ clear()

virtual void clear ( )
inlinevirtualinherited

◆ copyFrom()

void copyFrom ( AudioInfo  info)
inlineinherited

Same as set.

◆ equals()

bool equals ( AudioInfo  alt)
inlineinherited

Returns true if alt values are the same like the current values.

◆ equalsExSampleRate()

bool equalsExSampleRate ( AudioInfo  alt)
inlineinherited

Checks if only the sample rate is different.

◆ logInfo()

virtual void logInfo ( const char source = "")
inlinevirtualinherited

Reimplemented in I2SConfigESP32, I2SConfigESP32V1, and I2SConfigStd.

◆ operator bool()

operator bool ( )
inlineinherited

Returns true if all components are defined (no component is 0)

◆ operator!=()

bool operator!= ( AudioInfo  alt)
inlineinherited

Returns true if alt values are the different from the current values.

◆ operator==()

bool operator== ( AudioInfo  alt)
inlineinherited

Returns true if alt values are the same like the current values.

◆ set()

void set ( AudioInfo  info)
inlineinherited

Copies the values from info.

◆ setAudioInfo()

void setAudioInfo ( AudioInfo  info)
inlineinherited

Same as set.

Member Data Documentation

◆ audio_count

int audio_count = 1

◆ bits_per_sample

uint8_t bits_per_sample = DEFAULT_BITS_PER_SAMPLE
inherited

Number of bits per sample (int16_t = 16 bits)

◆ channels

uint16_t channels = DEFAULT_CHANNELS
inherited

Number of channels: 2=stereo, 1=mono.

◆ ctrl_buf_size_per_func

int ctrl_buf_size_per_func = 64

◆ enable_ep_in

bool enable_ep_in = true

◆ enable_ep_in_flow_control

bool enable_ep_in_flow_control = false

◆ enable_ep_out

bool enable_ep_out = true

◆ enable_feedback_ep

bool enable_feedback_ep = false

◆ enable_fifo_mutex

bool enable_fifo_mutex = false

◆ enable_interrupt_ep

bool enable_interrupt_ep = false

◆ entity_id_feature_unit

uint8_t entity_id_feature_unit = 2

◆ entity_id_input_terminal

uint8_t entity_id_input_terminal = 1

◆ entity_id_output_terminal

uint8_t entity_id_output_terminal = 3

◆ ep_in

uint8_t ep_in = 0x81

◆ ep_in_buf_size_per_func

int ep_in_buf_size_per_func = 256

◆ ep_in_size

uint16_t ep_in_size = 256

◆ ep_out

uint8_t ep_out = 0x01

◆ ep_out_buf_size_per_func

int ep_out_buf_size_per_func = 256

◆ ep_out_size

uint16_t ep_out_size = 256

◆ lin_buf_in_size_per_func

int lin_buf_in_size_per_func = 512

◆ sample_rate

sample_rate_t sample_rate = DEFAULT_SAMPLE_RATE
inherited

Sample Rate: e.g 44100.

◆ use_linear_buffer_rx

bool use_linear_buffer_rx = false

◆ use_linear_buffer_tx

bool use_linear_buffer_tx = false

The documentation for this struct was generated from the following file: