mirror of
				https://github.com/espressif/esp-idf.git
				synced 2025-11-04 14:14:11 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			42 lines
		
	
	
		
			972 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			42 lines
		
	
	
		
			972 B
		
	
	
	
		
			C
		
	
	
	
	
	
/*
 | 
						|
 * 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);
 | 
						|
 | 
						|
/**
 | 
						|
 * @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(void);
 | 
						|
 | 
						|
#ifdef __cplusplus
 | 
						|
}
 | 
						|
#endif
 |