A31G12x F/W Packages  2.5.0
ABOV Cortex-M0+ Core based MCUs Integrated Driver
A31G12x_hal_aa_types.h
Go to the documentation of this file.
1 /***************************************************************************//****************************************************************************/
34 
35 #ifndef AA_TYPES_H
36 #define AA_TYPES_H
37 
38 #ifdef __cplusplus
39 extern "C" {
40 #endif
41 
42 //******************************************************************************
43 // Constant
44 //******************************************************************************
45 
46 /* NULL pointer */
47 #ifndef NULL
48 #define NULL ((void*) 0)
49 #endif
50 
51 //******************************************************************************
52 // Type
53 //******************************************************************************
54 
55 //==============================================================================
56 // Enumeration
57 //==============================================================================
58 
60 typedef enum
61 {
62  HAL_OK = 0x00U,
63  HAL_ERROR = 0x01U,
64  HAL_BUSY = 0x02U,
65  HAL_TIMEOUT = 0x03U
67 
69 typedef enum
70 {
71  FALSE = 0,
73 } Bool;
74 
76 typedef enum
77 {
78  RESET = 0,
81 
83 typedef enum
84 {
85  DISABLE = 0,
88 
90 typedef enum
91 {
92  ERROR = 0,
94 } Status;
95 
97 typedef enum
98 {
102 
103 //==============================================================================
104 // Generic
105 //==============================================================================
106 
107 typedef unsigned char b8; // boolean type
108 typedef char c8; // character type
109 typedef unsigned char u8; // 8-bit unsigned integer type
110 typedef signed char s8; // 8-bit signed integer type
111 typedef unsigned short int u16; // 16-bit unsigned integer type
112 typedef signed short int s16; // 16-bit signed integer type
113 // typedef unsigned int u32; // 32-bit unsigned integer type
114 // typedef signed int s32; // 32-bit signed integer type
115 typedef unsigned long int u32; // 32-bit unsigned integer type
116 typedef signed long int s32; // 32-bit signed integer type
117 typedef unsigned long long int u64; // 64-bit unsigned integer type
118 typedef signed long long int s64; // 64-bit signed integer type
119 typedef float f32; // 32-bit floating point type
120 typedef double f64; // 64-bit floating point type
121 
122 typedef volatile unsigned char vb8; // boolean type
123 typedef volatile char vc8; // character type
124 typedef volatile unsigned char vu8; // 8-bit unsigned integer type
125 typedef volatile signed char vs8; // 8-bit signed integer type
126 typedef volatile unsigned short int vu16; // 16-bit unsigned integer type
127 typedef volatile signed short int vs16; // 16-bit signed integer type
128 // typedef volatile unsigned int vu32; // 32-bit unsigned integer type
129 // typedef volatile signed int vs32; // 32-bit signed integer type
130 typedef volatile unsigned long int vu32; // 32-bit unsigned integer type
131 typedef volatile signed long int vs32; // 32-bit signed integer type
132 typedef volatile unsigned long long int vu64; // 64-bit unsigned integer type
133 typedef volatile signed long long int vs64; // 64-bit signed integer type
134 typedef volatile float vf32; // 32-bit floating point type
135 typedef volatile double vf64; // 64-bit floating point type
136 
137 //******************************************************************************
138 // Macro
139 //******************************************************************************
140 
141 //==============================================================================
142 // bit operation
143 //==============================================================================
144 
145 #define bitm( p ) ((u32)1<<(p))
146 #define bitp( r, p, v ) { \
147  r &= ~bitm( p ); \
148  r |= (((v) & bitm(0)) << (p)); \
149  }
150 #define bits( r, p ) r |= bitm( p )
151 #define bitr( r, p ) r &= ~bitm( p )
152 #define bitc( r, p ) r ^= bitm( p )
153 #define bitg( r, p ) ((r&bitm( p )) >> (p))
154 #define bitt( r, p, v ) ((r&bitm( p )) == ((v)<<(p)))
155 
156 #define bitsm( p, s ) ((((u64)1<<(s))-1) << (p))
157 #define bitsp( r, p, s, v ) { \
158  r &= ~bitsm( p, s ); \
159  r |= (((v) & bitsm(0,s)) << (p)); \
160  }
161 #define bitss( r, p, s ) r |= bitsm( p, s )
162 #define bitsr( r, p, s ) r &= ~bitsm( p, s )
163 #define bitsc( r, p, s ) r ^= bitsm( p, s )
164 #define bitsg( r, p, s ) ((r&bitsm( p, s )) >> (p))
165 #define bitst( r, p, s, v ) ((r&bitsm( p, s )) == ((v)<<(p)))
166 
167 //==============================================================================
168 // bit operation
169 //==============================================================================
170 
171 /*-------------------------------------------------------------------------*//*-------------------------------------------------------------------------*/
176 #undef _BIT
177 // Set bit macro
178 #define _BIT( n ) (1 << (n))
179 
180 /*-------------------------------------------------------------------------*//*-------------------------------------------------------------------------*/
185 #undef _SBF
186 // Set bit field macro
187 #define _SBF( f, v ) ((v) << (f))
188 
189 /*-------------------------------------------------------------------------*//*-------------------------------------------------------------------------*/
203 #undef _BITMASK
204 // Bitmask creation macro
205 #define _BITMASK( field_width ) (_BIT(field_width) - 1)
206 
207 //==============================================================================
208 // array
209 //==============================================================================
210 
211 // Number of elements in an array
212 #define NELEMENTS( array ) (sizeof (array) / sizeof (array[0]))
213 
214 //==============================================================================
215 // max/min
216 //==============================================================================
217 
218 // max
219 #if !defined( MAX )
220 #define MAX( a, b ) (((a) > (b)) ? (a) : (b))
221 #endif
222 
223 // min
224 #if !defined( MIN )
225 #define MIN( a, b ) (((a) < (b)) ? (a) : (b))
226 #endif
227 
228 //==============================================================================
229 // instruction
230 //==============================================================================
231 
232 #define SYS_RESET() NVIC_SystemReset()
233 
234 #define NOP() __NOP()
235 #define WFI() __WFI()
236 #define WFE() __WFE()
237 #define DI() __disable_irq() // reset value is "interrupt enable".
238 #define EI() __enable_irq() // reset value is "interrupt enable".
239 
240 #define APB_NOP {unsigned long tmp = CIDR;}
241 
242 //==============================================================================
243 // directive
244 //==============================================================================
245 
246 // Static data/function define
247 #define STATIC static
248 
249 // External data/function define
250 #define EXTERN extern
251 
252 // inline function
253 #ifdef __CC_ARM
254 #define INLINE __inline
255 #else
256 #define INLINE inline
257 #endif
258 
259 #ifdef __cplusplus
260 }
261 #endif
262 
263 #endif /* AA_TYPES_H */
264 
unsigned long int u32
char c8
unsigned short int u16
signed short int s16
enum FlagStatus SetState
volatile float vf32
signed long long int s64
unsigned long long int u64
volatile signed long long int vs64
volatile signed long int vs32
volatile unsigned long long int vu64
unsigned char b8
HAL_Status_Type
float f32
signed char s8
volatile unsigned char vu8
volatile char vc8
unsigned char u8
enum FlagStatus IntStatus
volatile signed char vs8
volatile unsigned long int vu32
double f64
volatile signed short int vs16
TRANSFER_BLOCK_Type
FunctionalState
volatile unsigned char vb8
volatile double vf64
volatile unsigned short int vu16
signed long int s32