VSF Documented
vsf_drv_usart_poll_util.h
Go to the documentation of this file.
1/*****************************************************************************
2 * Copyright(C)2009-2022 by VSF Team *
3 * *
4 * Licensed under the Apache License, Version 2.0 (the "License"); *
5 * you may not use this file except in compliance with the License. *
6 * You may obtain a copy of the License at *
7 * *
8 * http://www.apache.org/licenses/LICENSE-2.0 *
9 * *
10 * Unless required by applicable law or agreed to in writing, software *
11 * distributed under the License is distributed on an "AS IS" BASIS, *
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. *
13 * See the License for the specific language governing permissions and *
14 * limitations under the License. *
15 * *
16 ****************************************************************************/
17
18
19
20/*============================ INCLUDES ======================================*/
21#ifndef __HAL_DRIVER_COMMON_UART_POLL_UTILS_H__
22#define __HAL_DRIVER_COMMON_UART_POLL_UTILS_H__
23
24#ifdef __cplusplus
25extern "C" {
26#endif
27
28/*============================ MACROS ========================================*/
29
30#if USART_MAX_PORT >= 0
31#ifndef VSF_HAL_DRV_CFG_USART0_POLL_MODE_EN
32# define VSF_HAL_DRV_CFG_USART0_POLL_MODE_EN DISABLED
33#endif
34#endif
35
36#if USART_MAX_PORT >= 1
37#ifndef VSF_HAL_DRV_CFG_USART1_POLL_MODE_EN
38# define VSF_HAL_DRV_CFG_USART1_POLL_MODE_EN DISABLED
39#endif
40#endif
41
42#if USART_MAX_PORT >= 2
43#ifndef VSF_HAL_DRV_CFG_USART2_POLL_MODE_EN
44# define VSF_HAL_DRV_CFG_USART2_POLL_MODE_EN DISABLED
45#endif
46#endif
47
48#if USART_MAX_PORT >= 3
49#ifndef VSF_HAL_DRV_CFG_USART3_POLL_MODE_EN
50# define VSF_HAL_DRV_CFG_USART3_POLL_MODE_EN DISABLED
51#endif
52#endif
53
54#if USART_MAX_PORT >= 4
55#ifndef VSF_HAL_DRV_CFG_USART4_POLL_MODE_EN
56# define VSF_HAL_DRV_CFG_USART4_POLL_MODE_EN DISABLED
57#endif
58#endif
59
60#if USART_MAX_PORT >= 5
61#ifndef VSF_HAL_DRV_CFG_USART5_POLL_MODE_EN
62# define VSF_HAL_DRV_CFG_USART5_POLL_MODE_EN DISABLED
63#endif
64#endif
65
66
67#if USART_MAX_PORT >= 6
68#ifndef VSF_HAL_DRV_CFG_USART6_POLL_MODE_EN
69# define VSF_HAL_DRV_CFG_USART6_POLL_MODE_EN DISABLED
70#endif
71#endif
72
73#if USART_MAX_PORT >= 7
74#ifndef VSF_HAL_DRV_CFG_USART7_POLL_MODE_EN
75# define VSF_HAL_DRV_CFG_USART7_POLL_MODE_EN DISABLED
76#endif
77#endif
78
79#if USART_MAX_PORT >= 8
80#ifndef VSF_HAL_DRV_CFG_USART8_POLL_MODE_EN
81# define VSF_HAL_DRV_CFG_USART8_POLL_MODE_EN DISABLED
82#endif
83#endif
84
85#if USART_MAX_PORT >= 0
86// get macro for USART_MAX_PORT + 1
87# define MFUNC_IN_U8_DEC_VALUE (USART_MAX_PORT + 1)
89# define __USART_MAX_NORNIMAL_PORT MFUNC_OUT_DEC_STR
90#endif
91
92/*============================ MACROFIED FUNCTIONS ===========================*/
93
94#if USART_MAX_PORT >= 0
95# define __USART_POLL_AGENT(__N, ...) \
96 if (VSF_HAL_DRV_CFG_USART##__N##_POLL_MODE_EN) { \
97 ret &= vsf_usart##__N##_poll(); \
98 }
99
100# define __USART_POLL_ENTRY(__N, ...) \
101 extern bool vsf_usart##__N##_poll(void);
102
103# define USART_POLL_AGENTS VSF_MREPEAT(__USART_MAX_NORNIMAL_PORT, __USART_POLL_AGENT, NULL)
104#else
105# define USART_POLL_AGENTS
106#endif
107
108/*============================ TYPES =========================================*/
109/*============================ GLOBAL VARIABLES ==============================*/
110/*============================ LOCAL VARIABLES ===============================*/
111/*============================ PROTOTYPES ====================================*/
112
113#if USART_MAX_PORT >= 0
115#endif
116
117
118#ifdef __cplusplus
119}
120#endif
121
122#endif
123/* EOF */
#define NULL
Definition stddef.h:52
#define __USART_MAX_NORNIMAL_PORT
Definition vsf_drv_usart_poll_util.h:89
#define __USART_POLL_ENTRY(__N,...)
Definition vsf_drv_usart_poll_util.h:100
#define VSF_MREPEAT(__COUNT, __MACRO, __PARAM)
Definition vsf_repeat_macro.h:51