VSF Documented
usart_template.inc
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#if VSF_HAL_USE_USART == ENABLED
19
20/*============================ INCLUDES ======================================*/
21/*============================ MACROS ========================================*/
22
23#ifndef VSF_USART_CFG_REIMPLEMENT_API_REQUEST
24# define VSF_USART_CFG_REIMPLEMENT_API_REQUEST DISABLED
25#endif
26
27#ifndef VSF_USART_CFG_REIMPLEMENT_API_CAPABILITY
28# define VSF_USART_CFG_REIMPLEMENT_API_CAPABILITY DISABLED
29#endif
30
31#ifndef VSF_USART_CFG_REIMPLEMENT_API_CMD
32# define VSF_USART_CFG_REIMPLEMENT_API_CMD DISABLED
33#endif
34
35#ifdef VSF_USART_CFG_IMP_REMAP_PREFIX
36# undef VSF_USART_CFG_REIMPLEMENT_API_REQUEST
37# undef VSF_USART_CFG_REIMPLEMENT_API_CAPABILITY
38# undef VSF_USART_CFG_REIMPLEMENT_API_CMD
39# define VSF_USART_CFG_REIMPLEMENT_API_REQUEST ENABLED
40# define VSF_USART_CFG_REIMPLEMENT_API_CAPABILITY ENABLED
41# define VSF_USART_CFG_REIMPLEMENT_API_CMD ENABLED
42#endif
43
44#if VSF_USART_CFG_REIMPLEMENT_API_CAPABILITY == DISABLED
45# ifndef VSF_USART_CFG_CAPABILITY_IRQ_MASK
46# define VSF_USART_CFG_CAPABILITY_IRQ_MASK VSF_USART_IRQ_ALL_BITS_MASK
47# endif
48# ifndef VSF_USART_CFG_CAPABILITY_MAX_BAUDRATE
49# define VSF_USART_CFG_CAPABILITY_MAX_BAUDRATE 921600
50# endif
51# ifndef VSF_USART_CFG_CAPABILITY_MIN_BAUDRATE
52# define VSF_USART_CFG_CAPABILITY_MIN_BAUDRATE 4800
53# endif
54# ifndef VSF_USART_CFG_CAPABILITY_TXFIFO_DEPTH
55# define VSF_USART_CFG_CAPABILITY_TXFIFO_DEPTH 64
56# endif
57# ifndef VSF_USART_CFG_CAPABILITY_RXFIFO_DEPTH
58# define VSF_USART_CFG_CAPABILITY_RXFIFO_DEPTH 64
59# endif
60# ifndef VSF_USART_CFG_CAPABILITY_MAX_DATA_BITS
61# define VSF_USART_CFG_CAPABILITY_MAX_DATA_BITS 9
62# endif
63# ifndef VSF_USART_CFG_CAPABILITY_MIN_DATA_BITS
64# define VSF_USART_CFG_CAPABILITY_MIN_DATA_BITS 8
65# endif
66# ifndef VSF_USART_CFG_CAPABILITY_SUPPORT_RX_TIMEOUT
67# define VSF_USART_CFG_CAPABILITY_SUPPORT_RX_TIMEOUT 1
68# endif
69# ifndef VSF_USART_CFG_CAPABILITY_SUPPORT_SEND_BREAK
70# define VSF_USART_CFG_CAPABILITY_SUPPORT_SEND_BREAK 1
71# endif
72# ifndef VSF_USART_CFG_CAPABILITY_SUPPORT_SET_AND_CLEAR_BREAK
73# define VSF_USART_CFG_CAPABILITY_SUPPORT_SET_AND_CLEAR_BREAK 0
74# endif
75#endif
76
77#define vsf_real_usart_t VSF_MCONNECT(VSF_USART_CFG_IMP_PREFIX, _usart_t)
78#define vsf_real_usart_request_rx VSF_MCONNECT(VSF_USART_CFG_IMP_PREFIX, _usart_request_rx)
79#define vsf_real_usart_cancel_rx VSF_MCONNECT(VSF_USART_CFG_IMP_PREFIX, _usart_cancel_rx)
80#define vsf_real_usart_get_rx_count VSF_MCONNECT(VSF_USART_CFG_IMP_PREFIX, _usart_get_rx_count)
81#define vsf_real_usart_request_tx VSF_MCONNECT(VSF_USART_CFG_IMP_PREFIX, _usart_request_tx)
82#define vsf_real_usart_cancel_tx VSF_MCONNECT(VSF_USART_CFG_IMP_PREFIX, _usart_cancel_tx)
83#define vsf_real_usart_get_tx_count VSF_MCONNECT(VSF_USART_CFG_IMP_PREFIX, _usart_get_tx_count)
84#define vsf_real_usart_capability VSF_MCONNECT(VSF_USART_CFG_IMP_PREFIX, _usart_capability)
85#define vsf_real_usart_cmd VSF_MCONNECT(VSF_USART_CFG_IMP_PREFIX, _usart_cmd)
86#define vsf_real_usart_tx_send_break VSF_MCONNECT(VSF_USART_CFG_IMP_PREFIX, _usart_tx_send_break)
87
88/*============================ IMPLEMENTATION ================================*/
89
90#if VSF_USART_CFG_REIMPLEMENT_API_REQUEST == DISABLED
91
92vsf_err_t vsf_real_usart_request_rx(vsf_real_usart_t *usart_ptr, void *buffer_ptr, uint_fast32_t count)
93{
95 return VSF_ERR_FAIL;
96}
97
98vsf_err_t vsf_real_usart_cancel_rx(vsf_real_usart_t *usart_ptr)
99{
101 return VSF_ERR_FAIL;
102}
103
104int_fast32_t vsf_real_usart_get_rx_count(vsf_real_usart_t *usart_ptr)
105{
107 return -1;
108}
109
110vsf_err_t vsf_real_usart_request_tx(vsf_real_usart_t *usart_ptr, void *buffer_ptr, uint_fast32_t count)
111{
113 return VSF_ERR_FAIL;
114}
115
116vsf_err_t vsf_real_usart_cancel_tx(vsf_real_usart_t *usart_ptr)
117{
119 return VSF_ERR_FAIL;
120}
121
122int_fast32_t vsf_real_usart_get_tx_count(vsf_real_usart_t *usart_ptr)
123{
125 return -1;
126}
127
128#endif
129
130#if VSF_USART_CFG_REIMPLEMENT_API_CAPABILITY == DISABLED
131vsf_usart_capability_t vsf_real_usart_capability(vsf_real_usart_t *usart_ptr)
132{
133 vsf_usart_capability_t usart_capability = {
134 .irq_mask = VSF_USART_CFG_CAPABILITY_IRQ_MASK,
135 .max_baudrate = VSF_USART_CFG_CAPABILITY_MAX_BAUDRATE,
136 .min_baudrate = VSF_USART_CFG_CAPABILITY_MIN_BAUDRATE,
137 .txfifo_depth = VSF_USART_CFG_CAPABILITY_TXFIFO_DEPTH,
138 .rxfifo_depth = VSF_USART_CFG_CAPABILITY_RXFIFO_DEPTH,
139 .max_data_bits = VSF_USART_CFG_CAPABILITY_MAX_DATA_BITS,
140 .min_data_bits = VSF_USART_CFG_CAPABILITY_MIN_DATA_BITS,
141 .support_rx_timeout = VSF_USART_CFG_CAPABILITY_SUPPORT_RX_TIMEOUT,
142 .support_send_break = VSF_USART_CFG_CAPABILITY_SUPPORT_SEND_BREAK,
143 .support_set_and_clear_break = VSF_USART_CFG_CAPABILITY_SUPPORT_SET_AND_CLEAR_BREAK,
144 };
145
146 return usart_capability;
147}
148#endif
149
150#if VSF_USART_CFG_REIMPLEMENT_API_CMD == DISABLED
151vsf_err_t vsf_real_usart_cmd(vsf_real_usart_t *usart_ptr, vsf_usart_cmd_t cmd, void * param)
152{
154
155 return VSF_ERR_NOT_SUPPORT;
156}
157#endif
158
159/*============================ MACROS ========================================*/
160
161#undef VSF_USART_CFG_REIMPLEMENT_API_CAPABILITY
162#undef VSF_USART_CFG_CAPABILITY_IRQ_MASK
163#undef VSF_USART_CFG_CAPABILITY_MAX_BAUDRATE
164#undef VSF_USART_CFG_CAPABILITY_MIN_BAUDRATE
165#undef VSF_USART_CFG_CAPABILITY_TXFIFO_DEPTH
166#undef VSF_USART_CFG_CAPABILITY_RXFIFO_DEPTH
167#undef VSF_USART_CFG_CAPABILITY_MAX_DATA_BITS
168#undef VSF_USART_CFG_CAPABILITY_MIN_DATA_BITS
169#undef VSF_USART_CFG_CAPABILITY_SUPPORT_RX_TIMEOUT
170#undef VSF_USART_CFG_REIMPLEMENT_API_REQUEST
171#undef VSF_USART_CFG_REIMPLEMENT_API_CMD
172#undef vsf_real_usart_t
173#undef vsf_real_usart_init
174#undef vsf_real_usart_fini
175#undef vsf_real_usart_rxfifo_read
176#undef vsf_real_usart_txfifo_write
177#undef vsf_real_usart_irq_enable
178#undef vsf_real_usart_irq_disable
179#undef vsf_real_usart_request_rx
180#undef vsf_real_usart_cancel_rx
181#undef vsf_real_usart_get_rx_count
182#undef vsf_real_usart_request_tx
183#undef vsf_real_usart_cancel_tx
184#undef vsf_real_usart_get_tx_count
185#undef vsf_real_usart_capability
186#undef vsf_real_usart_cmd
187#undef vsf_real_usart_tx_send_break
188
189/*============================ IMPLEMENTATION ================================*/
190/*============================ MACROS ========================================*/
191
192#ifdef VSF_USART_CFG_IMP_REMAP_PREFIX
193# define vsf_imp_usart_t VSF_MCONNECT(VSF_USART_CFG_IMP_PREFIX, _usart_t)
194# define vsf_imp_usart_init VSF_MCONNECT(VSF_USART_CFG_IMP_PREFIX, _usart_init)
195# define vsf_imp_usart_fini VSF_MCONNECT(VSF_USART_CFG_IMP_PREFIX, _usart_fini)
196# define vsf_imp_usart_capability VSF_MCONNECT(VSF_USART_CFG_IMP_PREFIX, _usart_capability)
197# define vsf_imp_usart_enable VSF_MCONNECT(VSF_USART_CFG_IMP_PREFIX, _usart_enable)
198# define vsf_imp_usart_disable VSF_MCONNECT(VSF_USART_CFG_IMP_PREFIX, _usart_disable)
199# define vsf_imp_usart_irq_enable VSF_MCONNECT(VSF_USART_CFG_IMP_PREFIX, _usart_irq_enable)
200# define vsf_imp_usart_irq_disable VSF_MCONNECT(VSF_USART_CFG_IMP_PREFIX, _usart_irq_disable)
201# define vsf_imp_usart_status VSF_MCONNECT(VSF_USART_CFG_IMP_PREFIX, _usart_status)
202# define vsf_imp_usart_rxfifo_get_data_count VSF_MCONNECT(VSF_USART_CFG_IMP_PREFIX, _usart_rxfifo_get_data_count)
203# define vsf_imp_usart_rxfifo_read VSF_MCONNECT(VSF_USART_CFG_IMP_PREFIX, _usart_rxfifo_read)
204# define vsf_imp_usart_txfifo_get_free_count VSF_MCONNECT(VSF_USART_CFG_IMP_PREFIX, _usart_txfifo_get_free_count)
205# define vsf_imp_usart_txfifo_write VSF_MCONNECT(VSF_USART_CFG_IMP_PREFIX, _usart_txfifo_write)
206# define vsf_imp_usart_request_rx VSF_MCONNECT(VSF_USART_CFG_IMP_PREFIX, _usart_request_rx)
207# define vsf_imp_usart_request_tx VSF_MCONNECT(VSF_USART_CFG_IMP_PREFIX, _usart_request_tx)
208# define vsf_imp_usart_cancel_rx VSF_MCONNECT(VSF_USART_CFG_IMP_PREFIX, _usart_cancel_rx)
209# define vsf_imp_usart_cancel_tx VSF_MCONNECT(VSF_USART_CFG_IMP_PREFIX, _usart_cancel_tx)
210# define vsf_imp_usart_get_rx_count VSF_MCONNECT(VSF_USART_CFG_IMP_PREFIX, _usart_get_rx_count)
211# define vsf_imp_usart_get_tx_count VSF_MCONNECT(VSF_USART_CFG_IMP_PREFIX, _usart_get_tx_count)
212# define vsf_imp_usart_cmd VSF_MCONNECT(VSF_USART_CFG_IMP_PREFIX, _usart_cmd)
213
214# define vsf_remap_usart_t VSF_MCONNECT(VSF_USART_CFG_IMP_REMAP_PREFIX, _usart_t)
215# define vsf_remap_usart_init VSF_MCONNECT(VSF_USART_CFG_IMP_REMAP_PREFIX, _usart_init)
216# define vsf_remap_usart_fini VSF_MCONNECT(VSF_USART_CFG_IMP_REMAP_PREFIX, _usart_fini)
217# define vsf_remap_usart_capability VSF_MCONNECT(VSF_USART_CFG_IMP_REMAP_PREFIX, _usart_capability)
218# define vsf_remap_usart_enable VSF_MCONNECT(VSF_USART_CFG_IMP_REMAP_PREFIX, _usart_enable)
219# define vsf_remap_usart_disable VSF_MCONNECT(VSF_USART_CFG_IMP_REMAP_PREFIX, _usart_disable)
220# define vsf_remap_usart_irq_enable VSF_MCONNECT(VSF_USART_CFG_IMP_REMAP_PREFIX, _usart_irq_enable)
221# define vsf_remap_usart_irq_disable VSF_MCONNECT(VSF_USART_CFG_IMP_REMAP_PREFIX, _usart_irq_disable)
222# define vsf_remap_usart_status VSF_MCONNECT(VSF_USART_CFG_IMP_REMAP_PREFIX, _usart_status)
223# define vsf_remap_usart_rxfifo_get_data_count VSF_MCONNECT(VSF_USART_CFG_IMP_REMAP_PREFIX, _usart_rxfifo_get_data_count)
224# define vsf_remap_usart_rxfifo_read VSF_MCONNECT(VSF_USART_CFG_IMP_REMAP_PREFIX, _usart_rxfifo_read)
225# define vsf_remap_usart_txfifo_get_free_count VSF_MCONNECT(VSF_USART_CFG_IMP_REMAP_PREFIX, _usart_txfifo_get_free_count)
226# define vsf_remap_usart_txfifo_write VSF_MCONNECT(VSF_USART_CFG_IMP_REMAP_PREFIX, _usart_txfifo_write)
227# define vsf_remap_usart_request_rx VSF_MCONNECT(VSF_USART_CFG_IMP_REMAP_PREFIX, _usart_request_rx)
228# define vsf_remap_usart_request_tx VSF_MCONNECT(VSF_USART_CFG_IMP_REMAP_PREFIX, _usart_request_tx)
229# define vsf_remap_usart_cancel_rx VSF_MCONNECT(VSF_USART_CFG_IMP_REMAP_PREFIX, _usart_cancel_rx)
230# define vsf_remap_usart_cancel_tx VSF_MCONNECT(VSF_USART_CFG_IMP_REMAP_PREFIX, _usart_cancel_tx)
231# define vsf_remap_usart_get_rx_count VSF_MCONNECT(VSF_USART_CFG_IMP_REMAP_PREFIX, _usart_get_rx_count)
232# define vsf_remap_usart_get_tx_count VSF_MCONNECT(VSF_USART_CFG_IMP_REMAP_PREFIX, _usart_get_tx_count)
233# define vsf_remap_usart_cmd VSF_MCONNECT(VSF_USART_CFG_IMP_REMAP_PREFIX, _usart_cmd)
234# define VSF_USART_CFG_IMP_REMAP_FUNCTIONS \
235 vsf_err_t vsf_imp_usart_init(vsf_imp_usart_t *usart_ptr, vsf_usart_cfg_t *cfg_ptr) \
236 { \
237 VSF_HAL_ASSERT(usart_ptr != NULL); \
238 return vsf_remap_usart_init(usart_ptr, cfg_ptr); \
239 } \
240 void vsf_imp_usart_fini(vsf_imp_usart_t *usart_ptr) \
241 { \
242 VSF_HAL_ASSERT(usart_ptr != NULL); \
243 vsf_remap_usart_fini(usart_ptr); \
244 } \
245 fsm_rt_t vsf_imp_usart_enable(vsf_imp_usart_t *usart_ptr) \
246 { \
247 VSF_HAL_ASSERT(usart_ptr != NULL); \
248 return vsf_remap_usart_enable(usart_ptr); \
249 } \
250 fsm_rt_t vsf_imp_usart_disable(vsf_imp_usart_t *usart_ptr) \
251 { \
252 VSF_HAL_ASSERT(usart_ptr != NULL); \
253 return vsf_remap_usart_disable(usart_ptr); \
254 } \
255 void vsf_imp_usart_irq_enable(vsf_imp_usart_t *usart_ptr, vsf_usart_irq_mask_t irq_mask) \
256 { \
257 VSF_HAL_ASSERT(usart_ptr != NULL); \
258 vsf_remap_usart_irq_enable(usart_ptr, irq_mask); \
259 } \
260 void vsf_imp_usart_irq_disable(vsf_imp_usart_t *usart_ptr, vsf_usart_irq_mask_t irq_mask) \
261 { \
262 VSF_HAL_ASSERT(usart_ptr != NULL); \
263 vsf_remap_usart_irq_disable(usart_ptr, irq_mask); \
264 } \
265 vsf_usart_status_t vsf_imp_usart_status(vsf_imp_usart_t *usart_ptr) \
266 { \
267 VSF_HAL_ASSERT(usart_ptr != NULL); \
268 return vsf_remap_usart_status(usart_ptr); \
269 } \
270 vsf_usart_capability_t vsf_imp_usart_capability(vsf_imp_usart_t *usart_ptr) \
271 { \
272 VSF_HAL_ASSERT(usart_ptr != NULL); \
273 return vsf_remap_usart_capability(usart_ptr); \
274 } \
275 uint_fast16_t vsf_imp_usart_rxfifo_get_data_count(vsf_imp_usart_t *usart_ptr) \
276 { \
277 VSF_HAL_ASSERT(usart_ptr != NULL); \
278 return vsf_remap_usart_rxfifo_get_data_count(usart_ptr); \
279 } \
280 uint_fast16_t vsf_imp_usart_rxfifo_read(vsf_imp_usart_t *usart_ptr, void *buffer_ptr, uint_fast16_t count) \
281 { \
282 VSF_HAL_ASSERT(usart_ptr != NULL); \
283 return vsf_remap_usart_rxfifo_read(usart_ptr, buffer_ptr, count); \
284 } \
285 uint_fast16_t vsf_imp_usart_txfifo_get_free_count(vsf_imp_usart_t *usart_ptr) \
286 { \
287 VSF_HAL_ASSERT(usart_ptr != NULL); \
288 return vsf_remap_usart_txfifo_get_free_count(usart_ptr); \
289 } \
290 uint_fast16_t vsf_imp_usart_txfifo_write(vsf_imp_usart_t *usart_ptr, void *buffer_ptr, uint_fast16_t count) \
291 { \
292 VSF_HAL_ASSERT(usart_ptr != NULL); \
293 return vsf_remap_usart_txfifo_write(usart_ptr, buffer_ptr, count); \
294 } \
295 vsf_err_t vsf_imp_usart_request_rx(vsf_imp_usart_t *usart_ptr, void *buffer_ptr, uint_fast32_t count) \
296 { \
297 VSF_HAL_ASSERT(usart_ptr != NULL); \
298 return vsf_remap_usart_request_rx(usart_ptr, buffer_ptr, count); \
299 } \
300 vsf_err_t vsf_imp_usart_request_tx(vsf_imp_usart_t *usart_ptr, void *buffer_ptr, uint_fast32_t count) \
301 { \
302 VSF_HAL_ASSERT(usart_ptr != NULL); \
303 return vsf_remap_usart_request_tx(usart_ptr, buffer_ptr, count); \
304 } \
305 vsf_err_t vsf_imp_usart_cancel_rx(vsf_imp_usart_t *usart_ptr) \
306 { \
307 VSF_HAL_ASSERT(usart_ptr != NULL); \
308 return vsf_remap_usart_cancel_rx(usart_ptr); \
309 } \
310 vsf_err_t vsf_imp_usart_cancel_tx(vsf_imp_usart_t *usart_ptr) \
311 { \
312 VSF_HAL_ASSERT(usart_ptr != NULL); \
313 return vsf_remap_usart_cancel_tx(usart_ptr); \
314 } \
315 int_fast32_t vsf_imp_usart_get_rx_count(vsf_imp_usart_t *usart_ptr) \
316 { \
317 VSF_HAL_ASSERT(usart_ptr != NULL); \
318 return vsf_remap_usart_get_rx_count(usart_ptr); \
319 } \
320 int_fast32_t vsf_imp_usart_get_tx_count(vsf_imp_usart_t *usart_ptr) \
321 { \
322 VSF_HAL_ASSERT(usart_ptr != NULL); \
323 return vsf_remap_usart_get_tx_count(usart_ptr); \
324 } \
325 vsf_err_t vsf_imp_usart_cmd(vsf_imp_usart_t *usart_ptr, vsf_usart_cmd_t cmd, void *param) \
326 { \
327 VSF_HAL_ASSERT(usart_ptr != NULL); \
328 return vsf_remap_usart_cmd(usart_ptr, cmd, param); \
329 }
330#endif
331
332/*============================ GLOBAL VARIABLES ==============================*/
333
334#define VSF_HAL_TEMPLATE_IMP_NAME _usart
335#define VSF_HAL_TEMPLATE_IMP_UPCASE_NAME _USART
336
337#ifndef VSF_USART_CFG_IMP_PREFIX
338# error "Please define VSF_USART_CFG_IMP_PREFIX in usart driver"
339#endif
340
341#ifndef VSF_USART_CFG_IMP_UPCASE_PREFIX
342# error "Please define VSF_USART_CFG_IMP_UPCASE_PREFIX in usart driver"
343#endif
344
345#ifndef VSF_USART_CFG_IMP_COUNT_MASK_PREFIX
346# define VSF_USART_CFG_IMP_COUNT_MASK_PREFIX VSF_USART_CFG_IMP_UPCASE_PREFIX
347#endif
348
349#ifdef VSF_USART_CFG_IMP_REMAP_FUNCTIONS
350# define VSF_HAL_CFG_IMP_REMAP_FUNCTIONS VSF_USART_CFG_IMP_REMAP_FUNCTIONS
351#endif
352
354
355#undef VSF_USART_CFG_IMP_PREFIX
356#undef VSF_USART_CFG_IMP_COUNT_MASK_PREFIX
357#undef VSF_USART_CFG_IMP_UPCASE_PREFIX
358#undef VSF_USART_CFG_IMP_REMAP_PREFIX
359#undef VSF_USART_CFG_IMP_LV0
360#undef VSF_USART_CFG_IMP_REMAP_FUNCTIONS
361#undef VSF_USART_CFG_IMP_HAS_OP
362#undef VSF_USART_CFG_IMP_EXTERN_OP
363
364#undef vsf_imp_usart_t
365#undef vsf_imp_usart_init
366#undef vsf_imp_usart_fini
367#undef vsf_imp_usart_capability
368#undef vsf_imp_usart_enable
369#undef vsf_imp_usart_disable
370#undef vsf_imp_usart_irq_enable
371#undef vsf_imp_usart_irq_disable
372#undef vsf_imp_usart_status
373#undef vsf_imp_usart_rxfifo_get_data_count
374#undef vsf_imp_usart_rxfifo_read
375#undef vsf_imp_usart_txfifo_get_free_count
376#undef vsf_imp_usart_txfifo_write
377#undef vsf_imp_usart_request_rx
378#undef vsf_imp_usart_request_tx
379#undef vsf_imp_usart_cancel_rx
380#undef vsf_imp_usart_cancel_tx
381#undef vsf_imp_usart_get_rx_count
382#undef vsf_imp_usart_get_tx_count
383#undef vsf_imp_usart_cmd
384#undef vsf_imp_usart_tx_send_break
385
386#undef vsf_remap_usart_t
387#undef vsf_remap_usart_init
388#undef vsf_remap_usart_fini
389#undef vsf_remap_usart_capability
390#undef vsf_remap_usart_enable
391#undef vsf_remap_usart_disable
392#undef vsf_remap_usart_irq_enable
393#undef vsf_remap_usart_irq_disable
394#undef vsf_remap_usart_status
395#undef vsf_remap_usart_rxfifo_get_data_count
396#undef vsf_remap_usart_rxfifo_read
397#undef vsf_remap_usart_txfifo_get_free_count
398#undef vsf_remap_usart_txfifo_write
399#undef vsf_remap_usart_request_rx
400#undef vsf_remap_usart_request_tx
401#undef vsf_remap_usart_cancel_rx
402#undef vsf_remap_usart_cancel_tx
403#undef vsf_remap_usart_get_rx_count
404#undef vsf_remap_usart_get_tx_count
405#undef vsf_remap_usart_cmd
406#undef vsf_remap_usart_tx_send_break
407
408#endif /* VSF_HAL_USE_USART */
vsf_err_t
Definition __type.h:42
@ VSF_ERR_NOT_SUPPORT
function not supported
Definition __type.h:46
@ VSF_ERR_FAIL
failed
Definition __type.h:51
unsigned int uint_fast32_t
Definition stdint.h:27
int int_fast32_t
Definition stdint.h:26
Definition vsf_template_usart.h:630
uint32_t max_baudrate
Definition vsf_template_usart.h:637
#define VSF_HAL_ASSERT(__CON)
all hal modules use this configuration file
Definition vsf_hal_cfg.h:36
vsf_usart_cmd_t
Predefined VSF USART command that can be reimplemented in specific hal drivers.
Definition vsf_template_usart.h:582