Feat: add section to main for adc continuous and calibration init

Refs: #4
adc-init
rkcf 2023-02-21 05:29:42 -06:00
parent 86f6026a1c
commit 3d7a783905
1 changed files with 22 additions and 6 deletions

View File

@ -20,7 +20,7 @@ static const char *TAG = "EERG";
/* Initializes calibration driver of internal 12bit ADC */ /* 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"); ESP_LOGI(TAG, "Initializing ADC calibration driver");
adc_cali_handle_t cali_handle; adc_cali_handle_t cali_handle;
@ -31,14 +31,14 @@ static void adc_cali_init(void)
.bitwidth = ADC_BITWIDTH_DEFAULT .bitwidth = ADC_BITWIDTH_DEFAULT
}; };
ESP_ERROR_CHECK(adc_cali_create_scheme_curve_fitting(&cali_config, &cali_handle)); ESP_ERROR_CHECK(adc_cali_create_scheme_curve_fitting(&cali_config, &cali_handle));
/* Update caller's handle */
*handle = cali_handle;
} }
/* Initializes internal 12bit ADC */ /* 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"); ESP_LOGI(TAG, "Initializing ADC continuous mode driver");
/* Create continuous mode driver handle */ /* Create continuous mode driver handle */
@ -67,10 +67,26 @@ static void adc_init(void)
} }
adc_config.adc_pattern = adc_pattern; adc_config.adc_pattern = adc_pattern;
ESP_ERROR_CHECK(adc_continuous_config(adc_handle, & adc_config)); ESP_ERROR_CHECK(adc_continuous_config(adc_handle, & adc_config));
/* Update caller's handle */
*handle = adc_handle;
} }
void app_main(void) void app_main(void)
{ {
/* Initialize internal ADC */ /* 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));
} }