]> begriffs open source - cmsis-driver-validation/blob - Source/cmsis_dv.c
- Minor spelling corrections in Abstract.txt file of example for STMicroelectronics...
[cmsis-driver-validation] / Source / cmsis_dv.c
1 /*-----------------------------------------------------------------------------
2  *      Name:         cmsis_dv.c
3  *      Purpose:      Driver validation test cases entry point
4  *----------------------------------------------------------------------------
5  *      Copyright(c) KEIL - An ARM Company
6  *----------------------------------------------------------------------------*/
7 #include "cmsis_dv.h"
8 #include "RTE_Components.h"
9 #include "DV_Framework.h"
10 #include "DV_Config.h"
11
12 /*-----------------------------------------------------------------------------
13  *      Variables declarations
14  *----------------------------------------------------------------------------*/
15 // Buffer list sizes
16 const uint32_t BUFFER[] =  {
17 #if (BUFFER_ELEM_1_32!=0)
18   1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,
19 #endif
20 #if (BUFFER_ELEM_512!=0)
21   512,
22 #endif
23 #if (BUFFER_ELEM_1024!=0)
24   1024,
25 #endif
26 #if (BUFFER_ELEM_4096!=0)
27   4096,
28 #endif
29 #if (BUFFER_ELEM_32768!=0)
30   32768,
31 #endif 
32 };
33 const uint32_t BUFFER_NUM = ARRAY_SIZE(BUFFER);
34
35 /*-----------------------------------------------------------------------------
36  *      Init test suite
37  *----------------------------------------------------------------------------*/
38 static void TS_Init (void) {
39
40 }
41
42 /*-----------------------------------------------------------------------------
43  *      Test cases list
44  *----------------------------------------------------------------------------*/
45 static TEST_CASE TC_LIST[] = {
46
47 #ifdef  RTE_DV_API_SPI 
48   TCD ( SPI_GetCapabilities,            SPI_GETCAPABILITIES_EN          ),
49   TCD ( SPI_Initialization,             SPI_INITIALIZATION_EN           ),
50   TCD ( SPI_PowerControl,               SPI_POWERCONTROL_EN             ),
51   TCD ( SPI_Config_PolarityPhase,       SPI_CONFIG_POLARITYPHASE_EN     ),
52   TCD ( SPI_Config_DataBits,            SPI_CONFIG_DATABITS_EN          ),
53   TCD ( SPI_Config_BitOrder,            SPI_CONFIG_BITORDER_EN          ),
54   TCD ( SPI_Config_SSMode,              SPI_CONFIG_SSMODE_EN            ),
55   TCD ( SPI_Config_BusSpeed,            SPI_CONFIG_BUSSPEED_EN          ),
56   TCD ( SPI_Config_CommonParams,        SPI_CONFIG_COMMONPARAMS_EN      ),
57   TCD ( SPI_Send,                       SPI_SEND_EN                     ),
58   TCD ( SPI_Receive,                    SPI_RECEIVE_EN                  ),
59   TCD ( SPI_Loopback_CheckBusSpeed,     SPI_LOOPBACK_CHECKBUSSPEED_EN   ),
60   TCD ( SPI_Loopback_Transfer,          SPI_LOOPBACK_TRANSFER_EN        ),
61   TCD ( SPI_CheckInvalidInit,           SPI_CHECKINVALIDINIT_EN         ),
62   
63 #endif
64 #ifdef  RTE_DV_API_USART    
65   TCD ( USART_GetCapabilities,          USART_GETCAPABILITIES_EN        ),
66   TCD ( USART_Initialization,           USART_INITIALIZATION_EN         ),
67   TCD ( USART_PowerControl,             USART_POWERCONTROL_EN           ),
68   TCD ( USART_Config_PolarityPhase,     USART_CONFIG_POLARITYPHASE_EN   ),
69   TCD ( USART_Config_DataBits,          USART_CONFIG_DATABITS_EN        ),
70   TCD ( USART_Config_StopBits,          USART_CONFIG_STOPBITS_EN        ),
71   TCD ( USART_Config_Parity,            USART_CONFIG_PARITY_EN          ),
72   TCD ( USART_Config_Baudrate,          USART_CONFIG_BAUDRATE_EN        ),
73   TCD ( USART_Config_CommonParams,      USART_CONFIG_COMMONPARAMS_EN    ),
74   TCD ( USART_Send,                     USART_SEND_EN                   ),
75   TCD ( USART_Loopback_CheckBaudrate,   USART_LOOPBACK_CHECKBAUDRATE_EN ),
76   TCD ( USART_Loopback_Transfer,        USART_LOOPBACK_TRANSFER_EN      ),
77   TCD ( USART_CheckInvalidInit,         USART_CHECKINVALIDINIT_EN       ),
78 #endif
79 #ifdef  RTE_DV_API_ETH  
80   TCD ( ETH_MAC_GetCapabilities,        ETH_MAC_GETCAPABILITIES_EN      ),
81   TCD ( ETH_MAC_Initialization,         ETH_MAC_INITIALIZATION_EN       ),
82   TCD ( ETH_MAC_PowerControl,           ETH_MAC_POWERCONTROL_EN         ),
83   TCD ( ETH_MAC_SetBusSpeed,            ETH_MAC_SETBUSSPEED_EN          ),
84   TCD ( ETH_MAC_Config_Mode,            ETH_MAC_CONFIG_MODE_EN          ),
85   TCD ( ETH_MAC_Config_CommonParams,    ETH_MAC_CONFIG_COMMONPARAMS_EN  ),
86   TCD ( ETH_MAC_PTP_ControlTimer,       ETH_MAC_PTP_CONTROLTIMER_EN     ),
87   TCD ( ETH_PHY_Initialization,         ETH_PHY_INITIALIZATION_EN       ),
88   TCD ( ETH_PHY_PowerControl,           ETH_PHY_POWERCONTROL_EN         ),
89   TCD ( ETH_PHY_Config,                 ETH_PHY_CONFIG_EN               ),
90   TCD ( ETH_Loopback_Transfer,          ETH_LOOPBACK_TRANSFER_EN        ),
91   TCD ( ETH_Loopback_PTP,               ETH_LOOPBACK_PTP_EN             ),
92   TCD ( ETH_PHY_CheckInvalidInit,       ETH_PHY_CHECKINVALIDINIT_EN     ),
93   TCD ( ETH_MAC_CheckInvalidInit,       ETH_MAC_CHECKINVALIDINIT_EN     ),
94 #endif
95 #ifdef  RTE_DV_API_I2C  
96   TCD ( I2C_GetCapabilities,            I2C_GETCAPABILITIES_EN          ),
97   TCD ( I2C_Initialization,             I2C_INITIALIZATION_EN           ),
98   TCD ( I2C_PowerControl,               I2C_POWERCONTROL_EN             ),
99   TCD ( I2C_SetBusSpeed,                I2C_SETBUSSPEED_EN              ),
100   TCD ( I2C_SetOwnAddress,              I2C_SETOWNADDRESS_EN            ),
101   TCD ( I2C_BusClear,                   I2C_BUSCLEAR_EN                 ),
102   TCD ( I2C_AbortTransfer,              I2C_ABORTTRANSFER_EN            ),
103   TCD ( I2C_CheckInvalidInit,           I2C_CHECKINVALIDINIT_EN         ),
104 #endif
105 #ifdef  RTE_DV_API_MCI  
106   TCD ( MCI_GetCapabilities,            MCI_GETCAPABILITIES_EN          ),
107   TCD ( MCI_Initialization,             MCI_INITIALIZATION_EN           ),
108   TCD ( MCI_PowerControl,               MCI_POWERCONTROL_EN             ),
109   TCD ( MCI_SetBusSpeedMode,            MCI_SETBUSSPEEDMODE_EN          ),
110   TCD ( MCI_Config_DataWidth,           MCI_CONFIG_DATAWIDTH_EN         ),
111   TCD ( MCI_Config_CmdLineMode,         MCI_CONFIG_CMDLINEMODE_EN       ),
112   TCD ( MCI_Config_DriverStrength,      MCI_CONFIG_DRIVERSTRENGTH_EN    ),
113   TCD ( MCI_CheckInvalidInit,           MCI_CHECKINVALIDINIT_EN         ),
114 #endif
115 #ifdef  RTE_DV_API_USBD
116   TCD ( USBD_GetCapabilities,           USBD_GETCAPABILITIES_EN         ),
117   TCD ( USBD_Initialization,            USBD_INITIALIZATION_EN          ),
118   TCD ( USBD_PowerControl,              USBD_POWERCONTROL_EN            ),
119   TCD ( USBD_CheckInvalidInit,          USBD_CHECKINVALIDINIT_EN        ),
120 #endif  
121 #ifdef  RTE_DV_API_USBH
122   TCD ( USBH_GetCapabilities,           USBH_GETCAPABILITIES_EN         ),
123   TCD ( USBH_Initialization,            USBH_INITIALIZATION_EN          ),
124   TCD ( USBH_PowerControl,              USBH_POWERCONTROL_EN            ),
125   TCD ( USBH_CheckInvalidInit,          USBH_CHECKINVALIDINIT_EN        ),
126 #endif 
127 #ifdef  RTE_DV_API_CAN
128   TCD ( CAN_GetCapabilities,            CAN_GETCAPABILITIES_EN          ),
129   TCD ( CAN_Initialization,             CAN_INITIALIZATION_EN           ),
130   TCD ( CAN_PowerControl,               CAN_POWERCONTROL_EN             ),
131   TCD ( CAN_Loopback_CheckBitrate,      CAN_LOOPBACK_CHECK_BR_EN        ),
132   TCD ( CAN_Loopback_CheckBitrateFD,    CAN_LOOPBACK_CHECK_BR_FD_EN     ),
133   TCD ( CAN_Loopback_Transfer,          CAN_LOOPBACK_TRANSFER_EN        ),
134   TCD ( CAN_Loopback_TransferFD,        CAN_LOOPBACK_TRANSFER_FD_EN     ),
135 #endif 
136 #ifdef  RTE_DV_WIFI
137   TCD ( WIFI_DV_Initialize,             1U                              ),
138
139   /*    WiFi Control tests */
140   #if ( WIFI_CONTROL_EN != 0)
141   TCD ( WIFI_GetVersion,                WIFI_GETVERSION_EN              ),
142   TCD ( WIFI_GetCapabilities,           WIFI_GETCAPABILITIES_EN         ),
143   TCD ( WIFI_Initialize_Uninitialize,   WIFI_INIT_UNINIT_EN             ),
144   TCD ( WIFI_PowerControl,              WIFI_POWERCONTROL_EN            ),
145   TCD ( WIFI_GetModuleInfo,             WIFI_GETMODULEINFO_EN           ),
146   #endif
147   /*    WiFi Management tests */
148   #if ( WIFI_MANAGEMENT_EN != 0)
149   TCD ( WIFI_SetOption_GetOption,       WIFI_SETGETOPTION_EN            ),
150   TCD ( WIFI_Scan,                      WIFI_SCAN_EN                    ),
151   TCD ( WIFI_Activate_Deactivate,       WIFI_ACT_DEACT_EN               ),
152   TCD ( WIFI_IsConnected,               WIFI_ISCONNECTED_EN             ),
153   TCD ( WIFI_GetNetInfo,                WIFI_GETNETINFO_EN              ),
154   #endif
155   /*    WiFi Management tests requireing user interaction */
156   #if ( WIFI_MANAGEMENT_USER_EN != 0)
157   TCD ( WIFI_Activate_AP,               WIFI_ACT_AP                     ),
158   #if ( WIFI_WPS_USER_EN != 0)
159   TCD ( WIFI_Activate_Station_WPS_PBC,  WIFI_ACT_STA_WPS_PBC            ),
160   TCD ( WIFI_Activate_Station_WPS_PIN,  WIFI_ACT_STA_WPS_PIN            ),
161   TCD ( WIFI_Activate_AP_WPS_PBC,       WIFI_ACT_AP_WPS_PBC             ),
162   TCD ( WIFI_Activate_AP_WPS_PIN,       WIFI_ACT_AP_WPS_PIN             ),
163   #endif
164   #endif
165   /*    WiFi Socket API tests */
166   #if ( WIFI_SOCKET_EN != 0)
167   TCD ( WIFI_SocketCreate,              WIFI_SOCKETCREATE_EN            ),
168   TCD ( WIFI_SocketBind,                WIFI_SOCKETBIND_EN              ),
169   TCD ( WIFI_SocketListen,              WIFI_SOCKETLISTEN_EN            ),
170   TCD ( WIFI_SocketAccept,              WIFI_SOCKETACCEPT_EN            ),
171   TCD ( WIFI_SocketConnect,             WIFI_SOCKETCONNECT_EN           ),
172   TCD ( WIFI_SocketRecv,                WIFI_SOCKETRECV_EN              ),
173   TCD ( WIFI_SocketRecvFrom,            WIFI_SOCKETRECVFROM_EN          ),
174   TCD ( WIFI_SocketSend,                WIFI_SOCKETSEND_EN              ),
175   TCD ( WIFI_SocketSendTo,              WIFI_SOCKETSENDTO_EN            ),
176   TCD ( WIFI_SocketGetSockName,         WIFI_SOCKETGETSOCKNAME_EN       ),
177   TCD ( WIFI_SocketGetPeerName,         WIFI_SOCKETGETPEERNAME_EN       ),
178   TCD ( WIFI_SocketGetOpt,              WIFI_SOCKETGETOPT_EN            ),
179   TCD ( WIFI_SocketSetOpt,              WIFI_SOCKETSETOPT_EN            ),
180   TCD ( WIFI_SocketClose,               WIFI_SOCKETCLOSE_EN             ),
181   TCD ( WIFI_SocketGetHostByName,       WIFI_SOCKETGETHOSTBYNAME_EN     ),
182   TCD ( WIFI_Ping,                      WIFI_PING_EN                    ),
183   #endif
184   /*    WiFi Socket Operation tests */
185   #if ( WIFI_SOCKET_OP_EN != 0)
186   TCD ( WIFI_Transfer_Fixed,            WIFI_TRANSFER_FIXED_EN          ),
187   TCD ( WIFI_Transfer_Incremental,      WIFI_TRANSFER_INCREMENTAL_EN    ),
188   TCD ( WIFI_Send_Fragmented,           WIFI_SEND_FRAGMENTED_EN         ),
189   TCD ( WIFI_Recv_Fragmented,           WIFI_RECV_FRAGMENTED_EN         ),
190   TCD ( WIFI_Test_Speed,                WIFI_TEST_SPEED_EN              ),
191   TCD ( WIFI_Concurrent_Socket,         WIFI_CONCURRENT_SOCKET_EN       ),
192   #endif
193
194   TCD ( WIFI_DV_Uninitialize,           1U                              ),
195 #endif
196 };
197
198 #if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050)
199 #pragma clang diagnostic push
200 #pragma clang diagnostic ignored "-Wdate-time"
201 #endif
202 /*-----------------------------------------------------------------------------
203  *      Test suite description
204  *----------------------------------------------------------------------------*/
205 TEST_SUITE ts = {
206   __FILE__, __DATE__, __TIME__,
207   "CMSIS-Driver Test Suite",
208   TS_Init,  
209   1,
210   TC_LIST,
211   ARRAY_SIZE (TC_LIST),  
212 };  
213 #if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050)
214 #pragma clang diagnostic pop
215 #endif