kopia lustrzana https://github.com/espressif/esp-idf
51 wiersze
2.0 KiB
C
51 wiersze
2.0 KiB
C
/*
|
|
* SPDX-FileCopyrightText: 2015-2021 Espressif Systems (Shanghai) CO LTD
|
|
*
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include "sdkconfig.h"
|
|
#include "driver/adc_types_legacy.h"
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#if CONFIG_IDF_TARGET_ESP32 || CONFIG_IDF_TARGET_ESP32S2 || CONFIG_IDF_TARGET_ESP32C3 || CONFIG_IDF_TARGET_ESP32S3
|
|
/**
|
|
* @brief Type of calibration value used in characterization
|
|
*/
|
|
typedef enum {
|
|
ESP_ADC_CAL_VAL_EFUSE_VREF = 0, /**< Characterization based on reference voltage stored in eFuse*/
|
|
ESP_ADC_CAL_VAL_EFUSE_TP = 1, /**< Characterization based on Two Point values stored in eFuse*/
|
|
ESP_ADC_CAL_VAL_DEFAULT_VREF = 2, /**< Characterization based on default reference voltage*/
|
|
ESP_ADC_CAL_VAL_EFUSE_TP_FIT = 3, /**< Characterization based on Two Point values and fitting curve coefficients stored in eFuse */
|
|
ESP_ADC_CAL_VAL_MAX,
|
|
ESP_ADC_CAL_VAL_NOT_SUPPORTED = ESP_ADC_CAL_VAL_MAX,
|
|
} esp_adc_cal_value_t;
|
|
|
|
/**
|
|
* @brief Structure storing characteristics of an ADC
|
|
*
|
|
* @note Call esp_adc_cal_characterize() to initialize the structure
|
|
*/
|
|
typedef struct {
|
|
adc_unit_t adc_num; /**< ADC unit*/
|
|
adc_atten_t atten; /**< ADC attenuation*/
|
|
adc_bits_width_t bit_width; /**< ADC bit width */
|
|
uint32_t coeff_a; /**< Gradient of ADC-Voltage curve*/
|
|
uint32_t coeff_b; /**< Offset of ADC-Voltage curve*/
|
|
uint32_t vref; /**< Vref used by lookup table*/
|
|
const uint32_t *low_curve; /**< Pointer to low Vref curve of lookup table (NULL if unused)*/
|
|
const uint32_t *high_curve; /**< Pointer to high Vref curve of lookup table (NULL if unused)*/
|
|
uint8_t version; /**< ADC Calibration */
|
|
} esp_adc_cal_characteristics_t;
|
|
#endif //#if CONFIG_IDF_TARGET_ESP32 || CONFIG_IDF_TARGET_ESP32S2 || CONFIG_IDF_TARGET_ESP32C3 || CONFIG_IDF_TARGET_ESP32S3
|
|
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|