adc.h 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. /*
  2. * SPDX-FileCopyrightText: 2019-2021 Espressif Systems (Shanghai) CO LTD
  3. *
  4. * SPDX-License-Identifier: Apache-2.0
  5. */
  6. #pragma once
  7. #include "driver/adc_common.h"
  8. #ifdef __cplusplus
  9. extern "C" {
  10. #endif
  11. /*---------------------------------------------------------------
  12. Common setting
  13. ---------------------------------------------------------------*/
  14. /*************************************/
  15. /* Digital controller filter setting */
  16. /*************************************/
  17. /**
  18. * @brief Reset adc digital controller filter.
  19. *
  20. * @param idx Filter index.
  21. *
  22. * @return
  23. * - ESP_OK Success
  24. */
  25. esp_err_t adc_digi_filter_reset(adc_digi_filter_idx_t idx);
  26. /**
  27. * @brief Set adc digital controller filter configuration.
  28. *
  29. * @param idx Filter index.
  30. * @param config See ``adc_digi_filter_t``.
  31. *
  32. * @return
  33. * - ESP_OK Success
  34. */
  35. esp_err_t adc_digi_filter_set_config(adc_digi_filter_idx_t idx, adc_digi_filter_t *config);
  36. /**
  37. * @brief Get adc digital controller filter configuration.
  38. *
  39. * @param idx Filter index.
  40. * @param config See ``adc_digi_filter_t``.
  41. *
  42. * @return
  43. * - ESP_OK Success
  44. */
  45. esp_err_t adc_digi_filter_get_config(adc_digi_filter_idx_t idx, adc_digi_filter_t *config);
  46. /**
  47. * @brief Enable/disable adc digital controller filter.
  48. * Filtering the ADC data to obtain smooth data at higher sampling rates.
  49. *
  50. * @param idx Filter index.
  51. * @param enable Enable/Disable filter.
  52. *
  53. * @return
  54. * - ESP_OK Success
  55. */
  56. esp_err_t adc_digi_filter_enable(adc_digi_filter_idx_t idx, bool enable);
  57. /**************************************/
  58. /* Digital controller monitor setting */
  59. /**************************************/
  60. /**
  61. * @brief Config monitor of adc digital controller.
  62. *
  63. * @param idx Monitor index.
  64. * @param config See ``adc_digi_monitor_t``.
  65. *
  66. * @return
  67. * - ESP_OK Success
  68. */
  69. esp_err_t adc_digi_monitor_set_config(adc_digi_monitor_idx_t idx, adc_digi_monitor_t *config);
  70. /**
  71. * @brief Enable/disable monitor of adc digital controller.
  72. *
  73. * @param idx Monitor index.
  74. * @param enable True or false enable monitor.
  75. *
  76. * @return
  77. * - ESP_OK Success
  78. */
  79. esp_err_t adc_digi_monitor_enable(adc_digi_monitor_idx_t idx, bool enable);
  80. #ifdef __cplusplus
  81. }
  82. #endif