3 #include "AudioConfig.h"
4 #if defined(USE_ANALOG) && defined(ESP32) && ESP_IDF_VERSION >= ESP_IDF_VERSION_VAL(5, 0 , 0) || defined(DOXYGEN)
6 #include "esp_adc/adc_continuous.h"
7 #include "esp_adc/adc_cali_scheme.h"
9 # include "esp32-hal-periman.h"
12 #if CONFIG_IDF_TARGET_ESP32
13 # define ADC_CONV_MODE ADC_CONV_SINGLE_UNIT_1
14 # define ADC_OUTPUT_TYPE ADC_DIGI_OUTPUT_FORMAT_TYPE1
15 # define ADC_CHANNELS {ADC_CHANNEL_6, ADC_CHANNEL_7}
16 # define AUDIO_ADC_GET_CHANNEL(p_data) ((p_data)->type1.channel)
17 # define AUDIO_ADC_GET_DATA(p_data) ((p_data)->type1.data)
18 # define HAS_ESP32_DAC
19 #elif CONFIG_IDF_TARGET_ESP32S2
20 # define ADC_CONV_MODE ADC_CONV_SINGLE_UNIT_1
21 # define ADC_OUTPUT_TYPE ADC_DIGI_OUTPUT_FORMAT_TYPE2
22 # define AUDIO_ADC_GET_CHANNEL(p_data) ((p_data)->type2.channel)
23 # define AUDIO_ADC_GET_DATA(p_data) ((p_data)->type2.data)
24 # define ADC_CHANNELS {ADC_CHANNEL_2, ADC_CHANNEL_3}
25 # define HAS_ESP32_DAC
26 #elif CONFIG_IDF_TARGET_ESP32C3 || CONFIG_IDF_TARGET_ESP32H2 || CONFIG_IDF_TARGET_ESP32C2 || CONFIG_IDF_TARGET_ESP32C6
27 # define ADC_CONV_MODE ADC_CONV_ALTER_UNIT
28 # define ADC_OUTPUT_TYPE ADC_DIGI_OUTPUT_FORMAT_TYPE2
29 # define AUDIO_ADC_GET_CHANNEL(p_data) ((p_data)->type2.channel)
30 # define AUDIO_ADC_GET_DATA(p_data) ((p_data)->type2.data)
31 # define ADC_CHANNELS {ADC_CHANNEL_2, ADC_CHANNEL_3}
32 #elif CONFIG_IDF_TARGET_ESP32S3
33 # define ADC_CONV_MODE ADC_CONV_SINGLE_UNIT_1
34 # define ADC_OUTPUT_TYPE ADC_DIGI_OUTPUT_FORMAT_TYPE2
35 # define AUDIO_ADC_GET_CHANNEL(p_data) ((p_data)->type2.channel)
36 # define AUDIO_ADC_GET_DATA(p_data) ((p_data)->type2.data)
37 # define ADC_CHANNELS {ADC_CHANNEL_2, ADC_CHANNEL_3}
41 # define ADC_UNIT ADC_UNIT_1
44 # include "driver/dac_continuous.h"
61 int buffer_count = ANALOG_BUFFER_COUNT;
62 int buffer_size = ANALOG_BUFFER_SIZE;
64 TickType_t timeout = portMAX_DELAY;
67 bool is_blocking_write =
true;
68 bool use_apll =
false;
70 dac_channel_mask_t dac_mono_channel = DAC_CHANNEL_MASK_CH0;
74 bool adc_calibration_active =
false;
75 bool is_auto_center_read =
false;
76 adc_digi_convert_mode_t adc_conversion_mode = ADC_CONV_MODE;
77 adc_digi_output_format_t adc_output_type = ADC_OUTPUT_TYPE;
78 uint8_t adc_attenuation = ADC_ATTEN_DB_12;
79 uint8_t adc_bit_width = SOC_ADC_DIGI_MAX_BITWIDTH;
88 rx_tx_mode = rxtxMode;
89 if (rx_tx_mode == RX_MODE) {
94 LOGI(
"I2S_MODE_ADC_BUILT_IN");
96 LOGI(
"I2S_MODE_DAC_BUILT_IN");
104 AudioInfo::logInfo();
105 if (rx_tx_mode == TX_MODE){
106 LOGI(
"analog left output pin: %d", 25);
107 LOGI(
"analog right output pin: %d", 26);
112 using AnalogConfig = AnalogConfigESP32V1;
RxTxMode
The Microcontroller is the Audio Source (TX_MODE) or Audio Sink (RX_MODE). RXTX_MODE is Source and Si...
Definition: AudioTypes.h:26