@@ -471,7 +471,7 @@ class AnalogDriverESP32V1 : public AnalogDriverBase {
471471 if (!checkADCBitsPerSample ()) return false ;
472472
473473 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 );
475475 return false ;
476476 }
477477
@@ -482,7 +482,7 @@ class AnalogDriverESP32V1 : public AnalogDriverBase {
482482 // Set the pins/channels to INIT state
483483 for (int i = 0 ; i < cfg.channels ; i++) {
484484 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);
486486 if (!perimanClearPinBus (io_pin)) {
487487 LOGE (" perimanClearPinBus failed!" );
488488 return false ;
@@ -535,7 +535,7 @@ class AnalogDriverESP32V1 : public AnalogDriverBase {
535535 uint8_t ch = cfg.adc_channels [i];
536536 adc_pattern[i].atten = (uint8_t ) cfg.adc_attenuation ;
537537 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 ;
539539 adc_pattern[i].bit_width = (uint8_t ) cfg.adc_bit_width ;
540540 }
541541
@@ -576,10 +576,10 @@ class AnalogDriverESP32V1 : public AnalogDriverBase {
576576 #ifdef ARDUINO
577577 for (int i = 0 ; i < cfg.channels ; i++) {
578578 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);
580580 // 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 );
583583 return false ;
584584 }
585585 }
@@ -662,7 +662,7 @@ class AnalogDriverESP32V1 : public AnalogDriverBase {
662662 for (int i = 0 ; i < cfg.channels ; i++) {
663663 adc_channel_t adc_channel = cfg.adc_channels [i];
664664 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);
666666 if (perimanGetPinBusType (io_pin) == ESP32_BUS_TYPE_ADC_CONT) {
667667 if (!perimanClearPinBus (io_pin)) {
668668 LOGE (" perimanClearPinBus failed!" );
@@ -702,9 +702,9 @@ class AnalogDriverESP32V1 : public AnalogDriverBase {
702702 // Lets make sure the adc channels are available
703703 for (int i = 0 ; i < cfg.channels ; i++) {
704704 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);
706706 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 );
708708 return false ;
709709 } else {
710710 LOGI (" ADC channel %u is on pin %u" , adc_channel, io_pin);
@@ -761,25 +761,25 @@ class AnalogDriverESP32V1 : public AnalogDriverBase {
761761 #if ADC_CALI_SCHEME_CURVE_FITTING_SUPPORTED
762762 // curve fitting is preferred
763763 adc_cali_curve_fitting_config_t cali_config;
764- cali_config.unit_id = ADC_UNIT ;
764+ cali_config.unit_id = cfg. adc_unit ;
765765 cali_config.atten = (adc_atten_t )cfg.adc_attenuation ;
766766 cali_config.bitwidth = (adc_bitwidth_t )cfg.adc_bit_width ;
767767 auto err = adc_cali_create_scheme_curve_fitting (&cali_config, &adc_cali_handle);
768768 #elif !defined(CONFIG_IDF_TARGET_ESP32H2)
769769 // line fitting is the alternative
770770 adc_cali_line_fitting_config_t cali_config;
771- cali_config.unit_id = ADC_UNIT ;
771+ cali_config.unit_id = cfg. adc_unit ;
772772 cali_config.atten = (adc_atten_t )cfg.adc_attenuation ;
773773 cali_config.bitwidth = (adc_bitwidth_t )cfg.adc_bit_width ;
774774 auto err = adc_cali_create_scheme_line_fitting (&cali_config, &adc_cali_handle);
775775 #endif
776776 if (err != ESP_OK) {
777777 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 );
779779 return false ;
780780 } else {
781781 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 );
783783 }
784784 }
785785 return true ;
0 commit comments