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

Configuration data for PWM audio output. More...

#include <PWMDriverBase.h>

Inheritance diagram for PWMConfig:
AudioInfo

Public Member Functions

 PWMConfig ()
 
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.
 
void logConfig ()
 
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

uint8_t bits_per_sample = DEFAULT_BITS_PER_SAMPLE
 Number of bits per sample (int16_t = 16 bits)
 
uint16_t buffer_size = PWM_BUFFER_SIZE
 size of an inidividual buffer
 
uint8_t buffers = PWM_BUFFER_COUNT
 number of buffers
 
uint16_t channels = DEFAULT_CHANNELS
 Number of channels: 2=stereo, 1=mono.
 
uint16_t dead_time_us = 0
 Dead time in microseconds for symmetric PWM (ESP32 only)
 
uint32_t max_sample_rate = PWM_MAX_SAMPLE_RATE
 max sample sample rate that still produces good audio
 
uint32_t pwm_frequency = 0
 additinal info which might not be used by all processors
 
uint8_t resolution = 8
 Only used by ESP32: must be between 8 and 11 -> drives pwm frequency // 20,000Hz (not used by ESP32)
 
sample_rate_t sample_rate = DEFAULT_SAMPLE_RATE
 Sample Rate: e.g 44100.
 
uint8_t timer_id = 0
 Timer used: Only used by ESP32 must be between 0 and 3

 

Protected Attributes

Pins pins_data
 

Detailed Description

Configuration data for PWM audio output.

Author
Phil Schatzmann

Constructor & Destructor Documentation

◆ PWMConfig()

PWMConfig ( )
inline

Member Function Documentation

◆ 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.

◆ logConfig()

void logConfig ( )
inline

◆ 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

◆ bits_per_sample

uint8_t bits_per_sample = DEFAULT_BITS_PER_SAMPLE
inherited

Number of bits per sample (int16_t = 16 bits)

◆ buffer_size

uint16_t buffer_size = PWM_BUFFER_SIZE

size of an inidividual buffer

◆ buffers

number of buffers

◆ channels

uint16_t channels = DEFAULT_CHANNELS
inherited

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

◆ dead_time_us

uint16_t dead_time_us = 0

Dead time in microseconds for symmetric PWM (ESP32 only)

◆ max_sample_rate

uint32_t max_sample_rate = PWM_MAX_SAMPLE_RATE

max sample sample rate that still produces good audio

◆ pins_data

Pins pins_data
protected

◆ pwm_frequency

uint32_t pwm_frequency = 0

additinal info which might not be used by all processors

◆ resolution

uint8_t resolution = 8

Only used by ESP32: must be between 8 and 11 -> drives pwm frequency // 20,000Hz (not used by ESP32)

◆ sample_rate

sample_rate_t sample_rate = DEFAULT_SAMPLE_RATE
inherited

Sample Rate: e.g 44100.

◆ timer_id

uint8_t timer_id = 0

Timer used: Only used by ESP32 must be between 0 and 3


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