ulp_riscv_adc.h 780 B

123456789101112131415161718192021222324252627282930313233
  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. } ulp_riscv_adc_cfg_t; // ULP Riscv ADC configuration parameters
  18. /**
  19. * @brief Initialize and calibrate the ADC for use by ULP RISCV
  20. *
  21. * @param cfg Configuration parameters
  22. * @return esp_err_t ESP_OK for successful.
  23. */
  24. esp_err_t ulp_riscv_adc_init(const ulp_riscv_adc_cfg_t *cfg);
  25. #ifdef __cplusplus
  26. }
  27. #endif