From 1fd01a45252ddd5c3c425a43a48316d98b54c7bc Mon Sep 17 00:00:00 2001 From: pschatzmann Date: Sun, 2 Feb 2025 01:37:11 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20doxygen=20from=20@=20pschatzma?= =?UTF-8?q?nn/arduino-audio-tools@5f94df5da653a60886c0da8ad10450ae78df45f7?= =?UTF-8?q?=20=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- _analog_config_e_s_p32_v1_8h_source.html | 111 +++++++++--------- _analog_driver_e_s_p32_v1_8h_source.html | 26 ++-- _analog_driver_e_s_p32_v2_8h_source.html | 26 ++-- ..._1_1_analog_config_e_s_p32_v1-members.html | 53 +++++---- ...o__tools_1_1_analog_config_e_s_p32_v1.html | 3 + 5 files changed, 112 insertions(+), 107 deletions(-) diff --git a/_analog_config_e_s_p32_v1_8h_source.html b/_analog_config_e_s_p32_v1_8h_source.html index 759a7a0ee..ae07b0445 100644 --- a/_analog_config_e_s_p32_v1_8h_source.html +++ b/_analog_config_e_s_p32_v1_8h_source.html @@ -198,64 +198,65 @@
122 uint8_t adc_attenuation = ADC_ATTEN_DB_12; // full voltage range of 3.9V
123 uint8_t adc_bit_width = SOC_ADC_DIGI_MAX_BITWIDTH;
124
-
125 adc_channel_t adc_channels[NUM_ADC_CHANNELS] = ADC_CHANNELS;
-
126
-
- -
129 sample_rate = 44100;
-
130 channels = 2;
-
131 bits_per_sample = 16;
-
132 rx_tx_mode = rxtxMode;
-
133 switch (rx_tx_mode) {
-
134 case RX_MODE: {
-
135 // make sure that the proposed sample rate is valid
- - -
138 }
-
139 LOGI("I2S_MODE_ADC_BUILT_IN");
-
140 break;
-
141 }
-
142#ifdef HAS_ESP32_DAC
-
143 case TX_MODE:
-
144 use_apll = true;
-
145 LOGI("I2S_MODE_DAC_BUILT_IN");
-
146 break;
-
147#endif
-
148
-
149 default:
-
150 LOGE("RxTxMode not supported: %d", rx_tx_mode);
-
151 break;
-
152 }
-
153 }
+
125 adc_unit_t adc_unit = ADC_UNIT;
+ +
127
+
+ +
130 sample_rate = 44100;
+
131 channels = 2;
+
132 bits_per_sample = 16;
+
133 rx_tx_mode = rxtxMode;
+
134 switch (rx_tx_mode) {
+
135 case RX_MODE: {
+
136 // make sure that the proposed sample rate is valid
+ + +
139 }
+
140 LOGI("I2S_MODE_ADC_BUILT_IN");
+
141 break;
+
142 }
+
143#ifdef HAS_ESP32_DAC
+
144 case TX_MODE:
+
145 use_apll = true;
+
146 LOGI("I2S_MODE_DAC_BUILT_IN");
+
147 break;
+
148#endif
+
149
+
150 default:
+
151 LOGE("RxTxMode not supported: %d", rx_tx_mode);
+
152 break;
+
153 }
+
154 }
-
154
- -
157
-
158 void logInfo() {
-
159 AudioInfo::logInfo();
-
160#if !defined(ESP32X)
-
161 if (rx_tx_mode == TX_MODE) {
-
162 LOGI("analog left output pin: %d", 25);
-
163 LOGI("analog right output pin: %d", 26);
-
164 }
-
165#endif
-
166#ifdef HAS_ESP32_DAC
-
167 LOGI("use_apll: %d", use_apll);
-
168#endif
-
169 }
-
170};
+
155
+ +
158
+
159 void logInfo() {
+
160 AudioInfo::logInfo();
+
161#if !defined(ESP32X)
+
162 if (rx_tx_mode == TX_MODE) {
+
163 LOGI("analog left output pin: %d", 25);
+
164 LOGI("analog right output pin: %d", 26);
+
165 }
+
166#endif
+
167#ifdef HAS_ESP32_DAC
+
168 LOGI("use_apll: %d", use_apll);
+
169#endif
+
170 }
+
171};
-
171
-
172#ifndef ANALOG_CONFIG
-
173#define ANALOG_CONFIG
-
174using AnalogConfig = AnalogConfigESP32V1;
-
175#endif
-
176
-
177} // namespace audio_tools
-
178
-
179#endif
+
172
+
173#ifndef ANALOG_CONFIG
+
174#define ANALOG_CONFIG
+
175using AnalogConfig = AnalogConfigESP32V1;
+
176#endif
+
177
+
178} // namespace audio_tools
+
179
+
180#endif
ESP32 specific configuration for i2s input via adc using the adc_continuous API.
Definition AnalogConfigESP32V1.h:100
-
AnalogConfigESP32V1(RxTxMode rxtxMode=TX_MODE)
Default constructor.
Definition AnalogConfigESP32V1.h:128
+
AnalogConfigESP32V1(RxTxMode rxtxMode=TX_MODE)
Default constructor.
Definition AnalogConfigESP32V1.h:129
AnalogConfigESP32V1(const AnalogConfigESP32V1 &cfg)=default
Copy constructor.
Please use AnalogAudioStream: A very fast ADC and DAC using the ESP32 I2S interface.
Definition AnalogDriverESP32.h:35
Vector implementation which provides the most important methods as defined by std::vector....
Definition Vector.h:21
diff --git a/_analog_driver_e_s_p32_v1_8h_source.html b/_analog_driver_e_s_p32_v1_8h_source.html index 960ec19d9..c33dbf5d4 100644 --- a/_analog_driver_e_s_p32_v1_8h_source.html +++ b/_analog_driver_e_s_p32_v1_8h_source.html @@ -549,7 +549,7 @@
471 if (!checkADCBitsPerSample()) return false;
472
473 if (adc_handle != nullptr) {
-
474 LOGE("adc unit %u continuous is already initialized. Please call end() first!", ADC_UNIT);
+
474 LOGE("adc unit %u continuous is already initialized. Please call end() first!", cfg.adc_unit);
475 return false;
476 }
477
@@ -560,7 +560,7 @@
482 // Set the pins/channels to INIT state
483 for (int i = 0; i < cfg.channels; i++) {
484 adc_channel = cfg.adc_channels[i];
-
485 adc_continuous_channel_to_io(ADC_UNIT, adc_channel, &io_pin);
+
485 adc_continuous_channel_to_io(cfg.adc_unit, adc_channel, &io_pin);
486 if (!perimanClearPinBus(io_pin)) {
487 LOGE("perimanClearPinBus failed!");
488 return false;
@@ -613,7 +613,7 @@
535 uint8_t ch = cfg.adc_channels[i];
536 adc_pattern[i].atten = (uint8_t) cfg.adc_attenuation;
537 adc_pattern[i].channel = (uint8_t)ch;
-
538 adc_pattern[i].unit = (uint8_t) ADC_UNIT;
+
538 adc_pattern[i].unit = (uint8_t) cfg.adc_unit;
539 adc_pattern[i].bit_width = (uint8_t) cfg.adc_bit_width;
540 }
541
@@ -654,10 +654,10 @@
576 #ifdef ARDUINO
577 for (int i = 0; i < cfg.channels; i++) {
578 adc_channel = cfg.adc_channels[i];
-
579 adc_continuous_channel_to_io(ADC_UNIT, adc_channel, &io_pin);
+
579 adc_continuous_channel_to_io(cfg.adc_unit, adc_channel, &io_pin);
580 // perimanSetPinBus: uint8_t pin, peripheral_bus_type_t type, void * bus, int8_t bus_num, int8_t bus_channel
-
581 if (!perimanSetPinBus(io_pin, ESP32_BUS_TYPE_ADC_CONT, (void *)(ADC_UNIT + 1), ADC_UNIT, adc_channel)) {
-
582 LOGE("perimanSetPinBus to Continuous an ADC Unit %u failed!", ADC_UNIT);
+
581 if (!perimanSetPinBus(io_pin, ESP32_BUS_TYPE_ADC_CONT, (void *)(cfg.adc_unit + 1), cfg.adc_unit, adc_channel)) {
+
582 LOGE("perimanSetPinBus to Continuous an ADC Unit %u failed!", cfg.adc_unit);
583 return false;
584 }
585 }
@@ -741,7 +741,7 @@
662 for (int i = 0; i < cfg.channels; i++) {
663 adc_channel_t adc_channel = cfg.adc_channels[i];
664 int io_pin;
-
665 adc_continuous_channel_to_io(ADC_UNIT, adc_channel, &io_pin);
+
665 adc_continuous_channel_to_io(cfg.adc_unit, adc_channel, &io_pin);
666 if (perimanGetPinBusType(io_pin) == ESP32_BUS_TYPE_ADC_CONT) {
667 if (!perimanClearPinBus(io_pin)) {
668 LOGE("perimanClearPinBus failed!");
@@ -783,9 +783,9 @@
702 // Lets make sure the adc channels are available
703 for (int i = 0; i < cfg.channels; i++) {
704 adc_channel = cfg.adc_channels[i];
-
705 auto err = adc_continuous_channel_to_io(ADC_UNIT, adc_channel, &io_pin);
+
705 auto err = adc_continuous_channel_to_io(cfg.adc_unit, adc_channel, &io_pin);
706 if (err != ESP_OK) {
-
707 LOGE("ADC channel %u is not available on ADC unit %u", adc_channel, ADC_UNIT);
+
707 LOGE("ADC channel %u is not available on ADC unit %u", adc_channel, cfg.adc_unit);
708 return false;
709 } else {
710 LOGI("ADC channel %u is on pin %u", adc_channel, io_pin);
@@ -845,25 +845,25 @@
761 #if ADC_CALI_SCHEME_CURVE_FITTING_SUPPORTED
762 // curve fitting is preferred
763 adc_cali_curve_fitting_config_t cali_config;
-
764 cali_config.unit_id = ADC_UNIT;
+
764 cali_config.unit_id = cfg.adc_unit;
765 cali_config.atten = (adc_atten_t)cfg.adc_attenuation;
766 cali_config.bitwidth = (adc_bitwidth_t)cfg.adc_bit_width;
767 auto err = adc_cali_create_scheme_curve_fitting(&cali_config, &adc_cali_handle);
768 #elif !defined(CONFIG_IDF_TARGET_ESP32H2)
769 // line fitting is the alternative
770 adc_cali_line_fitting_config_t cali_config;
-
771 cali_config.unit_id = ADC_UNIT;
+
771 cali_config.unit_id = cfg.adc_unit;
772 cali_config.atten = (adc_atten_t)cfg.adc_attenuation;
773 cali_config.bitwidth = (adc_bitwidth_t)cfg.adc_bit_width;
774 auto err = adc_cali_create_scheme_line_fitting(&cali_config, &adc_cali_handle);
775 #endif
776 if (err != ESP_OK) {
777 LOGE("creating calibration handle failed for ADC%d with atten %d and bitwidth %d",
-
778 ADC_UNIT, cfg.adc_attenuation, cfg.adc_bit_width);
+
778 cfg.adc_unit, cfg.adc_attenuation, cfg.adc_bit_width);
779 return false;
780 } else {
781 LOGI("enabled calibration for ADC%d with atten %d and bitwidth %d",
-
782 ADC_UNIT, cfg.adc_attenuation, cfg.adc_bit_width);
+
782 cfg.adc_unit, cfg.adc_attenuation, cfg.adc_bit_width);
783 }
784 }
785 return true;
diff --git a/_analog_driver_e_s_p32_v2_8h_source.html b/_analog_driver_e_s_p32_v2_8h_source.html index 954a60818..9f4d9b386 100644 --- a/_analog_driver_e_s_p32_v2_8h_source.html +++ b/_analog_driver_e_s_p32_v2_8h_source.html @@ -387,7 +387,7 @@
311 if (!checkADCBitsPerSample()) return false;
312
313 if (adc_handle != nullptr) {
-
314 LOGE("adc unit %u continuous is already initialized. Please call end() first!", ADC_UNIT);
+
314 LOGE("adc unit %u continuous is already initialized. Please call end() first!", cfg.adc_unit);
315 return false;
316 }
317
@@ -398,7 +398,7 @@
322 // Set the pins/channels to INIT state
323 for (int i = 0; i < cfg.channels; i++) {
324 adc_channel = cfg.adc_channels[i];
-
325 adc_continuous_channel_to_io(ADC_UNIT, adc_channel, &io_pin);
+
325 adc_continuous_channel_to_io(cfg.adc_unit, adc_channel, &io_pin);
326 if (!perimanClearPinBus(io_pin)) {
327 LOGE("perimanClearPinBus failed!");
328 return false;
@@ -451,7 +451,7 @@
375 uint8_t ch = cfg.adc_channels[i];
376 adc_pattern[i].atten = (uint8_t) cfg.adc_attenuation;
377 adc_pattern[i].channel = (uint8_t)ch;
-
378 adc_pattern[i].unit = (uint8_t) ADC_UNIT;
+
378 adc_pattern[i].unit = (uint8_t) cfg.adc_unit;
379 adc_pattern[i].bit_width = (uint8_t) cfg.adc_bit_width;
380 }
381
@@ -492,10 +492,10 @@
416#ifdef ARDUINO
417 for (int i = 0; i < cfg.channels; i++) {
418 adc_channel = cfg.adc_channels[i];
-
419 adc_continuous_channel_to_io(ADC_UNIT, adc_channel, &io_pin);
+
419 adc_continuous_channel_to_io(cfg.adc_unit, adc_channel, &io_pin);
420 // perimanSetPinBus: uint8_t pin, peripheral_bus_type_t type, void * bus, int8_t bus_num, int8_t bus_channel
-
421 if (!perimanSetPinBus(io_pin, ESP32_BUS_TYPE_ADC_CONT, (void *)(ADC_UNIT + 1), ADC_UNIT, adc_channel)) {
-
422 LOGE("perimanSetPinBus to Continuous an ADC Unit %u failed!", ADC_UNIT);
+
421 if (!perimanSetPinBus(io_pin, ESP32_BUS_TYPE_ADC_CONT, (void *)(cfg.adc_unit + 1), cfg.adc_unit, adc_channel)) {
+
422 LOGE("perimanSetPinBus to Continuous an ADC Unit %u failed!", cfg.adc_unit);
423 return false;
424 }
425 }
@@ -562,7 +562,7 @@
485 for (int i = 0; i < cfg.channels; i++) {
486 adc_channel_t adc_channel = cfg.adc_channels[i];
487 int io_pin;
-
488 adc_continuous_channel_to_io(ADC_UNIT, adc_channel, &io_pin);
+
488 adc_continuous_channel_to_io(cfg.adc_unit, adc_channel, &io_pin);
489 if (perimanGetPinBusType(io_pin) == ESP32_BUS_TYPE_ADC_CONT) {
490 if (!perimanClearPinBus(io_pin)) {
491 LOGE("perimanClearPinBus failed!");
@@ -604,9 +604,9 @@
525 // Lets make sure the adc channels are available
526 for (int i = 0; i < cfg.channels; i++) {
527 adc_channel = cfg.adc_channels[i];
-
528 auto err = adc_continuous_channel_to_io(ADC_UNIT, adc_channel, &io_pin);
+
528 auto err = adc_continuous_channel_to_io(cfg.adc_unit, adc_channel, &io_pin);
529 if (err != ESP_OK) {
-
530 LOGE("ADC channel %u is not available on ADC unit %u", adc_channel, ADC_UNIT);
+
530 LOGE("ADC channel %u is not available on ADC unit %u", adc_channel, cfg.adc_unit);
531 return false;
532 } else {
533 LOGI("ADC channel %u is on pin %u", adc_channel, io_pin);
@@ -667,25 +667,25 @@
585 #if ADC_CALI_SCHEME_CURVE_FITTING_SUPPORTED
586 // curve fitting is preferred
587 adc_cali_curve_fitting_config_t cali_config;
-
588 cali_config.unit_id = ADC_UNIT;
+
588 cali_config.unit_id = cfg.adc_unit;
589 cali_config.atten = (adc_atten_t)cfg.adc_attenuation;
590 cali_config.bitwidth = (adc_bitwidth_t)cfg.adc_bit_width;
591 auto err = adc_cali_create_scheme_curve_fitting(&cali_config, &adc_cali_handle);
592 #elif !defined(CONFIG_IDF_TARGET_ESP32H2)
593 // line fitting is the alternative
594 adc_cali_line_fitting_config_t cali_config;
-
595 cali_config.unit_id = ADC_UNIT;
+
595 cali_config.unit_id = cfg.adc_unit;
596 cali_config.atten = (adc_atten_t)cfg.adc_attenuation;
597 cali_config.bitwidth = (adc_bitwidth_t)cfg.adc_bit_width;
598 auto err = adc_cali_create_scheme_line_fitting(&cali_config, &adc_cali_handle);
599 #endif
600 if (err != ESP_OK) {
601 LOGE("creating calibration handle failed for ADC%d with atten %d and bitwidth %d",
-
602 ADC_UNIT, cfg.adc_attenuation, cfg.adc_bit_width);
+
602 cfg.adc_unit, cfg.adc_attenuation, cfg.adc_bit_width);
603 return false;
604 } else {
605 LOGI("enabled calibration for ADC%d with atten %d and bitwidth %d",
-
606 ADC_UNIT, cfg.adc_attenuation, cfg.adc_bit_width);
+
606 cfg.adc_unit, cfg.adc_attenuation, cfg.adc_bit_width);
607 }
608 }
609 return true;
diff --git a/classaudio__tools_1_1_analog_config_e_s_p32_v1-members.html b/classaudio__tools_1_1_analog_config_e_s_p32_v1-members.html index bbaa1b464..e86677b39 100644 --- a/classaudio__tools_1_1_analog_config_e_s_p32_v1-members.html +++ b/classaudio__tools_1_1_analog_config_e_s_p32_v1-members.html @@ -85,32 +85,33 @@ adc_channels (defined in AnalogConfigESP32V1)AnalogConfigESP32V1 adc_conversion_mode (defined in AnalogConfigESP32V1)AnalogConfigESP32V1 adc_output_type (defined in AnalogConfigESP32V1)AnalogConfigESP32V1 - AnalogConfigESP32V1(RxTxMode rxtxMode=TX_MODE)AnalogConfigESP32V1inline - AnalogConfigESP32V1(const AnalogConfigESP32V1 &cfg)=defaultAnalogConfigESP32V1 - AnalogDriverESP32 (defined in AnalogConfigESP32V1)AnalogConfigESP32V1friend - AudioInfo()=defaultAudioInfo - AudioInfo(sample_rate_t sampleRate, uint16_t channelCount, uint8_t bitsPerSample)AudioInfoinline - AudioInfo(const AudioInfo &)=defaultAudioInfo - bits_per_sampleAudioInfo - buffer_count (defined in AnalogConfigESP32V1)AnalogConfigESP32V1 - buffer_size (defined in AnalogConfigESP32V1)AnalogConfigESP32V1 - channelsAudioInfo - clear() (defined in AudioInfo)AudioInfoinlinevirtual - copyFrom(AudioInfo info)AudioInfoinline - equals(AudioInfo alt)AudioInfoinline - equalsExSampleRate(AudioInfo alt)AudioInfoinline - is_auto_center_read (defined in AnalogConfigESP32V1)AnalogConfigESP32V1 - logInfo() (defined in AnalogConfigESP32V1)AnalogConfigESP32V1inline - logInfo(const char *source="") (defined in AudioInfo)AudioInfoinlinevirtual - operator bool()AudioInfoinline - operator!=(AudioInfo alt)AudioInfoinline - operator=(const AudioInfo &info)AudioInfoinline - operator==(AudioInfo alt)AudioInfoinline - rx_tx_mode (defined in AnalogConfigESP32V1)AnalogConfigESP32V1 - sample_rateAudioInfo - set(AudioInfo info)AudioInfoinline - setAudioInfo(AudioInfo info)AudioInfoinline - timeout (defined in AnalogConfigESP32V1)AnalogConfigESP32V1 + adc_unit (defined in AnalogConfigESP32V1)AnalogConfigESP32V1 + AnalogConfigESP32V1(RxTxMode rxtxMode=TX_MODE)AnalogConfigESP32V1inline + AnalogConfigESP32V1(const AnalogConfigESP32V1 &cfg)=defaultAnalogConfigESP32V1 + AnalogDriverESP32 (defined in AnalogConfigESP32V1)AnalogConfigESP32V1friend + AudioInfo()=defaultAudioInfo + AudioInfo(sample_rate_t sampleRate, uint16_t channelCount, uint8_t bitsPerSample)AudioInfoinline + AudioInfo(const AudioInfo &)=defaultAudioInfo + bits_per_sampleAudioInfo + buffer_count (defined in AnalogConfigESP32V1)AnalogConfigESP32V1 + buffer_size (defined in AnalogConfigESP32V1)AnalogConfigESP32V1 + channelsAudioInfo + clear() (defined in AudioInfo)AudioInfoinlinevirtual + copyFrom(AudioInfo info)AudioInfoinline + equals(AudioInfo alt)AudioInfoinline + equalsExSampleRate(AudioInfo alt)AudioInfoinline + is_auto_center_read (defined in AnalogConfigESP32V1)AnalogConfigESP32V1 + logInfo() (defined in AnalogConfigESP32V1)AnalogConfigESP32V1inline + logInfo(const char *source="") (defined in AudioInfo)AudioInfoinlinevirtual + operator bool()AudioInfoinline + operator!=(AudioInfo alt)AudioInfoinline + operator=(const AudioInfo &info)AudioInfoinline + operator==(AudioInfo alt)AudioInfoinline + rx_tx_mode (defined in AnalogConfigESP32V1)AnalogConfigESP32V1 + sample_rateAudioInfo + set(AudioInfo info)AudioInfoinline + setAudioInfo(AudioInfo info)AudioInfoinline + timeout (defined in AnalogConfigESP32V1)AnalogConfigESP32V1