]> begriffs open source - cmsis-driver-validation/blob - Config/DV_USART_Config.h
Update GitHub Actions runner to ubuntu-22.04 (#18)
[cmsis-driver-validation] / Config / DV_USART_Config.h
1 /*
2  * Copyright (c) 2015-2021 Arm Limited. All rights reserved.
3  *
4  * SPDX-License-Identifier: Apache-2.0
5  *
6  * Licensed under the Apache License, Version 2.0 (the License); you may
7  * not use this file except in compliance with the License.
8  * You may obtain a copy of the License at
9  *
10  * www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing, software
13  * distributed under the License is distributed on an AS IS BASIS, WITHOUT
14  * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  * See the License for the specific language governing permissions and
16  * limitations under the License.
17  *
18  * -----------------------------------------------------------------------------
19  *
20  * $Revision:   V2.0.0
21  *
22  * Project:     CMSIS-Driver Validation
23  * Title:       Universal Synchronous Asynchronous Receiver/Transmitter (USART) 
24  *              driver validation configuration file
25  *
26  * -----------------------------------------------------------------------------
27  */
28
29 #ifndef DV_USART_CONFIG_H_
30 #define DV_USART_CONFIG_H_
31
32 //-------- <<< Use Configuration Wizard in Context Menu >>> --------------------
33
34 // <h> USART
35 //   <i> Universal Synchronous Asynchronous Receiver/Transmitter (USART) driver validation configuration
36 //   <o0> Driver_USART# <0-255>
37 //     <i> Choose the Driver_USART# instance to test.
38 //     <i> For example to test Driver_USART0 select 0.
39 //   <h> Configuration
40 //     <i> Test Mode, USART Server and Tests configuration.
41 //     <o1.0> Test Mode
42 //       <i> Select test mode: Loopback or USART Server.
43 //       <i> For Loopback test mode connect the Tx and Rx lines directly.
44 //       <i> Loopback test mode is used for basic driver functionality testing before using USART Server test mode.
45 //       <i> For USART Server test mode connect: 
46 //       <i>  - Tx line to Rx on the USART Server 
47 //       <i>  - Rx line to Tx on the USART Server
48 //       <i>  - GND to same line on the USART Server
49 //       <i> USART Server test mode is used for extensive driver functionality testing.
50 //       <0=> Loopback
51 //       <1=> USART Server
52 //     <h> USART Server
53 //       <i> USART Server configuration.
54 //       <i> Specifies the communication settings at which Driver Validation communicates with the USART Server.
55 //       <i> These settings must be same as settings configured and used by the USART Server.
56 //       <i> Fixed settings:
57 //       <i> Baudrate: 115200
58 //       <i> Data Bits: 8
59 //       <i> Parity: None
60 //       <i> Stop Bits: 1
61 //       <i> Flow Control: None
62 //       <o2> Mode
63 //         <i> Select mode setting used by the USART Server.
64 //         <1=> Asynchronous
65 //         <4=> Single-wire
66 //         <5=> IrDA
67 //     </h>
68 //     <h> Tests
69 //       <i> Tests configuration
70 //       <h> Default settings
71 //         <i> Default settings used for tests.
72 //         <o4> Mode
73 //           <i> Select default mode setting used for tests.
74 //           <1=> Asynchronous
75 //           <2=> Synchronous Master
76 //           <3=> Synchronous Slave
77 //           <4=> Single-wire
78 //           <5=> IrDA
79 //         <o5> Data Bits <5=> 5 <6=> 6 <7=> 7 <8=> 8 <9=> 9
80 //           <i> Select default data bits setting for tests.
81 //           <i> This setting is used for all tests except the Data Exchange: Data Bits tests.
82 //         <o6> Parity <0=> None <1=> Even <2=> Odd
83 //           <i> Select default parity setting for tests.
84 //           <i> This setting is used for all tests except the Data Exchange: Parity tests.
85 //         <o7> Stop Bits <0=> 1 <1=> 2 <2=> 1.5 <3=> 0.5
86 //           <i> Select default stop bits setting for tests.
87 //           <i> This setting is used for all tests except the Data Exchange: Stop Bits tests.
88 //         <o8> Flow control <0=> No <1=> RTS <2=> CTS <3=> RTS/CTS
89 //           <i> Select default flow control setting for tests.
90 //           <i> This setting is used for all tests except the Data Exchange: Flow Control tests.
91 //         <o9> Clock Polarity
92 //           <i> Select default clock polarity for tests.
93 //           <i> This setting is used for all tests except the Data Exchange: Polarity Phase tests.
94 //           <i> This setting is only relevant for synchronous mode.
95 //           <0=> Clock Polarity 0
96 //           <1=> Clock Polarity 1
97 //         <o10> Clock Phase
98 //           <i> Select default clock phase setting for tests.
99 //           <i> This setting is used for all tests except the Data Exchange: Polarity Phase tests.
100 //           <i> This setting is only relevant for synchronous mode.
101 //           <0=> Clock Phase 0
102 //           <1=> Clock Phase 1
103 //         <o11> Baudrate <115200-1000000000>
104 //           <i> Select default baudrate setting for tests.
105 //           <i> This setting is used for all tests except the Data Exchange: Baudrate tests.
106 //         <o12> Number of Items <1-1024>
107 //           <i> Select default number of data items for tests.
108 //           <i> This setting is used for all tests except the Data Exchange: Other: USART_Number_Of_Items tests.
109 //       </h>
110 //       <h> Baudrate
111 //         <i> Baudrate tests configuration.
112 //         <o13> Minimum Baudrate <115200-1000000000>
113 //           <i> Select minimum baudrate setting.
114 //           <i> This setting is used only in USART_Baudrate_Min test function.
115 //         <o14> Maximum Baudrate <115200-1000000000>
116 //           <i> Select maximum baudrate setting.
117 //           <i> This setting is used only in USART_Baudrate_Max test function.
118 //       </h>
119 //       <h> Number of Items
120 //         <i> Number of items test configuration.
121 //         <i> This setting is used only in USART_Number_Of_Items test function.
122 //         <i> (Value 0 means setting is not used)
123 //         <o15> Number of Items 1 <0-1024>
124 //         <o16> Number of Items 2 <0-1024>
125 //         <o17> Number of Items 3 <0-1024>
126 //         <o18> Number of Items 4 <0-1024>
127 //         <o19> Number of Items 5 <0-1024>
128 //       </h>
129 //     </h>
130 //   </h>
131 //   <h> Tests
132 //     <i> Enable / disable tests.
133 //     <e21> Driver Management
134 //       <i> Enable / disable driver management tests (functions: GetVersion, GetCapabilities, Initialize, Uninitialize, PowerControl).
135 //       <q22> USART_GetVersion
136 //         <i> Enable / disable GetVersion function tests.
137 //       <q23> USART_GetCapabilities
138 //         <i> Enable / disable GetCapabilities function tests.
139 //       <q24> USART_Initialize_Uninitialize
140 //         <i> Enable / disable Initialize and Uninitialize functions tests.
141 //       <q25> USART_PowerControl
142 //         <i> Enable / disable PowerControl function tests.
143 //     </e>
144 //     <e26> Data Exchange
145 //       <i> Enable / disable data exchange tests (functions: Send, Receive, Transfer, GetTxCount, GetRxCount, Control, GetStatus, SignalEvent).
146 //       <e27> Mode
147 //         <i> Enable / disable USART mode tests.
148 //         <i> (for Loopback test mode only Asynchronous, Synchronous Master and Single-wire mode tests are supported!)
149 //         <q28> USART_Mode_Asynchronous
150 //           <i> Enable / disable data exchange in Asynchronous mode test.
151 //         <q29> USART_Mode_Synchronous_Master
152 //           <i> Enable / disable data exchange in Synchronous Master mode test.
153 //         <q30> USART_Mode_Synchronous_Slave
154 //           <i> Enable / disable data exchange in Synchronous Slave mode test.
155 //         <q31> USART_Mode_Single_Wire
156 //           <i> Enable / disable data exchange in Single-wire mode test.
157 //           <i> This test is supported only in Loopback test mode!
158 //         <q32> USART_Mode_IrDA
159 //           <i> Enable / disable data exchange in Infra-red Data mode test.
160 //           <i> This test requires IrDA hardware.
161 //       </e>
162 //       <e33> Data Bits
163 //         <i> Enable / disable data bits tests.
164 //         <i> (for Loopback test mode only: 8 data bit test is supported!)
165 //         <q34> USART_Data_Bits_5
166 //           <i> Enable / disable data exchange with 5 data bits per packet test.
167 //         <q35> USART_Data_Bits_6
168 //           <i> Enable / disable data exchange with 6 data bits per packet test.
169 //         <q36> USART_Data_Bits_7
170 //           <i> Enable / disable data exchange with 7 data bits per packet test.
171 //         <q37> USART_Data_Bits_8
172 //           <i> Enable / disable data exchange with 8 data bits per packet test.
173 //         <q38> USART_Data_Bits_9
174 //           <i> Enable / disable data exchange with 9 dtat bits per packet test.
175 //       </e>
176 //       <e39> Parity
177 //         <i> Enable / disable parity tests.
178 //         <i> (all of these tests are supported only in USART Server test mode!)
179 //         <q40> USART_Parity_None
180 //           <i> Enable / disable data exchange with no parity test.
181 //         <q41> USART_Parity_Even
182 //           <i> Enable / disable data exchange with even parity test.
183 //         <q42> USART_Parity_Odd
184 //           <i> Enable / disable data exchange odd parity test.
185 //       </e>
186 //       <e43> Stop Bits
187 //         <i> Enable / disable stop bits tests.
188 //         <i> (all of these tests are supported only in USART Server test mode!)
189 //         <q44> USART_Stop_Bits_1
190 //           <i> Enable / disable data exchange with 1 stop bit test.
191 //         <q45> USART_Stop_Bits_2
192 //           <i> Enable / disable data exchange with 2 stop bits test.
193 //         <q46> USART_Stop_Bits_1_5
194 //           <i> Enable / disable data exchange with 1.5 stop bits test.
195 //         <q47> USART_Stop_Bits_0_5
196 //           <i> Enable / disable data exchange with 0.5 stop bit test.
197 //       </e>
198 //       <e48> Flow Control
199 //         <i> Enable / disable flow control tests.
200 //         <i> (all of these tests are supported only in USART Server test mode!)
201 //         <q49> USART_Flow_Control_None
202 //           <i> Enable / disable data exchange with no flow control test.
203 //         <q50> USART_Flow_Control_RTS
204 //           <i> Enable / disable data exchange with no flow control using RTS signal test.
205 //         <q51> USART_Flow_Control_CTS
206 //           <i> Enable / disable data exchange with no flow control using CTS signal test.
207 //         <q52> USART_Flow_Control_RTS_CTS
208 //           <i> Enable / disable data exchange with no flow control using RTS and CTS signals test.
209 //       </e>
210 //       <e53> Clock Format
211 //         <i> Enable / disable clock format tests.
212 //         <i> (all of these tests are supported only in USART Server test mode!)
213 //         <q54> USART_Clock_Pol0_Pha0
214 //           <i> Enable / disable data exchange with clock format: Polarity 0 / Phase 0 test.
215 //         <q55> USART_Clock_Pol0_Pha1
216 //           <i> Enable / disable data exchange with clock format: Polarity 0 / Phase 1 test.
217 //         <q56> USART_Clock_Pol1_Pha0
218 //           <i> Enable / disable data exchange with clock format: Polarity 1 / Phase 0 test.
219 //         <q57> USART_Clock_Pol1_Pha1
220 //           <i> Enable / disable data exchange with clock format: Polarity 1 / Phase 1 test.
221 //       </e>
222 //       <e58> Baudrate
223 //         <i> Enable / disable baudrate tests.
224 //         <q59> USART_Baudrate_Min
225 //           <i> Enable / disable data exchange at minimum supported baudrate test.
226 //         <q60> USART_Baudrate_Max
227 //           <i> Enable / disable data exchange at maximum supported baudrate test.
228 //       </e>
229 //       <e61> Other
230 //         <i> Enable / disable other tests.
231 //         <q62> USART_Number_Of_Items
232 //           <i> Enable / disable data exchange with different number of data items test.
233 //         <q63> USART_GetTxCount
234 //           <i> Enable / disable GetTxCount count changing during data exchange (Send) test.
235 //         <q64> USART_GetRxCount
236 //           <i> Enable / disable GetRxCount count changing during data exchange (Receive) test.
237 //         <q65> USART_GetTxRxCount
238 //           <> Enable / disable GetTxRxCount count changing during data exchange (Transfer) test (in Synchronous Master mode only).
239 //         <q66> USART_AbortSend
240 //           <i> Enable / disable data exchange Abort Send test.
241 //         <q67> USART_AbortReceive
242 //           <i> Enable / disable data exchange Abort Receive test.
243 //         <q68> USART_AbortTransfer
244 //           <i> Enable / disable data exchange Abort Transfer test.
245 //         <q69> USART_TxBreak
246 //           <i> Enable / disable Break signaling (Tx) test.
247 //       </e>
248 //     </e>
249 //     <e70> Modem
250 //       <i> Enable / disable modem line tests (functions: SetModemControl, GetModemStatus).
251 //       <i> (all of these tests are supported only in USART Server test mode!)
252 //       <q71> USART_SetModem_RTS
253 //         <i> Enable / disable driving of RTS (Request To Send) modem line test.
254 //       <q72> USART_SetModem_DTR
255 //         <i> Enable / disable driving of DTR (Data Terminal Ready) modem line test.
256 //       <q73> USART_GetModem_CTS
257 //         <i> Enable / disable reading of CTS (Clear To Send) modem line test.
258 //       <q74> USART_GetModem_DSR
259 //         <i> Enable / disable reading of DSR (Data Set Ready) modem line test.
260 //       <q75> USART_GetModem_DCD
261 //         <i> Enable / disable reading of DCD (Data Carrier Detect) modem line test.
262 //       <q76> USART_GetModem_RI
263 //         <i> Enable / disable reading of RI (Ring Indicator) modem line test.
264 //     </e>
265 //     <e77> Event
266 //       <i> Enable / disable event signaling tests (function: SignalEvent).
267 //       <i> (all of these tests are supported only in USART Server test mode!)
268 //       <q78> USART_Tx_Underflow
269 //         <i> Enable / disable ARM_USART_EVENT_TX_UNDERFLOW event generation test.
270 //       <q79> USART_Rx_Overflow
271 //         <i> Enable / disable ARM_USART_EVENT_RX_OVERFLOW event generation test.
272 //       <q80> USART_Rx_Timeout
273 //         <i> Enable / disable ARM_USART_EVENT_RX_TIMEOUT event generation test.
274 //       <q81> USART_Rx_Break
275 //         <i> Enable / disable ARM_USART_EVENT_RX_BREAK event generation test.
276 //       <q82> USART_Rx_Framing_Error
277 //         <i> Enable / disable ARM_USART_EVENT_RX_FRAMING_ERROR event generation test.
278 //       <q83> USART_Rx_Parity_Error
279 //         <i> Enable / disable ARM_USART_EVENT_RX_PARITY_ERROR event generation test.
280 //       <q84> USART_Event_CTS
281 //         <i> Enable / disable ARM_USART_EVENT_CTS  event generation test.
282 //       <q85> USART_Event_DSR
283 //         <i> Enable / disable ARM_USART_EVENT_DSR event generation test.
284 //       <q86> USART_Event_DCD
285 //         <i> Enable / disable ARM_USART_EVENT_DCD event generation test.
286 //       <q87> USART_Event_RI
287 //         <i> Enable / disable ARM_USART_EVENT_RI event generation test.
288 //     </e>
289 //   </h>
290 // </h>
291
292 #define DRV_USART                       0
293 #define USART_CFG_TEST_MODE             1
294 #define USART_CFG_SRV_MODE              1
295 #define USART_CFG_SRV_CMD_TOUT          100
296 #define USART_CFG_DEF_MODE              1
297 #define USART_CFG_DEF_DATA_BITS         8
298 #define USART_CFG_DEF_PARITY            0
299 #define USART_CFG_DEF_STOP_BITS         0
300 #define USART_CFG_DEF_FLOW_CONTROL      0
301 #define USART_CFG_DEF_CPOL              0
302 #define USART_CFG_DEF_CPHA              0
303 #define USART_CFG_DEF_BAUDRATE          115200
304 #define USART_CFG_DEF_NUM               512
305 #define USART_CFG_MIN_BAUDRATE          115200
306 #define USART_CFG_MAX_BAUDRATE          921600
307 #define USART_CFG_NUM1                  1
308 #define USART_CFG_NUM2                  31
309 #define USART_CFG_NUM3                  65
310 #define USART_CFG_NUM4                  1023
311 #define USART_CFG_NUM5                  1024
312 #define USART_CFG_XFER_TIMEOUT          200
313 #define USART_TG_DRIVER_MANAGEMENT_EN   1
314 #define USART_TC_GET_VERSION_EN         1
315 #define USART_TC_GET_CAPABILITIES_EN    1
316 #define USART_TC_INIT_UNINIT_EN         1
317 #define USART_TC_POWER_CONTROL_EN       1
318 #define USART_TG_DATA_EXCHANGE_EN       1
319 #define USART_TG_MODE_EN                1
320 #define USART_TC_ASYNC_EN               1
321 #define USART_TC_SYNC_MASTER_EN         0
322 #define USART_TC_SYNC_SLAVE_EN          0
323 #define USART_TC_SINGLE_WIRE_EN         0
324 #define USART_TC_IRDA_EN                0
325 #define USART_TG_DATA_BITS_EN           1
326 #define USART_TC_DATA_BITS_5_EN         0
327 #define USART_TC_DATA_BITS_6_EN         0
328 #define USART_TC_DATA_BITS_7_EN         0
329 #define USART_TC_DATA_BITS_8_EN         1
330 #define USART_TC_DATA_BITS_9_EN         0
331 #define USART_TG_PARITY_EN              1
332 #define USART_TC_PARITY_NONE_EN         1
333 #define USART_TC_PARITY_EVEN_EN         1
334 #define USART_TC_PARITY_ODD_EN          1
335 #define USART_TG_STOP_BITS_EN           1
336 #define USART_TC_STOP_BITS_1_EN         1
337 #define USART_TC_STOP_BITS_2_EN         1
338 #define USART_TC_STOP_BITS_1_5_EN       0
339 #define USART_TC_STOP_BITS_0_5_EN       0
340 #define USART_TG_FLOW_CTRL_EN           0
341 #define USART_TC_FLOW_CTRL_NONE_EN      1
342 #define USART_TC_FLOW_CTRL_RTS_EN       1
343 #define USART_TC_FLOW_CTRL_CTS_EN       1
344 #define USART_TC_FLOW_CTRL_RTS_CTS_EN   1
345 #define USART_TG_CLOCK_EN               0
346 #define USART_TC_CLOCK_POL0_PHA0_EN     1
347 #define USART_TC_CLOCK_POL0_PHA1_EN     1
348 #define USART_TC_CLOCK_POL1_PHA0_EN     1
349 #define USART_TC_CLOCK_POL1_PHA1_EN     1
350 #define USART_TG_BAUDRATE_EN            1
351 #define USART_TC_BAUDRATE_MIN_EN        1
352 #define USART_TC_BAUDRATE_MAX_EN        1
353 #define USART_TG_OTHER_EN               1
354 #define USART_TC_NUMBER_OF_ITEMS_EN     1
355 #define USART_TC_GET_TX_COUNT_EN        1
356 #define USART_TC_GET_RX_COUNT_EN        1
357 #define USART_TC_GET_TX_RX_COUNT_EN     0
358 #define USART_TC_ABORT_SEND_EN          1
359 #define USART_TC_ABORT_RECEIVE_EN       1
360 #define USART_TC_ABORT_TRANSFER_EN      0
361 #define USART_TC_TX_BREAK_EN            1
362 #define USART_TG_MODEM_EN               0
363 #define USART_TC_MODEM_RTS_EN           1
364 #define USART_TC_MODEM_DTR_EN           0
365 #define USART_TC_MODEM_CTS_EN           1
366 #define USART_TC_MODEM_DSR_EN           0
367 #define USART_TC_MODEM_DCD_EN           0
368 #define USART_TC_MODEM_RI_EN            0
369 #define USART_TG_EVENT_EN               0
370 #define USART_TC_TX_UNDERFLOW_EN        0
371 #define USART_TC_RX_OVERFLOW_EN         1
372 #define USART_TC_RX_TIMEOUT_EN          1
373 #define USART_TC_RX_BREAK_EN            1
374 #define USART_TC_RX_FRAMING_ERROR_EN    1
375 #define USART_TC_RX_PARITY_ERROR_EN     1
376 #define USART_TC_EVENT_CTS_EN           0
377 #define USART_TC_EVENT_DSR_EN           0
378 #define USART_TC_EVENT_DCD_EN           0
379 #define USART_TC_EVENT_RI_EN            0
380
381 #endif /* DV_USART_CONFIG_H_ */