Audio output to PWM pins for the ESP32. The ESP32 supports up to 16 channels.
More...
#include <PWMAudioESP32.h>
|
PWMConfig & | audioInfo () |
|
virtual int | availableForWrite () |
|
bool | begin (PWMConfig cfg) |
|
virtual PWMConfig | defaultConfig () |
|
virtual void | end () |
|
uint32_t | framesPerSecond () |
|
bool | isTimerStarted () |
|
void | logPins () |
|
virtual void | pwmWrite (int channel, int value) |
|
void | setBuffer (BaseBuffer< uint8_t > *buffer) |
|
virtual void | setupPWM () |
| Setup LED PWM.
|
|
virtual void | setupTimer () |
| Setup ESP32 timer with callback.
|
|
virtual void | startTimer () |
|
uint32_t | underflowsPerSecond () |
|
void | updateStatistics () |
|
virtual size_t | write (const uint8_t *data, size_t len) |
|
|
virtual int | decimation () |
| Decimation factor to reduce the sample rate.
|
|
void | deleteBuffer () |
|
virtual int | effectiveOutputSampleRate () |
| Provides the effective sample rate.
|
|
float | frequency (int resolution) |
| determiens the PWM frequency based on the requested resolution
|
|
virtual bool | isDecimateActive () |
|
virtual int | maxChannels () |
|
virtual int | maxOutputValue () |
| provides the max value for the configured resulution
|
|
virtual int | maxSampleRate () |
| Provides the max working sample rate.
|
|
int | maxUnsignedValue (int resolution) |
| provides the max value for the indicated resulution
|
|
virtual int | nextValue () |
| determines the next scaled value
|
|
void | playNextFrame () |
| writes the next frame to the output pins
|
|
|
static void | pwm_callback (void *ptr) |
| timer callback: write the next frame to the pins
|
|
|
AudioInfo | actual_info |
|
PWMConfig | audio_config |
|
BaseBuffer< uint8_t > * | buffer = nullptr |
|
Decimate | decimate |
|
uint32_t | frame_count = 0 |
|
uint32_t | frame_size = 0 |
|
uint32_t | frames_per_second = 0 |
|
bool | is_blocking_write = true |
|
bool | is_timer_started = false |
|
Vector< PinInfo > | pins |
|
uint32_t | time_1_sec |
|
TimerAlarmRepeating | timer |
|
uint32_t | underflow_count = 0 |
|
uint32_t | underflow_per_second = 0 |
|
Audio output to PWM pins for the ESP32. The ESP32 supports up to 16 channels.
- Author
- Phil Schatzmann
- Copyright
- GPLv3
◆ isDecimateActive()
virtual bool isDecimateActive |
( |
| ) |
|
|
inlineprotectedvirtualinherited |
The requested sampling rate is too hight: we only process half of the samples so we can half the sampling rate
◆ pwmWrite()
virtual void pwmWrite |
( |
int |
channel, |
|
|
int |
value |
|
) |
| |
|
inlinevirtual |
write a pwm value to the indicated channel. The max value depends on the resolution
Implements DriverPWMBase.
◆ setBuffer()
You can assign your own custom buffer impelementation: must be allocated on the heap and will be cleaned up by this class
◆ startTimer()
virtual void startTimer |
( |
| ) |
|
|
inlinevirtual |
when we get the first write -> we activate the timer to start with the output of data
Implements DriverPWMBase.
The documentation for this class was generated from the following file: