arduino-audio-tools
Loading...
Searching...
No Matches
src
AudioTools
CoreAudio
AudioPWM
PWMConfigAVR.h
Go to the documentation of this file.
1
#pragma once
2
3
namespace
audio_tools
{
10
struct
PWMConfigAVR
:
public
AudioInfo
{
11
PWMConfigAVR
() {
12
// default basic information
13
sample_rate
= 8000u;
// sample rate in Hz
14
channels
= 1;
15
bits_per_sample
= 16;
16
}
17
19
uint16_t
buffer_size
=
PWM_BUFFER_SIZE
;
21
uint8_t
buffers
=
PWM_BUFFER_COUNT
;
22
24
uint32_t
pwm_frequency
= 0;
// audable range is from 20 to
26
uint8_t
resolution
= 8;
28
uint8_t
timer_id
= 0;
29
31
uint16_t
dead_time_us
= 0;
32
34
uint32_t
max_sample_rate
=
PWM_MAX_SAMPLE_RATE
;
35
36
37
void
logConfig
() {
38
LOGI
(
"sample_rate: %d"
, (
int
)
sample_rate
);
39
LOGI
(
"channels: %d"
,
channels
);
40
LOGI
(
"bits_per_sample: %u"
,
bits_per_sample
);
41
LOGI
(
"buffer_size: %u"
,
buffer_size
);
42
LOGI
(
"buffer_count: %u"
,
buffers
);
43
LOGI
(
"pwm_frequency: %u"
, (
unsigned
)
pwm_frequency
);
44
LOGI
(
"resolution: %d"
,
resolution
);
45
LOGI
(
"dead_time_us: %u"
,
dead_time_us
);
46
// LOGI("timer_id: %d", timer_id);
47
}
48
49
protected
:
50
Pins
pins_data
;
51
};
52
53
using
PWMConfig
=
PWMConfigAVR
;
54
55
}
LOGI
#define LOGI(...)
Definition
AudioLoggerIDF.h:28
PWM_BUFFER_COUNT
#define PWM_BUFFER_COUNT
Definition
AudioToolsConfig.h:174
PWM_MAX_SAMPLE_RATE
#define PWM_MAX_SAMPLE_RATE
Definition
AudioToolsConfig.h:299
PWM_BUFFER_SIZE
#define PWM_BUFFER_SIZE
Definition
avr.h:17
audio_tools::Vector< int >
audio_tools
Generic Implementation of sound input and output for desktop environments using portaudio.
Definition
AudioCodecsBase.h:10
audio_tools::writeData
size_t writeData(Print *p_out, T *data, int samples, int maxSamples=512)
Definition
AudioTypes.h:508
audio_tools::AudioInfo
Basic Audio information which drives e.g. I2S.
Definition
AudioTypes.h:51
audio_tools::AudioInfo::sample_rate
sample_rate_t sample_rate
Sample Rate: e.g 44100.
Definition
AudioTypes.h:53
audio_tools::AudioInfo::channels
uint16_t channels
Number of channels: 2=stereo, 1=mono.
Definition
AudioTypes.h:55
audio_tools::AudioInfo::bits_per_sample
uint8_t bits_per_sample
Number of bits per sample (int16_t = 16 bits)
Definition
AudioTypes.h:57
audio_tools::PWMConfigAVR
Configuration data for PWM audio output.
Definition
PWMConfigAVR.h:10
audio_tools::PWMConfigAVR::resolution
uint8_t resolution
Only used by ESP32: must be between 8 and 11 -> drives pwm frequency // 20,000Hz (not used by ESP32)
Definition
PWMConfigAVR.h:26
audio_tools::PWMConfigAVR::timer_id
uint8_t timer_id
Timer used: Only used by ESP32 must be between 0 and 3.
Definition
PWMConfigAVR.h:28
audio_tools::PWMConfigAVR::PWMConfigAVR
PWMConfigAVR()
Definition
PWMConfigAVR.h:11
audio_tools::PWMConfigAVR::pwm_frequency
uint32_t pwm_frequency
additinal info which might not be used by all processors
Definition
PWMConfigAVR.h:24
audio_tools::PWMConfigAVR::logConfig
void logConfig()
Definition
PWMConfigAVR.h:37
audio_tools::PWMConfigAVR::pins_data
Pins pins_data
Definition
PWMConfigAVR.h:50
audio_tools::PWMConfigAVR::dead_time_us
uint16_t dead_time_us
Dead time in microseconds for symmetric PWM (ESP32 only)
Definition
PWMConfigAVR.h:31
audio_tools::PWMConfigAVR::max_sample_rate
uint32_t max_sample_rate
max sample sample rate that still produces good audio
Definition
PWMConfigAVR.h:34
audio_tools::PWMConfigAVR::buffer_size
uint16_t buffer_size
size of an inidividual buffer
Definition
PWMConfigAVR.h:19
audio_tools::PWMConfigAVR::buffers
uint8_t buffers
number of buffers
Definition
PWMConfigAVR.h:21
Generated by
1.9.8