/* * Copyright (c) 2015-2021 Arm Limited. All rights reserved. * * SPDX-License-Identifier: Apache-2.0 * * Licensed under the Apache License, Version 2.0 (the License); you may * not use this file except in compliance with the License. * You may obtain a copy of the License at * * www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an AS IS BASIS, WITHOUT * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * * ----------------------------------------------------------------------------- * * $Revision: V2.0.0 * * Project: CMSIS-Driver Validation * Title: Universal Synchronous Asynchronous Receiver/Transmitter (USART) * driver validation configuration file * * ----------------------------------------------------------------------------- */ #ifndef DV_USART_CONFIG_H_ #define DV_USART_CONFIG_H_ //-------- <<< Use Configuration Wizard in Context Menu >>> -------------------- // USART // Universal Synchronous Asynchronous Receiver/Transmitter (USART) driver validation configuration // Driver_USART# <0-255> // Choose the Driver_USART# instance to test. // For example to test Driver_USART0 select 0. // Configuration // Test Mode, USART Server and Tests configuration. // Test Mode // Select test mode: Loopback or USART Server. // For Loopback test mode connect the Tx and Rx lines directly. // Loopback test mode is used for basic driver functionality testing before using USART Server test mode. // For USART Server test mode connect: // - Tx line to Rx on the USART Server // - Rx line to Tx on the USART Server // - GND to same line on the USART Server // USART Server test mode is used for extensive driver functionality testing. // <0=> Loopback // <1=> USART Server // USART Server // USART Server configuration. // Specifies the communication settings at which Driver Validation communicates with the USART Server. // These settings must be same as settings configured and used by the USART Server. // Fixed settings: // Baudrate: 115200 // Data Bits: 8 // Parity: None // Stop Bits: 1 // Flow Control: None // Mode // Select mode setting used by the USART Server. // <1=> Asynchronous // <4=> Single-wire // <5=> IrDA // // Tests // Tests configuration // Default settings // Default settings used for tests. // Mode // Select default mode setting used for tests. // <1=> Asynchronous // <2=> Synchronous Master // <3=> Synchronous Slave // <4=> Single-wire // <5=> IrDA // Data Bits <5=> 5 <6=> 6 <7=> 7 <8=> 8 <9=> 9 // Select default data bits setting for tests. // This setting is used for all tests except the Data Exchange: Data Bits tests. // Parity <0=> None <1=> Even <2=> Odd // Select default parity setting for tests. // This setting is used for all tests except the Data Exchange: Parity tests. // Stop Bits <0=> 1 <1=> 2 <2=> 1.5 <3=> 0.5 // Select default stop bits setting for tests. // This setting is used for all tests except the Data Exchange: Stop Bits tests. // Flow control <0=> No <1=> RTS <2=> CTS <3=> RTS/CTS // Select default flow control setting for tests. // This setting is used for all tests except the Data Exchange: Flow Control tests. // Clock Polarity // Select default clock polarity for tests. // This setting is used for all tests except the Data Exchange: Polarity Phase tests. // This setting is only relevant for synchronous mode. // <0=> Clock Polarity 0 // <1=> Clock Polarity 1 // Clock Phase // Select default clock phase setting for tests. // This setting is used for all tests except the Data Exchange: Polarity Phase tests. // This setting is only relevant for synchronous mode. // <0=> Clock Phase 0 // <1=> Clock Phase 1 // Baudrate <115200-1000000000> // Select default baudrate setting for tests. // This setting is used for all tests except the Data Exchange: Baudrate tests. // Number of Items <1-1024> // Select default number of data items for tests. // This setting is used for all tests except the Data Exchange: Other: USART_Number_Of_Items tests. // // Baudrate // Baudrate tests configuration. // Minimum Baudrate <115200-1000000000> // Select minimum baudrate setting. // This setting is used only in USART_Baudrate_Min test function. // Maximum Baudrate <115200-1000000000> // Select maximum baudrate setting. // This setting is used only in USART_Baudrate_Max test function. // // Number of Items // Number of items test configuration. // This setting is used only in USART_Number_Of_Items test function. // (Value 0 means setting is not used) // Number of Items 1 <0-1024> // Number of Items 2 <0-1024> // Number of Items 3 <0-1024> // Number of Items 4 <0-1024> // Number of Items 5 <0-1024> // // // // Tests // Enable / disable tests. // Driver Management // Enable / disable driver management tests (functions: GetVersion, GetCapabilities, Initialize, Uninitialize, PowerControl). // USART_GetVersion // Enable / disable GetVersion function tests. // USART_GetCapabilities // Enable / disable GetCapabilities function tests. // USART_Initialize_Uninitialize // Enable / disable Initialize and Uninitialize functions tests. // USART_PowerControl // Enable / disable PowerControl function tests. // // Data Exchange // Enable / disable data exchange tests (functions: Send, Receive, Transfer, GetTxCount, GetRxCount, Control, GetStatus, SignalEvent). // Mode // Enable / disable USART mode tests. // (for Loopback test mode only Asynchronous, Synchronous Master and Single-wire mode tests are supported!) // USART_Mode_Asynchronous // Enable / disable data exchange in Asynchronous mode test. // USART_Mode_Synchronous_Master // Enable / disable data exchange in Synchronous Master mode test. // USART_Mode_Synchronous_Slave // Enable / disable data exchange in Synchronous Slave mode test. // USART_Mode_Single_Wire // Enable / disable data exchange in Single-wire mode test. // This test is supported only in Loopback test mode! // USART_Mode_IrDA // Enable / disable data exchange in Infra-red Data mode test. // This test requires IrDA hardware. // // Data Bits // Enable / disable data bits tests. // (for Loopback test mode only: 8 data bit test is supported!) // USART_Data_Bits_5 // Enable / disable data exchange with 5 data bits per packet test. // USART_Data_Bits_6 // Enable / disable data exchange with 6 data bits per packet test. // USART_Data_Bits_7 // Enable / disable data exchange with 7 data bits per packet test. // USART_Data_Bits_8 // Enable / disable data exchange with 8 data bits per packet test. // USART_Data_Bits_9 // Enable / disable data exchange with 9 dtat bits per packet test. // // Parity // Enable / disable parity tests. // (all of these tests are supported only in USART Server test mode!) // USART_Parity_None // Enable / disable data exchange with no parity test. // USART_Parity_Even // Enable / disable data exchange with even parity test. // USART_Parity_Odd // Enable / disable data exchange odd parity test. // // Stop Bits // Enable / disable stop bits tests. // (all of these tests are supported only in USART Server test mode!) // USART_Stop_Bits_1 // Enable / disable data exchange with 1 stop bit test. // USART_Stop_Bits_2 // Enable / disable data exchange with 2 stop bits test. // USART_Stop_Bits_1_5 // Enable / disable data exchange with 1.5 stop bits test. // USART_Stop_Bits_0_5 // Enable / disable data exchange with 0.5 stop bit test. // // Flow Control // Enable / disable flow control tests. // (all of these tests are supported only in USART Server test mode!) // USART_Flow_Control_None // Enable / disable data exchange with no flow control test. // USART_Flow_Control_RTS // Enable / disable data exchange with no flow control using RTS signal test. // USART_Flow_Control_CTS // Enable / disable data exchange with no flow control using CTS signal test. // USART_Flow_Control_RTS_CTS // Enable / disable data exchange with no flow control using RTS and CTS signals test. // // Clock Format // Enable / disable clock format tests. // (all of these tests are supported only in USART Server test mode!) // USART_Clock_Pol0_Pha0 // Enable / disable data exchange with clock format: Polarity 0 / Phase 0 test. // USART_Clock_Pol0_Pha1 // Enable / disable data exchange with clock format: Polarity 0 / Phase 1 test. // USART_Clock_Pol1_Pha0 // Enable / disable data exchange with clock format: Polarity 1 / Phase 0 test. // USART_Clock_Pol1_Pha1 // Enable / disable data exchange with clock format: Polarity 1 / Phase 1 test. // // Baudrate // Enable / disable baudrate tests. // USART_Baudrate_Min // Enable / disable data exchange at minimum supported baudrate test. // USART_Baudrate_Max // Enable / disable data exchange at maximum supported baudrate test. // // Other // Enable / disable other tests. // USART_Number_Of_Items // Enable / disable data exchange with different number of data items test. // USART_GetTxCount // Enable / disable GetTxCount count changing during data exchange (Send) test. // USART_GetRxCount // Enable / disable GetRxCount count changing during data exchange (Receive) test. // USART_GetTxRxCount // <> Enable / disable GetTxRxCount count changing during data exchange (Transfer) test (in Synchronous Master mode only). // USART_AbortSend // Enable / disable data exchange Abort Send test. // USART_AbortReceive // Enable / disable data exchange Abort Receive test. // USART_AbortTransfer // Enable / disable data exchange Abort Transfer test. // USART_TxBreak // Enable / disable Break signaling (Tx) test. // // // Modem // Enable / disable modem line tests (functions: SetModemControl, GetModemStatus). // (all of these tests are supported only in USART Server test mode!) // USART_SetModem_RTS // Enable / disable driving of RTS (Request To Send) modem line test. // USART_SetModem_DTR // Enable / disable driving of DTR (Data Terminal Ready) modem line test. // USART_GetModem_CTS // Enable / disable reading of CTS (Clear To Send) modem line test. // USART_GetModem_DSR // Enable / disable reading of DSR (Data Set Ready) modem line test. // USART_GetModem_DCD // Enable / disable reading of DCD (Data Carrier Detect) modem line test. // USART_GetModem_RI // Enable / disable reading of RI (Ring Indicator) modem line test. // // Event // Enable / disable event signaling tests (function: SignalEvent). // (all of these tests are supported only in USART Server test mode!) // USART_Tx_Underflow // Enable / disable ARM_USART_EVENT_TX_UNDERFLOW event generation test. // USART_Rx_Overflow // Enable / disable ARM_USART_EVENT_RX_OVERFLOW event generation test. // USART_Rx_Timeout // Enable / disable ARM_USART_EVENT_RX_TIMEOUT event generation test. // USART_Rx_Break // Enable / disable ARM_USART_EVENT_RX_BREAK event generation test. // USART_Rx_Framing_Error // Enable / disable ARM_USART_EVENT_RX_FRAMING_ERROR event generation test. // USART_Rx_Parity_Error // Enable / disable ARM_USART_EVENT_RX_PARITY_ERROR event generation test. // USART_Event_CTS // Enable / disable ARM_USART_EVENT_CTS event generation test. // USART_Event_DSR // Enable / disable ARM_USART_EVENT_DSR event generation test. // USART_Event_DCD // Enable / disable ARM_USART_EVENT_DCD event generation test. // USART_Event_RI // Enable / disable ARM_USART_EVENT_RI event generation test. // // // #define DRV_USART 0 #define USART_CFG_TEST_MODE 1 #define USART_CFG_SRV_MODE 1 #define USART_CFG_SRV_CMD_TOUT 100 #define USART_CFG_DEF_MODE 1 #define USART_CFG_DEF_DATA_BITS 8 #define USART_CFG_DEF_PARITY 0 #define USART_CFG_DEF_STOP_BITS 0 #define USART_CFG_DEF_FLOW_CONTROL 0 #define USART_CFG_DEF_CPOL 0 #define USART_CFG_DEF_CPHA 0 #define USART_CFG_DEF_BAUDRATE 115200 #define USART_CFG_DEF_NUM 512 #define USART_CFG_MIN_BAUDRATE 115200 #define USART_CFG_MAX_BAUDRATE 921600 #define USART_CFG_NUM1 1 #define USART_CFG_NUM2 31 #define USART_CFG_NUM3 65 #define USART_CFG_NUM4 1023 #define USART_CFG_NUM5 1024 #define USART_CFG_XFER_TIMEOUT 200 #define USART_TG_DRIVER_MANAGEMENT_EN 1 #define USART_TC_GET_VERSION_EN 1 #define USART_TC_GET_CAPABILITIES_EN 1 #define USART_TC_INIT_UNINIT_EN 1 #define USART_TC_POWER_CONTROL_EN 1 #define USART_TG_DATA_EXCHANGE_EN 1 #define USART_TG_MODE_EN 1 #define USART_TC_ASYNC_EN 1 #define USART_TC_SYNC_MASTER_EN 0 #define USART_TC_SYNC_SLAVE_EN 0 #define USART_TC_SINGLE_WIRE_EN 0 #define USART_TC_IRDA_EN 0 #define USART_TG_DATA_BITS_EN 1 #define USART_TC_DATA_BITS_5_EN 0 #define USART_TC_DATA_BITS_6_EN 0 #define USART_TC_DATA_BITS_7_EN 0 #define USART_TC_DATA_BITS_8_EN 1 #define USART_TC_DATA_BITS_9_EN 0 #define USART_TG_PARITY_EN 1 #define USART_TC_PARITY_NONE_EN 1 #define USART_TC_PARITY_EVEN_EN 1 #define USART_TC_PARITY_ODD_EN 1 #define USART_TG_STOP_BITS_EN 1 #define USART_TC_STOP_BITS_1_EN 1 #define USART_TC_STOP_BITS_2_EN 1 #define USART_TC_STOP_BITS_1_5_EN 0 #define USART_TC_STOP_BITS_0_5_EN 0 #define USART_TG_FLOW_CTRL_EN 0 #define USART_TC_FLOW_CTRL_NONE_EN 1 #define USART_TC_FLOW_CTRL_RTS_EN 1 #define USART_TC_FLOW_CTRL_CTS_EN 1 #define USART_TC_FLOW_CTRL_RTS_CTS_EN 1 #define USART_TG_CLOCK_EN 0 #define USART_TC_CLOCK_POL0_PHA0_EN 1 #define USART_TC_CLOCK_POL0_PHA1_EN 1 #define USART_TC_CLOCK_POL1_PHA0_EN 1 #define USART_TC_CLOCK_POL1_PHA1_EN 1 #define USART_TG_BAUDRATE_EN 1 #define USART_TC_BAUDRATE_MIN_EN 1 #define USART_TC_BAUDRATE_MAX_EN 1 #define USART_TG_OTHER_EN 1 #define USART_TC_NUMBER_OF_ITEMS_EN 1 #define USART_TC_GET_TX_COUNT_EN 1 #define USART_TC_GET_RX_COUNT_EN 1 #define USART_TC_GET_TX_RX_COUNT_EN 0 #define USART_TC_ABORT_SEND_EN 1 #define USART_TC_ABORT_RECEIVE_EN 1 #define USART_TC_ABORT_TRANSFER_EN 0 #define USART_TC_TX_BREAK_EN 1 #define USART_TG_MODEM_EN 0 #define USART_TC_MODEM_RTS_EN 1 #define USART_TC_MODEM_DTR_EN 0 #define USART_TC_MODEM_CTS_EN 1 #define USART_TC_MODEM_DSR_EN 0 #define USART_TC_MODEM_DCD_EN 0 #define USART_TC_MODEM_RI_EN 0 #define USART_TG_EVENT_EN 0 #define USART_TC_TX_UNDERFLOW_EN 0 #define USART_TC_RX_OVERFLOW_EN 1 #define USART_TC_RX_TIMEOUT_EN 1 #define USART_TC_RX_BREAK_EN 1 #define USART_TC_RX_FRAMING_ERROR_EN 1 #define USART_TC_RX_PARITY_ERROR_EN 1 #define USART_TC_EVENT_CTS_EN 0 #define USART_TC_EVENT_DSR_EN 0 #define USART_TC_EVENT_DCD_EN 0 #define USART_TC_EVENT_RI_EN 0 #endif /* DV_USART_CONFIG_H_ */