thscps.h
Go to the documentation of this file.
1 /**
2  *****************************************************************************************
3  *
4  * @file thscps.h
5  *
6  * @brief Throughput Control Point Service API
7  *
8  *****************************************************************************************
9  * @attention
10  #####Copyright (c) 2019 GOODIX
11  All rights reserved.
12 
13  Redistribution and use in source and binary forms, with or without
14  modification, are permitted provided that the following conditions are met:
15  * Redistributions of source code must retain the above copyright
16  notice, this list of conditions and the following disclaimer.
17  * Redistributions in binary form must reproduce the above copyright
18  notice, this list of conditions and the following disclaimer in the
19  documentation and/or other materials provided with the distribution.
20  * Neither the name of GOODIX nor the names of its contributors may be used
21  to endorse or promote products derived from this software without
22  specific prior written permission.
23 
24  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
25  AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
26  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
27  ARE DISCLAIMED. IN NO EVENT SHALL COPYRIGHT HOLDERS AND CONTRIBUTORS BE
28  LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
29  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
30  SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
31  INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
32  CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
33  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
34  POSSIBILITY OF SUCH DAMAGE.
35  *****************************************************************************************
36  */
37 
38 /**
39  * @addtogroup BLE_SRV BLE Services
40  * @{
41  * @brief Definitions and prototypes for the BLE Service Interface.
42  */
43 
44 /**
45  * @defgroup BLE_SDK_THSCPS Throughput Control Point Client (THSCPS)
46  * @{
47  * @brief THS Control Point Interface module.
48  *
49  * @details The Throughput Control Point Service contains the APIs and types, which can be used by the
50  * application to perform throughput parameters set.
51  *
52  * After \ref thscps_evt_handler_t variable is initialized, the application must call \ref thscps_service_init()
53  * to add the Throughput Control Point Service and THS Control Point, THS Control Point Response characteristics
54  * to the BLE Stack database.
55  */
56 
57 #ifndef __THSCPS_H__
58 #define __THSCPS_H__
59 
60 #include "ble_prf_types.h"
61 #include "gr_includes.h"
62 #include "custom_config.h"
63 
64 /**
65  * @defgroup THSCPS_MACRO Defines
66  * @{
67  */
68 #define THSCPS_CONNECTION_MAX (10 < CFG_MAX_CONNECTIONS ?\
69  10 : CFG_MAX_CONNECTIONS) /**< Maximum number of THSCPS connections. */
70 #define THSCPS_CTRL_PT_VAL_LEN 20 /**< Length of the value of Control Point characteristic. */
71 #define THSCPS_TEST_SETTING_VAL_LEN 20 /**< Length of the value of Test Setting characteristic. */
72 #define THSCPS_TEST_INFO_VAL_LEN 20 /**< Length of the value of Test Information characteristic. */
73 #define THSCPS_CONN_INFO_VAL_LEN 20 /**< Length of the value of Connection Information characteristic. */
74 #define THSCPS_SERVICE_UUID 0x1B, 0xD7, 0x90, 0xEC, 0xE8, 0xB9, 0x75, 0x80,\
75  0x0A, 0x46, 0x44, 0xD3, 0x01, 0x07, 0xED, 0xA6 /**< The UUID of THS Control Point Control Point Service for setting advertising data. */
76 #define THSCPS_ACTION_ON 0x01 /**< Start the action. */
77 #define THSCPS_ACTION_OFF 0x00 /**< Stop the action. */
78 #define THSCPS_CTRL_PT_RSP_CODE 0xff /**< Response code. */
79 /** @} */
80 
81 /**
82  * @defgroup THSCPS_ENUM Enumerations
83  * @{
84  */
85 /**@brief Local device GAP Role Type. */
86 typedef enum
87 {
88  THSCPS_TEST_ROLE_INVALID, /**< Test role: Invalid. */
89  THSCPS_TEST_ROLE_SLAVE, /**< Test role: Slave. */
90  THSCPS_TEST_ROLE_MASTER, /**< Test role: Master. */
92 
93 /**
94  * @brief Specify PHY. */
95 typedef enum
96 {
97  THSCPS_LEGACY_ADV_PHY, /**< Undefined LE PHY. */
98  THSCPS_1MBPS_PHY, /**< LE 1M PHY. */
99  THSCPS_CODED_PHY , /**< LE Coded PHY. */
101 
102 /**@brief Throughput Test State. */
103 typedef enum
104 {
105  THSCPS_TEST_STOP, /**< Throughput Test is not ongoing. */
106  THSCPS_TEST_STARTED, /**< Throughput Test is ongoing. */
108 
109 /**@brief THS Control Point Service Control Point IDs. */
110 typedef enum
111 {
112  THSCPS_CTRL_PT_INVALID, /**< Invalid cmd id. */
113  THSCPS_CTRL_PT_TEST_ROLE, /**< Test role set. */
114  THSCPS_CTRL_PT_ADV_PARAM, /**< Advertising parameters set. */
115  THSCPS_CTRL_PT_ADV_ACTION, /**< Advertiding action. */
116  THSCPS_CTRL_PT_SCAN_ACTION, /**< Scan action. */
117  THSCPS_CTRL_PT_TEST_READY, /**< Ready for test. */
120 
121 /**@brief Throughput service settings types. */
122 typedef enum
123 {
124  THSCPS_SETTINGS_TYPE_CI, /**< BLE Connection Interval parameter. */
125  THSCPS_SETTINGS_TYPE_MTU, /**< MTU Size. */
126  THSCPS_SETTINGS_TYPE_PDU, /**< PDU Size. */
127  THSCPS_SETTINGS_TYPE_PHY, /**< Radio Phy mode, 1M, 2M, Encoded. */
128  THSCPS_SETTINGS_TYPE_TRANS_MODE, /**< Data transmission mode. */
129  THSCPS_SETTINGS_TYPE_TX_POWER, /**< Connect Tx power. */
130  THSCPS_SETTINGS_TYPE_TOGGLE, /**< Throughput toggle state of sending the data. */
132 
133 /**@brief THS Control Point Response Types. */
134 typedef enum
135 {
136  THSCPS_RSP_ID_SUCCESS, /**< Success. */
137  THSCPS_RSP_ID_UNSUPPORT, /**< Failed because of unsupport command. */
138  THSCPS_RSP_ID_STATUS_ERR, /**< Failed because of disallowed status. */
139  THSCPS_RSP_ID_PARAM_ERR, /**< Failed because of parameter error. */
140  THSCPS_RSP_ID_TEST_ROLE_ERR, /**< Failed becaude of Test role error. */
141  THSCPS_RSP_ID_SDK_ERR, /**< Failed becaude of SDK error Size. */
143 
144 /**@brief THS Control Point Service Event Type. */
145 typedef enum
146 {
147  THSCPS_EVT_INVALID, /**< Throughput Control Point Service invalid event. */
148  THSCPS_EVT_CTRL_PT_IND_ENABLE, /**< THS Control Point indicaiton is enabled. */
149  THSCPS_EVT_CTRL_PT_IND_DISABLE, /**< THS Control Point indicaiton is disabled. */
150  THSCPS_EVT_TSET_SET_NTF_ENABLE, /**< THS Test Information notification is enabled. */
151  THSCPS_EVT_TSET_SET_NTF_DISABLE, /**< THS Test Information notification is disabled. */
152  THSCPS_EVT_TSET_INFO_NTF_ENABLE, /**< THS Test Information notification is enabled. */
153  THSCPS_EVT_TSET_INFO_NTF_DISABLE, /**< THS Test Information notification is disabled. */
154  THSCPS_EVT_CONN_INFO_NTF_ENABLE, /**< THS Connection Information notification is enabled. */
155  THSCPS_EVT_CONN_INFO_NTF_DISABLE, /**< THS Connection Information notification is disabled. */
156  THSCPS_EVT_TEST_ROLE_SET, /**< Set Test role. */
157  THSCPS_EVT_ADV_PRAM_SET, /**< Set advertising parameters. */
158  THSCPS_EVT_ADV_ACTION, /**< Set advertising action. */
159  THSCPS_EVT_SCAN_ACTION, /**< Set scan action. */
160  THSCPS_EVT_SETTING_SET, /**< Throughput setting. */
162 /** @} */
163 
164 /**
165  * @defgroup THSCPS_STRUCT Structures
166  * @{
167  */
168 /**@brief THS Setting Information value. */
169 typedef struct
170 {
171  uint16_t length; /**< THS Setting Information length. */
172  const uint8_t *p_data; /**< THS Setting Information data. */
174 
175 /**@brief THS Test Information value. */
176 typedef struct
177 {
178  int8_t rssi; /**< RX rssi. */
179  uint8_t right_rate; /**< RX right rate. */
180  uint16_t instant_val; /**< Instant throughput value. */
181  uint16_t average_val; /**< Average throughput value. */
182  uint16_t packets_val; /**< Recieved Packects value. */
184 
185 /**@brief THS connect Information value. */
186 typedef struct
187 {
188  uint16_t ci; /**< Connect Interval. */
189  uint16_t pdu; /**< PDU. */
190  uint16_t mtu; /**< MTU. */
191  uint8_t tx_phy; /**< TX PHY. */
192  uint8_t rx_phy; /**< RX PHY. */
193  int8_t tx_power; /**< TX Power. */
194  uint8_t ths_mode; /**< THS Mode. */
196 
197 /**@brief THS Control Point Advertising Parameters. */
198 typedef struct
199 {
200  thscps_adv_phy_t phy; /**< Specify what PHY the Controller has changed for TX/RX. */
201  uint16_t interval; /**< Advertising interval. */
202  uint16_t duration; /**< Advertising duration. */
203  int8_t tx_power; /**< Advertising tx power. */
205 
206 /**@brief THS Control Point Response value. */
207 typedef struct
208 {
209  uint8_t cmd_id; /**< Commander ID. */
210  thscps_status_rsp_t status; /**< Status. */
211  uint8_t conn_idx; /**< Connection of cmd set. */
213 
214 /**@brief THS Control Point Service event. */
215 typedef struct
216 {
217  uint8_t conn_idx; /**< The connection index. */
218  thscps_evt_type_t evt_type; /**< THS client event type. */
219  union
220  {
221  uint8_t action_set; /**< Set action. */
222  thscps_test_role_t test_role; /**< GAP role type. */
223  thscps_adv_param_t adv_param; /**< Advertising parameters. */
224  thscps_setting_t setting_info; /**< Setting infomation. */
225  } param; /**< Event parameters. */
226 } thscps_evt_t;
227 /** @} */
228 
229 /**
230  * @defgroup THSCPS_TYPEDEF Typedefs
231  * @{
232  */
233 /**@brief THS Control Point Service event handler type. */
234 typedef void (*thscps_evt_handler_t)(thscps_evt_t *p_evt);
235 /** @} */
236 
237 /**
238  * @defgroup THSCPS_FUNCTION Functions
239  * @{
240  */
241 /**
242  *****************************************************************************************
243  * @brief Initialize a THS Control Point Service instance and add in the DB.
244  *
245  * @param[in] evt_handler: THS Control Point Service event handler.
246  *
247  * @return Result of service initialization.
248  *****************************************************************************************
249  */
251 
252 /**
253  *****************************************************************************************
254  * @brief Send Control Point Response if its indicaiton has been enabled.
255  *
256  * @param[in] conn_idx: Connnection index.
257  * @param[in] p_rsp_val: Pointer to Response value.
258  *
259  * @return Result of indicate value.
260  *****************************************************************************************
261  */
262 sdk_err_t thscps_ctrl_pt_rsp_send(uint8_t conn_idx, thscps_rsp_val_t *p_rsp_val);
263 
264 /**
265  *****************************************************************************************
266  * @brief Send Settings Response if its notification has been enabled.
267  *
268  * @param[in] conn_idx: Connnection index.
269  * @param[in] p_rsp_val: Pointer to Response value.
270  *
271  * @return Result of indicate value.
272  *****************************************************************************************
273  */
275 
276 /**
277  *****************************************************************************************
278  * @brief Send Throughput Test Information if its notification has been enabled.
279  *
280  * @param[in] conn_idx: Connnection index.
281  * @param[in] p_test_info: Pointer to test information value.
282  *
283  * @return Result of notify value.
284  *****************************************************************************************
285  */
286 sdk_err_t thscps_test_info_send(uint8_t conn_idx, thscps_test_info_t *p_test_info);
287 
288 /**
289  *****************************************************************************************
290  * @brief Send Throughput Test Connect Information if its notification has been enabled.
291  *
292  * @param[in] conn_idx: Connnection index.
293  * @param[in] p_conn_info: Pointer to connection information value.
294  *
295  * @return Result of notify value.
296  *****************************************************************************************
297  */
299 
300 /**
301  *****************************************************************************************
302  * @brief Set throughput state set.
303  *
304  * @param[in] test_state: Throughput Test state.
305  *****************************************************************************************
306  */
308 /** @} */
309 #endif
310 /** @} */
311 /** @} */
THSCPS_EVT_CTRL_PT_IND_ENABLE
@ THSCPS_EVT_CTRL_PT_IND_ENABLE
Definition: thscps.h:148
thscps_evt_t::setting_info
thscps_setting_t setting_info
Definition: thscps.h:224
thscps_conn_info_send
sdk_err_t thscps_conn_info_send(uint8_t conn_idx, thscps_test_conn_info_t *p_conn_info)
Send Throughput Test Connect Information if its notification has been enabled.
thscps_adv_param_t::tx_power
int8_t tx_power
Definition: thscps.h:203
thscps_adv_param_t::duration
uint16_t duration
Definition: thscps.h:202
THSCPS_TEST_ROLE_MASTER
@ THSCPS_TEST_ROLE_MASTER
Definition: thscps.h:90
thscps_service_init
sdk_err_t thscps_service_init(thscps_evt_handler_t evt_handler)
Initialize a THS Control Point Service instance and add in the DB.
THSCPS_LEGACY_ADV_PHY
@ THSCPS_LEGACY_ADV_PHY
Definition: thscps.h:97
thscps_adv_phy_t
thscps_adv_phy_t
Specify PHY.
Definition: thscps.h:96
thscps_setting_t::p_data
const uint8_t * p_data
Definition: thscps.h:172
THSCPS_EVT_TSET_INFO_NTF_ENABLE
@ THSCPS_EVT_TSET_INFO_NTF_ENABLE
Definition: thscps.h:152
thscps_test_info_t::right_rate
uint8_t right_rate
Definition: thscps.h:179
thscps_adv_param_t::interval
uint16_t interval
Definition: thscps.h:201
thscps_evt_t
THS Control Point Service event.
Definition: thscps.h:216
THSCPS_SETTINGS_TYPE_PHY
@ THSCPS_SETTINGS_TYPE_PHY
Definition: thscps.h:127
THSCPS_CTRL_PT_SCAN_ACTION
@ THSCPS_CTRL_PT_SCAN_ACTION
Definition: thscps.h:116
thscps_test_state_t
thscps_test_state_t
Throughput Test State.
Definition: thscps.h:104
thscps_test_setting_rsp_send
sdk_err_t thscps_test_setting_rsp_send(uint8_t conn_idx, thscps_rsp_val_t *p_rsp_val)
Send Settings Response if its notification has been enabled.
thscps_test_conn_info_t::ci
uint16_t ci
Definition: thscps.h:188
THSCPS_EVT_TSET_SET_NTF_DISABLE
@ THSCPS_EVT_TSET_SET_NTF_DISABLE
Definition: thscps.h:151
thscps_evt_t::test_role
thscps_test_role_t test_role
Definition: thscps.h:222
thscps_test_conn_info_t
THS connect Information value.
Definition: thscps.h:187
thscps_evt_t::adv_param
thscps_adv_param_t adv_param
Definition: thscps.h:223
thscps_ctrl_pt_rsp_send
sdk_err_t thscps_ctrl_pt_rsp_send(uint8_t conn_idx, thscps_rsp_val_t *p_rsp_val)
Send Control Point Response if its indicaiton has been enabled.
THSCPS_1MBPS_PHY
@ THSCPS_1MBPS_PHY
Definition: thscps.h:98
thscps_test_state_set
void thscps_test_state_set(thscps_test_state_t test_state)
Set throughput state set.
thscps_test_info_t::rssi
int8_t rssi
Definition: thscps.h:178
gr_includes.h
Include Files API.
THSCPS_EVT_TEST_ROLE_SET
@ THSCPS_EVT_TEST_ROLE_SET
Definition: thscps.h:156
thscps_rsp_val_t::status
thscps_status_rsp_t status
Definition: thscps.h:210
THSCPS_EVT_ADV_PRAM_SET
@ THSCPS_EVT_ADV_PRAM_SET
Definition: thscps.h:157
THSCPS_RSP_ID_SDK_ERR
@ THSCPS_RSP_ID_SDK_ERR
Definition: thscps.h:141
thscps_status_rsp_t
thscps_status_rsp_t
THS Control Point Response Types.
Definition: thscps.h:135
THSCPS_SETTINGS_TYPE_PDU
@ THSCPS_SETTINGS_TYPE_PDU
Definition: thscps.h:126
thscps_adv_param_t
THS Control Point Advertising Parameters.
Definition: thscps.h:199
THSCPS_SETTINGS_TYPE_TX_POWER
@ THSCPS_SETTINGS_TYPE_TX_POWER
Definition: thscps.h:129
thscps_test_info_send
sdk_err_t thscps_test_info_send(uint8_t conn_idx, thscps_test_info_t *p_test_info)
Send Throughput Test Information if its notification has been enabled.
thscps_test_info_t
THS Test Information value.
Definition: thscps.h:177
thscps_setting_t::length
uint16_t length
Definition: thscps.h:171
thscps_test_info_t::average_val
uint16_t average_val
Definition: thscps.h:181
THSCPS_RSP_ID_STATUS_ERR
@ THSCPS_RSP_ID_STATUS_ERR
Definition: thscps.h:138
THSCPS_RSP_ID_PARAM_ERR
@ THSCPS_RSP_ID_PARAM_ERR
Definition: thscps.h:139
thscps_evt_t::action_set
uint8_t action_set
Definition: thscps.h:221
THSCPS_SETTINGS_TYPE_CI
@ THSCPS_SETTINGS_TYPE_CI
Definition: thscps.h:124
thscps_test_info_t::instant_val
uint16_t instant_val
Definition: thscps.h:180
THSCPS_CTRL_PT_TEST_READY
@ THSCPS_CTRL_PT_TEST_READY
Definition: thscps.h:117
THSCPS_CTRL_PT_SETTING
@ THSCPS_CTRL_PT_SETTING
Definition: thscps.h:118
THSCPS_RSP_ID_SUCCESS
@ THSCPS_RSP_ID_SUCCESS
Definition: thscps.h:136
THSCPS_EVT_SCAN_ACTION
@ THSCPS_EVT_SCAN_ACTION
Definition: thscps.h:159
thscps_test_conn_info_t::mtu
uint16_t mtu
Definition: thscps.h:190
thscps_setting_t
THS Setting Information value.
Definition: thscps.h:170
ble_prf_types.h
Profile/Service Common Types.
THSCPS_CTRL_PT_TEST_ROLE
@ THSCPS_CTRL_PT_TEST_ROLE
Definition: thscps.h:113
THSCPS_EVT_TSET_INFO_NTF_DISABLE
@ THSCPS_EVT_TSET_INFO_NTF_DISABLE
Definition: thscps.h:153
thscps_settings_type_t
thscps_settings_type_t
Throughput service settings types.
Definition: thscps.h:123
THSCPS_EVT_CONN_INFO_NTF_ENABLE
@ THSCPS_EVT_CONN_INFO_NTF_ENABLE
Definition: thscps.h:154
THSCPS_CODED_PHY
@ THSCPS_CODED_PHY
Definition: thscps.h:99
thscps_evt_type_t
thscps_evt_type_t
THS Control Point Service Event Type.
Definition: thscps.h:146
sdk_err_t
uint16_t sdk_err_t
SDK API result type.
Definition: ble_error.h:273
thscps_test_role_t
thscps_test_role_t
Local device GAP Role Type.
Definition: thscps.h:87
THSCPS_EVT_SETTING_SET
@ THSCPS_EVT_SETTING_SET
Definition: thscps.h:160
THSCPS_RSP_ID_UNSUPPORT
@ THSCPS_RSP_ID_UNSUPPORT
Definition: thscps.h:137
thscps_test_conn_info_t::ths_mode
uint8_t ths_mode
Definition: thscps.h:194
thscps_adv_param_t::phy
thscps_adv_phy_t phy
Definition: thscps.h:200
thscps_test_conn_info_t::rx_phy
uint8_t rx_phy
Definition: thscps.h:192
THSCPS_EVT_CTRL_PT_IND_DISABLE
@ THSCPS_EVT_CTRL_PT_IND_DISABLE
Definition: thscps.h:149
THSCPS_RSP_ID_TEST_ROLE_ERR
@ THSCPS_RSP_ID_TEST_ROLE_ERR
Definition: thscps.h:140
THSCPS_CTRL_PT_ADV_PARAM
@ THSCPS_CTRL_PT_ADV_PARAM
Definition: thscps.h:114
THSCPS_SETTINGS_TYPE_TRANS_MODE
@ THSCPS_SETTINGS_TYPE_TRANS_MODE
Definition: thscps.h:128
thscps_test_conn_info_t::tx_phy
uint8_t tx_phy
Definition: thscps.h:191
thscps_test_conn_info_t::tx_power
int8_t tx_power
Definition: thscps.h:193
thscps_rsp_val_t::conn_idx
uint8_t conn_idx
Definition: thscps.h:211
thscps_ctrl_pt_id_t
thscps_ctrl_pt_id_t
THS Control Point Service Control Point IDs.
Definition: thscps.h:111
THSCPS_EVT_TSET_SET_NTF_ENABLE
@ THSCPS_EVT_TSET_SET_NTF_ENABLE
Definition: thscps.h:150
THSCPS_CTRL_PT_INVALID
@ THSCPS_CTRL_PT_INVALID
Definition: thscps.h:112
thscps_evt_t::evt_type
thscps_evt_type_t evt_type
Definition: thscps.h:218
THSCPS_TEST_STOP
@ THSCPS_TEST_STOP
Definition: thscps.h:105
thscps_evt_handler_t
void(* thscps_evt_handler_t)(thscps_evt_t *p_evt)
THS Control Point Service event handler type.
Definition: thscps.h:234
thscps_evt_t::conn_idx
uint8_t conn_idx
Definition: thscps.h:217
THSCPS_SETTINGS_TYPE_TOGGLE
@ THSCPS_SETTINGS_TYPE_TOGGLE
Definition: thscps.h:130
THSCPS_SETTINGS_TYPE_MTU
@ THSCPS_SETTINGS_TYPE_MTU
Definition: thscps.h:125
THSCPS_TEST_ROLE_SLAVE
@ THSCPS_TEST_ROLE_SLAVE
Definition: thscps.h:89
thscps_test_conn_info_t::pdu
uint16_t pdu
Definition: thscps.h:189
THSCPS_EVT_CONN_INFO_NTF_DISABLE
@ THSCPS_EVT_CONN_INFO_NTF_DISABLE
Definition: thscps.h:155
THSCPS_CTRL_PT_ADV_ACTION
@ THSCPS_CTRL_PT_ADV_ACTION
Definition: thscps.h:115
thscps_rsp_val_t
THS Control Point Response value.
Definition: thscps.h:208
thscps_test_info_t::packets_val
uint16_t packets_val
Definition: thscps.h:182
THSCPS_EVT_INVALID
@ THSCPS_EVT_INVALID
Definition: thscps.h:147
thscps_rsp_val_t::cmd_id
uint8_t cmd_id
Definition: thscps.h:209
THSCPS_EVT_ADV_ACTION
@ THSCPS_EVT_ADV_ACTION
Definition: thscps.h:158
THSCPS_TEST_ROLE_INVALID
@ THSCPS_TEST_ROLE_INVALID
Definition: thscps.h:88
THSCPS_TEST_STARTED
@ THSCPS_TEST_STARTED
Definition: thscps.h:106