Skip to content

Commit 35bd9a6

Browse files
committed
fix(adc): Calibration fix for unsupported socs
1 parent 790cc79 commit 35bd9a6

File tree

1 file changed

+21
-6
lines changed

1 file changed

+21
-6
lines changed

cores/esp32/esp32-hal-adc.c

Lines changed: 21 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -108,11 +108,14 @@ static bool adcDetachBus(void *pin) {
108108
if (err != ESP_OK) {
109109
return false;
110110
}
111-
#else //ADC_CALI_SCHEME_LINE_FITTING_SUPPORTED
111+
#elif ADC_CALI_SCHEME_LINE_FITTING_SUPPORTED
112112
err = adc_cali_delete_scheme_line_fitting(adc_handle[adc_unit].adc_cali_handle);
113113
if (err != ESP_OK) {
114114
return false;
115115
}
116+
#else
117+
log_e("ADC Calibration scheme is not supported!");
118+
return false;
116119
#endif
117120
}
118121
adc_handle[adc_unit].adc_cali_handle = NULL;
@@ -160,7 +163,7 @@ esp_err_t __analogChannelConfig(adc_bitwidth_t width, adc_attenuation_t atten, i
160163
log_e("adc_cali_create_scheme_curve_fitting failed with error: %d", err);
161164
return err;
162165
}
163-
#else //ADC_CALI_SCHEME_LINE_FITTING_SUPPORTED
166+
#elif ADC_CALI_SCHEME_LINE_FITTING_SUPPORTED
164167
log_d("Deleting ADC_UNIT_%d line cali handle", adc_unit);
165168
err = adc_cali_delete_scheme_line_fitting(adc_handle[adc_unit].adc_cali_handle);
166169
if (err != ESP_OK) {
@@ -178,6 +181,9 @@ esp_err_t __analogChannelConfig(adc_bitwidth_t width, adc_attenuation_t atten, i
178181
log_e("adc_cali_create_scheme_line_fitting failed with error: %d", err);
179182
return err;
180183
}
184+
#else
185+
log_e("ADC Calibration scheme is not supported!");
186+
return ESP_ERR_NOT_SUPPORTED;
181187
#endif
182188
}
183189
}
@@ -343,13 +349,16 @@ uint32_t __analogReadMilliVolts(uint8_t pin) {
343349
.bitwidth = __analogWidth,
344350
};
345351
err = adc_cali_create_scheme_curve_fitting(&cali_config, &adc_handle[adc_unit].adc_cali_handle);
346-
#else //ADC_CALI_SCHEME_LINE_FITTING_SUPPORTED
352+
#elif ADC_CALI_SCHEME_LINE_FITTING_SUPPORTED
347353
adc_cali_line_fitting_config_t cali_config = {
348354
.unit_id = adc_unit,
349355
.bitwidth = __analogWidth,
350356
.atten = __analogAttenuation,
351357
};
352358
err = adc_cali_create_scheme_line_fitting(&cali_config, &adc_handle[adc_unit].adc_cali_handle);
359+
#else
360+
log_e("ADC Calibration scheme is not supported!");
361+
return value;
353362
#endif
354363
if (err != ESP_OK) {
355364
log_e("adc_cali_create_scheme_x failed!");
@@ -412,11 +421,14 @@ static bool adcContinuousDetachBus(void *adc_unit_number) {
412421
if (err != ESP_OK) {
413422
return false;
414423
}
415-
#else //ADC_CALI_SCHEME_LINE_FITTING_SUPPORTED
424+
#elif ADC_CALI_SCHEME_LINE_FITTING_SUPPORTED
416425
err = adc_cali_delete_scheme_line_fitting(adc_handle[adc_unit].adc_cali_handle);
417426
if (err != ESP_OK) {
418427
return false;
419428
}
429+
#else
430+
log_e("ADC Calibration scheme is not supported!");
431+
return false;
420432
#endif
421433
}
422434
adc_handle[adc_unit].adc_cali_handle = NULL;
@@ -569,7 +581,7 @@ bool analogContinuous(const uint8_t pins[], size_t pins_count, uint32_t conversi
569581
}
570582

571583
//Allocate and prepare result structure for adc readings
572-
adc_result = malloc(pins_count * sizeof(adc_continuous_result_t));
584+
adc_result = malloc(pins_count * sizeof(adc_c-ontinuous_result_t));
573585
for (int k = 0; k < pins_count; k++) {
574586
adc_result[k].pin = pins[k];
575587
adc_result[k].channel = channel[k];
@@ -585,13 +597,16 @@ bool analogContinuous(const uint8_t pins[], size_t pins_count, uint32_t conversi
585597
.bitwidth = __adcContinuousWidth,
586598
};
587599
err = adc_cali_create_scheme_curve_fitting(&cali_config, &adc_handle[adc_unit].adc_cali_handle);
588-
#else //ADC_CALI_SCHEME_LINE_FITTING_SUPPORTED
600+
#elif ADC_CALI_SCHEME_LINE_FITTING_SUPPORTED
589601
adc_cali_line_fitting_config_t cali_config = {
590602
.unit_id = adc_unit,
591603
.bitwidth = __adcContinuousWidth,
592604
.atten = __adcContinuousAtten,
593605
};
594606
err = adc_cali_create_scheme_line_fitting(&cali_config, &adc_handle[adc_unit].adc_cali_handle);
607+
#else
608+
log_e("ADC Calibration scheme is not supported!");
609+
return false;
595610
#endif
596611
if (err != ESP_OK) {
597612
log_e("adc_cali_create_scheme_x failed!");

0 commit comments

Comments
 (0)