mirror of
				https://github.com/espressif/esp-idf.git
				synced 2025-10-30 22:51:41 +01:00 
			
		
		
		
	
		
			
	
	
		
			47 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
		
		
			
		
	
	
			47 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
|   | /*
 | ||
|  |  * SPDX-FileCopyrightText: 2021-2022 Espressif Systems (Shanghai) CO LTD | ||
|  |  * | ||
|  |  * SPDX-License-Identifier: Apache-2.0 | ||
|  |  */ | ||
|  | #pragma once
 | ||
|  | #include "esp_types.h"
 | ||
|  | #include "esp_err.h"
 | ||
|  | 
 | ||
|  | #ifdef __cplusplus
 | ||
|  | extern "C" { | ||
|  | #endif
 | ||
|  | 
 | ||
|  | 
 | ||
|  | typedef struct adc_cali_scheme_t adc_cali_scheme_t; | ||
|  | 
 | ||
|  | /**
 | ||
|  |  * @brief ADC Calibration Scheme Interface and Context | ||
|  |  */ | ||
|  | struct adc_cali_scheme_t { | ||
|  | 
 | ||
|  |     /**
 | ||
|  |      * @brief Convert ADC raw data to calibrated voltage | ||
|  |      * | ||
|  |      * @param[in]  arg        ///< ADC calibration scheme specific context
 | ||
|  |      * @param[in]  raw        ///< ADC raw data
 | ||
|  |      * @param[out] voltage    ///< Calibrated ADC voltage (in mV)
 | ||
|  |      * | ||
|  |      * @return | ||
|  |      *         - ESP_OK:                On success | ||
|  |      *         - ESP_ERR_INVALID_ARG:   Invalid argument | ||
|  |      *         - ESP_ERR_INVALID_STATE: Invalid state, scheme didn't registered | ||
|  |      */ | ||
|  |     esp_err_t (*raw_to_voltage)(void *arg, int raw, int *voltage); | ||
|  | 
 | ||
|  |     /**
 | ||
|  |      * @brief ADC calibration specific contexts | ||
|  |      * Can be customized to difference calibration schemes | ||
|  |      */ | ||
|  |     void *ctx; | ||
|  | 
 | ||
|  | }; | ||
|  | 
 | ||
|  | #ifdef __cplusplus
 | ||
|  | } | ||
|  | #endif
 |