drv_adc.h 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. /**************************************************************************//**
  2. *
  3. * @copyright (C) 2020 Nuvoton Technology Corp. All rights reserved.
  4. *
  5. * SPDX-License-Identifier: Apache-2.0
  6. *
  7. * Change Logs:
  8. * Date Author Notes
  9. * 2021-4-7 Wayne First version
  10. *
  11. ******************************************************************************/
  12. #ifndef __DRV_ADC_H__
  13. #define __DRV_ADC_H__
  14. #include <rtthread.h>
  15. #include "nu_adc.h"
  16. #if defined(BSP_USING_ADC_TOUCH)
  17. #include "touch.h"
  18. #endif
  19. typedef enum
  20. {
  21. eAdc_MF, //0
  22. eAdc_KPEF, //1
  23. eAdc_PEDEF, //2
  24. eAdc_KPUEF, //3
  25. eAdc_PEUEF, //4
  26. eAdc_TF = 8, //8
  27. eAdc_ZF, //9
  28. eAdc_NACF, //10
  29. eAdc_VBF, //11
  30. eAdc_KPCF, //12
  31. eAdc_SELFTF, //13
  32. eAdc_INTKP = 16, //16
  33. eAdc_INTTC, //17
  34. eAdc_ISR_CNT //18
  35. } E_ADC_ISR_EVENT;
  36. typedef enum
  37. {
  38. eAdc_WKPEF,
  39. eAdc_WPEDEF,
  40. eAdc_WKISR_CNT
  41. } E_ADC_WKISR_EVENT;
  42. typedef struct
  43. {
  44. ADC_CALLBACK cbfunc;
  45. uint32_t private_data;
  46. } nu_adc_cb;
  47. typedef nu_adc_cb *nu_adc_cb_t;
  48. #if defined(BSP_USING_ADC_TOUCH)
  49. void nu_adc_touch_detect(rt_bool_t bStartDetect);
  50. int32_t nu_adc_touch_read_xyz(uint32_t *bufX, uint32_t *bufY, uint32_t *bufZ0, uint32_t *bufZ1, int32_t dataCnt);
  51. rt_err_t nu_adc_touch_enable(rt_touch_t psRtTouch);
  52. rt_err_t nu_adc_touch_disable(void);
  53. #endif
  54. #endif /* __DRV_ADC_H__ */