summaryrefslogtreecommitdiff
path: root/bsp/nuvoton/libraries/ma35/rtt_port/drv_adc.h
blob: 9d335352c77d27c0b33a4ba7a13e51ce547a1c57 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
/**************************************************************************//**
*
* @copyright (C) 2020 Nuvoton Technology Corp. All rights reserved.
*
* SPDX-License-Identifier: Apache-2.0
*
* Change Logs:
* Date            Author       Notes
* 2021-4-7        Wayne        First version
*
******************************************************************************/

#ifndef __DRV_ADC_H__
#define __DRV_ADC_H__

#include <rtthread.h>
#include "nu_adc.h"

#if defined(BSP_USING_ADC_TOUCH)
    #include <rtdevice.h>
#endif

typedef enum
{
    eAdc_MF, //0
    eAdc_KPEF, //1
    eAdc_PEDEF, //2
    eAdc_KPUEF, //3
    eAdc_PEUEF, //4
    eAdc_TF = 8, //8
    eAdc_ZF, //9
    eAdc_NACF, //10
    eAdc_VBF, //11
    eAdc_KPCF, //12
    eAdc_SELFTF, //13
    eAdc_INTKP = 16, //16
    eAdc_INTTC, //17
    eAdc_ISR_CNT //18
} E_ADC_ISR_EVENT;

typedef enum
{
    eAdc_WKPEF,
    eAdc_WPEDEF,
    eAdc_WKISR_CNT
} E_ADC_WKISR_EVENT;

typedef struct
{
    ADC_CALLBACK cbfunc;
    uint32_t private_data;
} nu_adc_cb;

typedef nu_adc_cb *nu_adc_cb_t;

#if defined(BSP_USING_ADC_TOUCH)
    void nu_adc_touch_detect(rt_bool_t bStartDetect);
    int32_t nu_adc_touch_read_xyz(uint32_t *bufX, uint32_t *bufY, uint32_t *bufZ0, uint32_t *bufZ1, int32_t dataCnt);
    rt_err_t nu_adc_touch_enable(rt_touch_t psRtTouch);
    rt_err_t nu_adc_touch_disable(void);
#endif

#endif /* __DRV_ADC_H__ */