From 1ecf73ae11c07541684d3036c31a60995f101980 Mon Sep 17 00:00:00 2001 From: rkcf Date: Mon, 20 Feb 2023 09:46:24 -0600 Subject: [PATCH] Feat: add ADC calibration driver initialization function Refs: #4 --- src/main/esp32_eurorack_generic.c | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/src/main/esp32_eurorack_generic.c b/src/main/esp32_eurorack_generic.c index 7b66f33..71e0bf0 100644 --- a/src/main/esp32_eurorack_generic.c +++ b/src/main/esp32_eurorack_generic.c @@ -1,6 +1,30 @@ #include +#include "esp_err.h" +#include "esp_log.h" +#include "esp_adc/adc_cali.h" +#include "esp_adc/adc_cali_scheme.h" +#include "hal/adc_types.h" + +static const char *TAG = "EERG"; + + +/* Initializes calibration driver of internal 12bit ADC */ +static void adc_calibrate(void) +{ + ESP_LOGI(TAG, "Initializing ADC calibration driver"); + adc_cali_handle_t cali_handle; + /* Create and apply calibration driver configuration */ + adc_cali_curve_fitting_config_t cali_config = { + .unit_id = ADC_UNIT_1, + .atten = ADC_ATTEN_DB_0, + .bitwidth = ADC_BITWIDTH_DEFAULT + }; + ESP_ERROR_CHECK(adc_cali_create_scheme_curve_fitting(&cali_config, &cali_handle)); + ESP_ERROR_CHECK(adc_cali_delete_scheme_curve_fitting(cali_handle)); +} + void app_main(void) { - + adc_calibrate(); }