ulp_adc.h 807 B

12345678910111213141516171819202122232425262728293031323334
  1. /*
  2. * SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD
  3. *
  4. * SPDX-License-Identifier: Apache-2.0
  5. */
  6. #pragma once
  7. #include "hal/adc_types.h"
  8. #include "esp_err.h"
  9. #ifdef __cplusplus
  10. extern "C" {
  11. #endif
  12. typedef struct {
  13. adc_unit_t adc_n; // ADC Unit
  14. adc_channel_t channel; // ADC channel
  15. adc_atten_t atten; // ADC channel attenuation
  16. adc_bitwidth_t width; // ADC bit width, only used for ADC unit 1
  17. adc_ulp_mode_t ulp_mode; // ADC ULP Mode
  18. } ulp_adc_cfg_t; // ULP FSM ADC configuration parameters
  19. /**
  20. * @brief Initialize and calibrate the ADC for use by ULP FSM
  21. *
  22. * @param cfg Configuration parameters
  23. * @return esp_err_t ESP_OK for successful.
  24. */
  25. esp_err_t ulp_adc_init(const ulp_adc_cfg_t *cfg);
  26. #ifdef __cplusplus
  27. }
  28. #endif