parent
3d7a783905
commit
1d2d1ce6bc
|
|
@ -16,33 +16,41 @@
|
|||
/* ADC channels */
|
||||
static adc_channel_t channel[4] = {ADC_CHANNEL_3, ADC_CHANNEL_5, ADC_CHANNEL_8, ADC_CHANNEL_9};
|
||||
|
||||
/* ADC handles */
|
||||
static adc_continuous_handle_t adc_handle;
|
||||
static adc_cali_handle_t adc_cali_handle;
|
||||
|
||||
static const char *TAG = "EERG";
|
||||
|
||||
|
||||
/* Deinitializes ADC handles */
|
||||
static void adc_cleanup(void)
|
||||
{
|
||||
ESP_LOGI(TAG, "Cleaning up 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));
|
||||
}
|
||||
|
||||
/* Initializes calibration driver of internal 12bit ADC */
|
||||
static void adc_cali_init(adc_cali_handle_t *handle)
|
||||
static void adc_cali_init(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));
|
||||
|
||||
/* Update caller's handle */
|
||||
*handle = cali_handle;
|
||||
ESP_ERROR_CHECK(adc_cali_create_scheme_curve_fitting(&cali_config, &adc_cali_handle));
|
||||
}
|
||||
|
||||
/* Initializes internal 12bit ADC */
|
||||
static void adc_cont_init(adc_continuous_handle_t *handle)
|
||||
static void adc_cont_init(void)
|
||||
{
|
||||
ESP_LOGI(TAG, "Initializing ADC continuous mode driver");
|
||||
|
||||
/* Create continuous mode driver handle */
|
||||
adc_continuous_handle_t adc_handle = NULL;
|
||||
adc_continuous_handle_cfg_t adc_handle_config = {
|
||||
.max_store_buf_size = 1024,
|
||||
.conv_frame_size = 100
|
||||
|
|
@ -67,26 +75,18 @@ static void adc_cont_init(adc_continuous_handle_t *handle)
|
|||
}
|
||||
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_cali_handle_t adc_cali_handle = NULL;
|
||||
adc_continuous_handle_t adc_handle = NULL;
|
||||
/* Initialize calibration driver */
|
||||
adc_cali_init(&adc_cali_handle);
|
||||
adc_cali_init();
|
||||
/* Initialize continuous driver */
|
||||
adc_cont_init(&adc_handle);
|
||||
|
||||
adc_cont_init();
|
||||
/* 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));
|
||||
/* Cleanup ADC */
|
||||
adc_cleanup();
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue