JM9 XRCU Board 0.1.1
Libraries API Reference
Loading...
Searching...
No Matches
WSerial.h
1#ifndef WIRING_SERIAL_H
2#define WIRING_SERIAL_H
3
4#include "variant.h"
5#include "HardwareSerial.h"
6#include "USBSerial.h"
7#include "VirtIOSerial.h"
8
9#if defined (USBCON) && defined(USBD_USE_CDC)
10 #ifndef DISABLE_GENERIC_SERIALUSB
11 #define ENABLE_SERIALUSB
12 #if !defined(Serial)
13 #define Serial SerialUSB
14 #define serialEvent serialEventUSB
15 #endif
16 #endif
17
18 #if defined(ENABLE_SERIALUSB)
19 #define HAVE_SERIALUSB
20 #endif
21
22 extern void serialEventUSB(void) __attribute__((weak));
23#endif /* USBCON && USBD_USE_CDC */
24
25#if defined(VIRTIOCON)
26 #ifndef DISABLE_GENERIC_SERIALVIRTIO
27 #define ENABLE_SERIALVIRTIO
28 #if !defined(Serial)
29 #define Serial SerialVirtIO
30 #define serialEvent serialEventVirtIO
31 #endif
32 #endif
33
34 #if defined(ENABLE_SERIALVIRTIO)
35 #define HAVE_SERIALVIRTIO
36 #endif
37
38 extern void serialEventVirtIO(void) __attribute__((weak));
39#endif /* VIRTIOCON */
40
41#if defined(HAL_UART_MODULE_ENABLED) && !defined(HAL_UART_MODULE_ONLY)
42 #if !defined(HWSERIAL_NONE) && defined(SERIAL_UART_INSTANCE)
43 #if SERIAL_UART_INSTANCE == 0 || SERIAL_UART_INSTANCE == 101
44 #define ENABLE_HWSERIALLP1
45 #if !defined(Serial)
46 #define Serial SerialLP1
47 #define serialEvent serialEventLP1
48 #endif
49 #elif SERIAL_UART_INSTANCE == 102
50 #define ENABLE_HWSERIALLP2
51 #if !defined(Serial)
52 #define Serial SerialLP2
53 #define serialEvent serialEventLP2
54 #endif
55 #elif SERIAL_UART_INSTANCE == 1
56 #define ENABLE_HWSERIAL1
57 #if !defined(Serial)
58 #define Serial Serial1
59 #define serialEvent serialEvent1
60 #endif
61 #elif SERIAL_UART_INSTANCE == 2
62 #define ENABLE_HWSERIAL2
63 #if !defined(Serial)
64 #define Serial Serial2
65 #define serialEvent serialEvent2
66 #endif
67 #elif SERIAL_UART_INSTANCE == 3
68 #define ENABLE_HWSERIAL3
69 #if !defined(Serial)
70 #define Serial Serial3
71 #define serialEvent serialEvent3
72 #endif
73 #elif SERIAL_UART_INSTANCE == 4
74 #define ENABLE_HWSERIAL4
75 #if !defined(Serial)
76 #define Serial Serial4
77 #define serialEvent serialEvent4
78 #endif
79 #elif SERIAL_UART_INSTANCE == 5
80 #define ENABLE_HWSERIAL5
81 #if !defined(Serial)
82 #define Serial Serial5
83 #define serialEvent serialEvent5
84 #endif
85 #elif SERIAL_UART_INSTANCE == 6
86 #define ENABLE_HWSERIAL6
87 #if !defined(Serial)
88 #define Serial Serial6
89 #define serialEvent serialEvent6
90 #endif
91 #elif SERIAL_UART_INSTANCE == 7
92 #define ENABLE_HWSERIAL7
93 #if !defined(Serial)
94 #define Serial Serial7
95 #define serialEvent serialEvent7
96 #endif
97 #elif SERIAL_UART_INSTANCE == 8
98 #define ENABLE_HWSERIAL8
99 #if !defined(Serial)
100 #define Serial Serial8
101 #define serialEvent serialEvent8
102 #endif
103 #elif SERIAL_UART_INSTANCE == 9
104 #define ENABLE_HWSERIAL9
105 #if !defined(Serial)
106 #define Serial Serial9
107 #define serialEvent serialEvent9
108 #endif
109 #elif SERIAL_UART_INSTANCE == 10
110 #define ENABLE_HWSERIAL10
111 #if !defined(Serial)
112 #define Serial Serial10
113 #define serialEvent serialEvent10
114 #endif
115 #else
116 #if !defined(Serial)
117 #warning "No generic 'Serial' defined!"
118 #endif
119 #endif /* SERIAL_UART_INSTANCE == x */
120 #endif /* !HWSERIAL_NONE && SERIAL_UART_INSTANCE */
121
122 #if defined(ENABLE_HWSERIALLP1)
123 #if defined(LPUART1_BASE)
124 #define HAVE_HWSERIALLP1
125 #endif
126 #endif
127 #if defined(ENABLE_HWSERIALLP2)
128 #if defined(LPUART2_BASE)
129 #define HAVE_HWSERIALLP2
130 #endif
131 #endif
132 #if defined(ENABLE_HWSERIAL1)
133 #if defined(USART1_BASE)
134 #define HAVE_HWSERIAL1
135 #endif
136 #endif
137 #if defined(ENABLE_HWSERIAL2)
138 #if defined(USART2_BASE)
139 #define HAVE_HWSERIAL2
140 #endif
141 #endif
142 #if defined(ENABLE_HWSERIAL3)
143 #if defined(USART3_BASE)
144 #define HAVE_HWSERIAL3
145 #endif
146 #endif
147 #if defined(ENABLE_HWSERIAL4)
148 #if defined(USART4_BASE) || defined(UART4_BASE)
149 #define HAVE_HWSERIAL4
150 #endif
151 #endif
152 #if defined(ENABLE_HWSERIAL5)
153 #if defined(USART5_BASE) || defined(UART5_BASE)
154 #define HAVE_HWSERIAL5
155 #endif
156 #endif
157 #if defined(ENABLE_HWSERIAL6)
158 #if defined(USART6_BASE)
159 #define HAVE_HWSERIAL6
160 #endif
161 #endif
162 #if defined(ENABLE_HWSERIAL7)
163 #if defined(USART7_BASE) || defined(UART7_BASE)
164 #define HAVE_HWSERIAL7
165 #endif
166 #endif
167 #if defined(ENABLE_HWSERIAL8)
168 #if defined(USART8_BASE) || defined(UART8_BASE)
169 #define HAVE_HWSERIAL8
170 #endif
171 #endif
172 #if defined(ENABLE_HWSERIAL9)
173 #if defined(UART9_BASE)
174 #define HAVE_HWSERIAL9
175 #endif
176 #endif
177 #if defined(ENABLE_HWSERIAL10)
178 #if defined(USART10_BASE) || defined(UART10_BASE)
179 #define HAVE_HWSERIAL10
180 #endif
181 #endif
182
183 #if defined(HAVE_HWSERIAL1)
184 extern void serialEvent1(void) __attribute__((weak));
185 #endif
186 #if defined(HAVE_HWSERIAL2)
187 extern void serialEvent2(void) __attribute__((weak));
188 #endif
189 #if defined(HAVE_HWSERIAL3)
190 extern void serialEvent3(void) __attribute__((weak));
191 #endif
192 #if defined(HAVE_HWSERIAL4)
193 extern void serialEvent4(void) __attribute__((weak));
194 #endif
195 #if defined(HAVE_HWSERIAL5)
196 extern void serialEvent5(void) __attribute__((weak));
197 #endif
198 #if defined(HAVE_HWSERIAL6)
199 extern void serialEvent6(void) __attribute__((weak));
200 #endif
201 #if defined(HAVE_HWSERIAL7)
202 extern void serialEvent7(void) __attribute__((weak));
203 #endif
204 #if defined(HAVE_HWSERIAL8)
205 extern void serialEvent8(void) __attribute__((weak));
206 #endif
207 #if defined(HAVE_HWSERIAL9)
208 extern void serialEvent9(void) __attribute__((weak));
209 #endif
210 #if defined(HAVE_HWSERIAL10)
211 extern void serialEvent10(void) __attribute__((weak));
212 #endif
213 #if defined(HAVE_HWSERIALLP1)
214 extern void serialEventLP1(void) __attribute__((weak));
215 #endif
216 #if defined(HAVE_HWSERIALLP2)
217 extern void serialEventLP2(void) __attribute__((weak));
218 #endif
219#endif /* HAL_UART_MODULE_ENABLED && !HAL_UART_MODULE_ONLY */
220
221extern void serialEventRun(void);
222
223#endif /* WIRING_SERIAL_H */