arduino-audio-tools
Loading...
Searching...
No Matches
AnalogConfigESP32.h
Go to the documentation of this file.
1#pragma once
2
3#include "AudioToolsConfig.h"
4#if (defined(ESP32) && defined(USE_ANALOG) && USE_LEGACY_I2S) || defined(DOXYGEN)
6
7# include "driver/i2s.h"
8# include "driver/adc.h"
9# include "soc/dac_channel.h"
10# include "soc/adc_channel.h"
11
12namespace audio_tools {
13
23 public:
28 bool is_blocking_write = true;
30
31 // allow ADC to access the protected methods
32 friend class AnalogDriverESP32;
33 bool use_apll = false;
34
35 // public config parameters
36 int port_no = I2S_NUM_0; // Analog input and output only supports 0!
41
44 sample_rate = 44100;
45 bits_per_sample = 16;
46 channels = 2;
48 if (rx_tx_mode == RX_MODE) {
51 auto_clear = false;
52 LOGI("I2S_MODE_ADC_BUILT_IN");
53 } else {
55 LOGI("I2S_MODE_DAC_BUILT_IN");
56 }
57 }
58
60 AnalogConfigESP32(const AnalogConfigESP32 &cfg) = default;
61
62 void logInfo() {
64 if (rx_tx_mode == TX_MODE){
65 LOGI("analog left output pin: %d", 25);
66 LOGI("analog right output pin: %d", 26);
67 }
68 }
69
71 void setInputPin1(int pin){
72 this->adc_pin = pin;
73 }
74
75};
76
77#ifndef ANALOG_CONFIG
78#define ANALOG_CONFIG
80#endif
81
82} // ns
83#endif
#define LOGI(...)
Definition AudioLoggerIDF.h:28
#define ANALOG_BUFFER_COUNT
Definition AudioToolsConfig.h:114
ESP32 specific configuration for i2s input via adc. The default input pin is GPIO34....
Definition AnalogConfigESP32.h:22
AnalogConfigESP32(const AnalogConfigESP32 &cfg)=default
Copy constructor.
int buffer_count
Definition AnalogConfigESP32.h:25
void logInfo()
Definition AnalogConfigESP32.h:62
int adc_pin
Definition AnalogConfigESP32.h:40
bool uninstall_driver_on_end
Definition AnalogConfigESP32.h:38
RxTxMode rx_tx_mode
Definition AnalogConfigESP32.h:27
bool is_auto_center_read
Definition AnalogConfigESP32.h:29
TickType_t timeout
Definition AnalogConfigESP32.h:24
bool auto_clear
Definition AnalogConfigESP32.h:37
int mode_internal
Definition AnalogConfigESP32.h:39
void setInputPin1(int pin)
Defines an alternative input pin (for the left channel)
Definition AnalogConfigESP32.h:71
bool use_apll
Definition AnalogConfigESP32.h:33
bool is_blocking_write
Definition AnalogConfigESP32.h:28
int port_no
Definition AnalogConfigESP32.h:36
int buffer_size
Definition AnalogConfigESP32.h:26
AnalogConfigESP32(RxTxMode rxtxMode=TX_MODE)
Default constructor.
Definition AnalogConfigESP32.h:43
Please use AnalogAudioStream: A very fast ADC and DAC using the ESP32 I2S interface.
Definition AnalogDriverESP32.h:35
#define ANALOG_BUFFER_SIZE
Definition giga.h:13
RxTxMode
The Microcontroller is the Audio Source (TX_MODE) or Audio Sink (RX_MODE). RXTX_MODE is Source and Si...
Definition AudioTypes.h:30
@ TX_MODE
Definition AudioTypes.h:30
@ RX_MODE
Definition AudioTypes.h:30
Generic Implementation of sound input and output for desktop environments using portaudio.
Definition AudioCodecsBase.h:10
size_t writeData(Print *p_out, T *data, int samples, int maxSamples=512)
Definition AudioTypes.h:512
Basic Audio information which drives e.g. I2S.
Definition AudioTypes.h:55
sample_rate_t sample_rate
Sample Rate: e.g 44100.
Definition AudioTypes.h:57
uint16_t channels
Number of channels: 2=stereo, 1=mono.
Definition AudioTypes.h:59
uint8_t bits_per_sample
Number of bits per sample (int16_t = 16 bits)
Definition AudioTypes.h:61
virtual void logInfo(const char *source="")
Definition AudioTypes.h:125