From 3d7a783905c583b5a551fca0ad2f1404ef637f01 Mon Sep 17 00:00:00 2001 From: rkcf Date: Tue, 21 Feb 2023 05:29:42 -0600 Subject: [PATCH] Feat: add section to main for adc continuous and calibration init Refs: #4 --- src/main/esp32_eurorack_generic.c | 28 ++++++++++++++++++++++------ 1 file changed, 22 insertions(+), 6 deletions(-) diff --git a/src/main/esp32_eurorack_generic.c b/src/main/esp32_eurorack_generic.c index ebc6e7e..e2fdb89 100644 --- a/src/main/esp32_eurorack_generic.c +++ b/src/main/esp32_eurorack_generic.c @@ -20,7 +20,7 @@ static const char *TAG = "EERG"; /* Initializes calibration driver of internal 12bit ADC */ -static void adc_cali_init(void) +static void adc_cali_init(adc_cali_handle_t *handle) { ESP_LOGI(TAG, "Initializing ADC calibration driver"); adc_cali_handle_t cali_handle; @@ -31,14 +31,14 @@ static void adc_cali_init(void) .bitwidth = ADC_BITWIDTH_DEFAULT }; ESP_ERROR_CHECK(adc_cali_create_scheme_curve_fitting(&cali_config, &cali_handle)); + + /* Update caller's handle */ + *handle = cali_handle; } /* Initializes internal 12bit ADC */ -static void adc_init(void) +static void adc_cont_init(adc_continuous_handle_t *handle) { - /* Initialize calibration driver */ - adc_cali_init(); - ESP_LOGI(TAG, "Initializing ADC continuous mode driver"); /* Create continuous mode driver handle */ @@ -67,10 +67,26 @@ static void adc_init(void) } adc_config.adc_pattern = adc_pattern; ESP_ERROR_CHECK(adc_continuous_config(adc_handle, & adc_config)); + + /* Update caller's handle */ + *handle = adc_handle; } void app_main(void) { /* Initialize internal ADC */ - adc_init(); + adc_cali_handle_t adc_cali_handle = NULL; + adc_continuous_handle_t adc_handle = NULL; + /* Initialize calibration driver */ + adc_cali_init(&adc_cali_handle); + /* Initialize continuous driver */ + adc_cont_init(&adc_handle); + + /* Start the continuous driver */ + ESP_ERROR_CHECK(adc_continuous_start(adc_handle)); + + /* Cleanup adc */ + ESP_ERROR_CHECK(adc_continuous_stop(adc_handle)); + ESP_ERROR_CHECK(adc_continuous_deinit(adc_handle)); + ESP_ERROR_CHECK(adc_cali_delete_scheme_curve_fitting(adc_cali_handle)); }