2022-09-02 04:18:14 -04:00
|
|
|
/*
|
|
|
|
* SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD
|
|
|
|
*
|
|
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
|
|
*/
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include "hal/adc_types.h"
|
|
|
|
#include "esp_err.h"
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
extern "C" {
|
|
|
|
#endif
|
|
|
|
|
|
|
|
typedef struct {
|
|
|
|
adc_unit_t adc_n; // ADC Unit
|
|
|
|
adc_channel_t channel; // ADC channel
|
|
|
|
adc_atten_t atten; // ADC channel attenuation
|
|
|
|
adc_bitwidth_t width; // ADC bit width, only used for ADC unit 1
|
|
|
|
adc_ulp_mode_t ulp_mode; // ADC ULP Mode
|
|
|
|
} ulp_adc_cfg_t; // ULP FSM ADC configuration parameters
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @brief Initialize and calibrate the ADC for use by ULP FSM
|
|
|
|
*
|
|
|
|
* @param cfg Configuration parameters
|
|
|
|
* @return esp_err_t ESP_OK for successful.
|
|
|
|
*/
|
|
|
|
esp_err_t ulp_adc_init(const ulp_adc_cfg_t *cfg);
|
|
|
|
|
2023-12-12 14:12:02 -05:00
|
|
|
/**
|
|
|
|
* @brief Deinitialize ADC after use with ULP, allowing it to be reclaimed
|
|
|
|
*
|
|
|
|
* @return esp_err_t ESP_OK for successful.
|
|
|
|
*/
|
|
|
|
esp_err_t ulp_adc_deinit();
|
|
|
|
|
2022-09-02 04:18:14 -04:00
|
|
|
#ifdef __cplusplus
|
|
|
|
}
|
|
|
|
#endif
|