summaryrefslogtreecommitdiff
path: root/bsp/Vango/v85xxp/libraries/VangoV85xxP_standard_peripheral/Include/lib_ana.h
blob: 104dc2c870b54340da0ba81923926c2d4befb268 (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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
/**
  ******************************************************************************
  * @file    lib_ana.h 
  * @author  Application Team
  * @version V1.1.0
  * @date    2019-10-28
  * @brief   Analog library.
  ******************************************************************************
  * @attention
  *
  *
  ******************************************************************************
  */
#ifndef __LIB_ANA_H
#define __LIB_ANA_H

#ifdef __cplusplus
 extern "C" {
#endif

#include "target.h"

/***** StatusMask (ANA_GetStatus) *****/
#define ANA_STATUS_AVCCLV       ANA_CMPOUT_AVCCLV
#define ANA_STATUS_VDCINDROP    ANA_CMPOUT_VDCINDROP
#define ANA_STATUS_VDDALARM     ANA_CMPOUT_VDDALARM
#define ANA_STATUS_COMP2        ANA_CMPOUT_CMP2
#define ANA_STATUS_COMP1        ANA_CMPOUT_CMP1
#define ANA_STATUS_LOCKL        ANA_CMPOUT_LOCKL
#define ANA_STATUS_LOCKH        ANA_CMPOUT_LOCKH

/***** IntMask (ANA_GetINTStatus / ANA_ClearINTStatus / ANA_INTConfig) *****/
#define ANA_INT_UPPER_TH3       ANA_INTEN_INTEN21
#define ANA_INT_LOWER_TH3       ANA_INTEN_INTEN20
#define ANA_INT_UPPER_TH2       ANA_INTEN_INTEN19
#define ANA_INT_LOWER_TH2       ANA_INTEN_INTEN18
#define ANA_INT_UPPER_TH1       ANA_INTEN_INTEN17
#define ANA_INT_LOWER_TH1       ANA_INTEN_INTEN16
#define ANA_INT_UPPER_TH0       ANA_INTEN_INTEN15
#define ANA_INT_LOWER_TH0       ANA_INTEN_INTEN14
#define ANA_INT_TADC_OVER       ANA_INTEN_INTEN13
#define ANA_INT_REGERR          ANA_INTEN_INTEN12
#define ANA_INT_SLPFAIL_VDCIN   ANA_INTEN_INTEN11
#define ANA_INT_AVCCLV          ANA_INTEN_INTEN10
#define ANA_INT_VDCINDROP       ANA_INTEN_INTEN8
#define ANA_INT_VDDALARM        ANA_INTEN_INTEN7
#define ANA_INT_COMP2           ANA_INTEN_INTEN3
#define ANA_INT_COMP1           ANA_INTEN_INTEN2
#define ANA_INT_ADCA            ANA_INTEN_INTEN1
#define ANA_INT_ADCM            ANA_INTEN_INTEN0
#define ANA_INT_Msk             (ANA_INTSTS_INTSTS21     \
                                |ANA_INTSTS_INTSTS20    \
                                |ANA_INTSTS_INTSTS19    \
                                |ANA_INTSTS_INTSTS18    \
                                |ANA_INTSTS_INTSTS17    \
                                |ANA_INTSTS_INTSTS16    \
                                |ANA_INTSTS_INTSTS15    \
                                |ANA_INTSTS_INTSTS14    \
                                |ANA_INTSTS_INTSTS13    \
                                |ANA_INTSTS_INTSTS12   \
                                |ANA_INTSTS_INTSTS11   \
                                |ANA_INTSTS_INTSTS10   \
                                |ANA_INTSTS_INTSTS8    \
                                |ANA_INTSTS_INTSTS7    \
                                |ANA_INTSTS_INTSTS3    \
                                |ANA_INTSTS_INTSTS2    \
                                |ANA_INTSTS_INTSTS1    \
                                |ANA_INTSTS_INTSTS0)

/****************************** ANA Instances *********************************/
#define IS_ANA_ALL_INSTANCE(INSTANCE) ((INSTANCE) == ANA)

/* Private macros ------------------------------------------------------------*/
#define IS_ANA_STATUS(__STATUS__)  (((__STATUS__) == ANA_STATUS_AVCCLV)    ||\
                                    ((__STATUS__) == ANA_STATUS_VDCINDROP) ||\
                                    ((__STATUS__) == ANA_STATUS_VDDALARM)  ||\
                                    ((__STATUS__) == ANA_STATUS_COMP2)     ||\
                                    ((__STATUS__) == ANA_STATUS_COMP1)     ||\
                                    ((__STATUS__) == ANA_STATUS_LOCKL)     ||\
                                    ((__STATUS__) == ANA_STATUS_LOCKH))

#define IS_ANA_INTSTSR(__INTSTSR__)  (((__INTSTSR__) == ANA_INT_UPPER_TH3)     ||\
                                      ((__INTSTSR__) == ANA_INT_LOWER_TH3)     ||\
                                      ((__INTSTSR__) == ANA_INT_UPPER_TH2)     ||\
                                      ((__INTSTSR__) == ANA_INT_LOWER_TH2)     ||\
                                      ((__INTSTSR__) == ANA_INT_UPPER_TH1)     ||\
                                      ((__INTSTSR__) == ANA_INT_LOWER_TH1)     ||\
                                      ((__INTSTSR__) == ANA_INT_UPPER_TH0)     ||\
                                      ((__INTSTSR__) == ANA_INT_LOWER_TH0)     ||\
                                      ((__INTSTSR__) == ANA_INT_TADC_OVER)     ||\
                                      ((__INTSTSR__) == ANA_INT_REGERR)        ||\
                                      ((__INTSTSR__) == ANA_INT_SLPFAIL_VDCIN) ||\
                                      ((__INTSTSR__) == ANA_INT_AVCCLV)        ||\
                                      ((__INTSTSR__) == ANA_INT_VDCINDROP)     ||\
                                      ((__INTSTSR__) == ANA_INT_VDDALARM)      ||\
                                      ((__INTSTSR__) == ANA_INT_COMP2)         ||\
                                      ((__INTSTSR__) == ANA_INT_COMP1)         ||\
                                      ((__INTSTSR__) == ANA_INT_ADCA)          ||\
                                      ((__INTSTSR__) == ANA_INT_ADCM))

#define IS_ANA_INTSTSC(__INTSTSC__)  ((((__INTSTSC__) & ANA_INT_Msk) != 0U) &&\
                                      (((__INTSTSC__) & ~ANA_INT_Msk) == 0U))

#define IS_ANA_INT(__INT__)  IS_ANA_INTSTSC(__INT__)

/* Exported Functions ------------------------------------------------------- */
uint8_t ANA_GetStatus(uint32_t StatusMask);
uint8_t ANA_GetINTStatus(uint32_t IntMask);
void ANA_ClearINTStatus(uint32_t IntMask);
void ANA_INTConfig(uint32_t IntMask, uint32_t NewState);

#ifdef __cplusplus
}
#endif
     
#endif  /* __LIB_ANA_H */

/*********************************** END OF FILE ******************************/