PageRenderTime 51ms CodeModel.GetById 21ms RepoModel.GetById 1ms app.codeStats 0ms

/drivers/net/wireless/tiwlan1251/CUDK/CLI/g_tester.c

https://bitbucket.org/cyanogenmod/cm-kernel
C | 2411 lines | 1497 code | 420 blank | 494 comment | 107 complexity | 15179421587f4a47125ec8e2a52e3eef MD5 | raw file
Possible License(s): GPL-2.0, LGPL-2.0, AGPL-1.0

Large files files are truncated, but you can click here to view the full file

  1. /*******************************************************************************
  2. **+--------------------------------------------------------------------------+**
  3. **| |**
  4. **| Copyright 1998-2008 Texas Instruments, Inc. - http://www.ti.com/ |**
  5. **| |**
  6. **| Licensed under the Apache License, Version 2.0 (the "License"); |**
  7. **| you may not use this file except in compliance with the License. |**
  8. **| You may obtain a copy of the License at |**
  9. **| |**
  10. **| http://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, |**
  14. **| WITHOUT 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. /****************************************************************************************************/
  21. /* */
  22. /* MODULE: wipp_ctrl.c */
  23. /* PURPOSE: WIPP Control utilities */
  24. /* Note: This module is for LINUX compilation only! */
  25. /* */
  26. /****************************************************************************************************/
  27. #include "TI_AdapterApiC.h"
  28. #include "osDot11.h"
  29. #include <stdlib.h>
  30. #include <fcntl.h>
  31. #include <errno.h>
  32. #include <sys/stat.h>
  33. #include <unistd.h>
  34. #include "g_tester.h"
  35. #include "console.h"
  36. #include "cu_cmd.h"
  37. #include "ticon.h"
  38. #include "ipc.h"
  39. #include "paramOut.h"
  40. /************/
  41. /* Defines */
  42. /**********/
  43. #define G_TESTER_STATUS_OK (0)
  44. #define G_TESTER_STATUS_ERROR (1)
  45. #define G_TESTER_GWSI_INIT_NO_ERROR (0x00)
  46. #define G_TESTER_GWSI_INIT_ERROR_READING_FW_FILE_LENGTH (0x01)
  47. #define G_TESTER_GWSI_INIT_ERROR_OPENING_FW_FILE (0x02)
  48. #define G_TESTER_GWSI_INIT_ERROR_READING_EP_FILE_LENGTH (0x03)
  49. #define G_TESTER_GWSI_INIT_ERROR_OPENING_EP_FILE (0x04)
  50. #define G_TESTER_GWSI_INIT_ERROR_READING_EP_FILE (0x05)
  51. #define G_TESTER_GWSI_INIT_ERROR_READING_FW_FILE (0x06)
  52. #define G_TESTER_GWSI_INIT_ERROR_ALLOCATION_MEMORY (0x07)
  53. #define G_TESTER_GWSI_GET_INIT_TABLE_NO_ERROR (0x00)
  54. #define G_TESTER_GWSI_GET_INIT_TABLE_ERROR_NO_FILE_NAME (0x01)
  55. #define G_TESTER_GWSI_GET_INIT_TABLE_ERROR_WRITING_TO_FILE (0x02)
  56. #define G_TESTER_GWSI_GET_INIT_TABLE_ERROR_CREATING_FILE (0x03)
  57. #define G_TESTER_GWSI_GET_INIT_TABLE_ERROR_TABLE_NOT_AVAIL (0x04)
  58. #define G_TESTER_GWSI_CONFIG_NO_ERROR (0x00)
  59. #define G_TESTER_GWSI_CONFIG_ERROR_READING_FILE (0x01)
  60. #define G_TESTER_GWSI_CONFIG_ERROR_ALLOCATING_MEMORY (0x02)
  61. #define G_TESTER_GWSI_CONFIG_ERROR_GETIING_FILE_SIZE (0x03)
  62. #define G_TESTER_GWSI_CONFIG_ERROR_OPENING_FILE (0x04)
  63. extern void quit_func(void);
  64. void g_tester_process_general_cmd_run_cmd(unsigned char *cmd_buffer);
  65. void g_tester_process_get_init_table(unsigned char *cmd_buffer);
  66. void g_tester_send_to_host(tiUINT8 *buffer, tiUINT32 length);
  67. void g_tester_cmd_status(void);
  68. void g_tester_bssid_list(void);
  69. void g_tester_send_received_event(unsigned int cmd_op, tiUINT8 status);
  70. void g_tester_process_gwsi_init_cmd(unsigned char *cmd_buffer);
  71. void g_tester_process_gwsi_config_cmd(unsigned char *cmd_buffer);
  72. void g_tester_process_gwsi_release_cmd(unsigned char *cmd_buffer);
  73. void g_tester_process_gwsi_cmd(unsigned char *cmd_buffer);
  74. void g_tester_register_event(tiUINT16 event_mask);
  75. void g_tester_unregister_event(tiUINT16 event_mask);
  76. void g_tester_cmd_debug_driver_print(unsigned char *cmd_buffer);
  77. void g_tester_cmd_get_version(void);
  78. void g_tester_set_rate(tiUINT8 rate_index);
  79. void g_tester_wep_add_key(unsigned char *cmd_buffer);
  80. int g_tester_gwsi_event_handler(IPC_EV_DATA* pData);
  81. void g_tester_cmd_plt_register_read(UINT32 uiRegAddress);
  82. void g_tester_cmd_plt_RxPer_GetResults(void);
  83. void g_tester_cmd_plt_mib_read(unsigned char *cmd_buffer);
  84. void g_tester_cmd_plt_mib_write(unsigned char *cmd_buffer);
  85. void g_tester_cmd_get_defaultWEPKey(void);
  86. void g_tester_Roaming_candidates_list(void);
  87. void g_tester_scAn__configApp__Display(void);
  88. void g_tester_plt_calibration_get_nvs_buffer(void);
  89. TI_HANDLE gwsi_event_id;
  90. /************************************************************************
  91. * g_tester_send_to_host *
  92. ************************************************************************
  93. DESCRIPTION:
  94. CONTEXT :
  95. ************************************************************************/
  96. void g_tester_send_to_host(tiUINT8 *buffer, tiUINT32 length)
  97. {
  98. /* console_printf_terminal("g_tester, g_tester_send_to_host (length = %d)!\n", length); */
  99. /* Send the buffer to the host */
  100. console_send_buffer_to_host(ETHERNET_UTILS_G_TESTER_MODULE_ID, buffer, length);
  101. }
  102. /************************************************************************
  103. * g_tester_init *
  104. ************************************************************************
  105. DESCRIPTION:
  106. CONTEXT :
  107. ************************************************************************/
  108. void g_tester_init()
  109. {
  110. /************************************/
  111. /* Register the GWSI event handler */
  112. /**********************************/
  113. IPC_EVENT_PARAMS pEvent;
  114. pEvent.uEventType = IPC_EVENT_GWSI;
  115. pEvent.uDeliveryType = DELIVERY_PUSH;
  116. pEvent.pfEventCallback = g_tester_gwsi_event_handler;
  117. pEvent.hUserParam = 0;
  118. /* Register the event, set the pEvent.uEventID and the pEvent.uProcessID */
  119. if(!TI_RegisterEvent(g_id_adapter, &pEvent))
  120. {
  121. gwsi_event_id = pEvent.uEventID;
  122. }
  123. else
  124. {
  125. console_printf_terminal("g_tester, g_tester_init. ERROR Registering GWSI event\n");
  126. }
  127. }
  128. /************************************************************************
  129. * g_tester_deinit *
  130. ************************************************************************
  131. DESCRIPTION:
  132. CONTEXT :
  133. ************************************************************************/
  134. void g_tester_deinit()
  135. {
  136. /**************************************/
  137. /* Unregister the GWSI event handler */
  138. /************************************/
  139. IPC_EVENT_PARAMS pEvent;
  140. pEvent.uEventType = IPC_EVENT_GWSI;
  141. pEvent.uEventID = gwsi_event_id;
  142. TI_UnRegisterEvent(g_id_adapter, &pEvent);
  143. }
  144. /************************************************************************
  145. * wipp_control_check_command *
  146. ************************************************************************
  147. DESCRIPTION: Handle the wipp control specific commands
  148. CONTEXT : main process only!
  149. ************************************************************************/
  150. unsigned char g_tester_check_command(unsigned char *input_string)
  151. {
  152. unsigned char return_value = FALSE;
  153. unsigned int cmd_op;
  154. /*ConParm_t parm;*/
  155. ConParm_t parms[12];
  156. int parms_num;
  157. unsigned char* data_string = input_string + 5;
  158. if (input_string[0] == '-')
  159. {
  160. /* Get the command opcode */
  161. cmd_op = (input_string[1] | (input_string[2] << 8));
  162. console_printf_terminal("g_tester, g_tester_check_command (OpCode = 0x%x).\n", cmd_op);
  163. /* Notify the host that we got the event */
  164. g_tester_send_received_event(cmd_op, G_TESTER_STATUS_OK);
  165. if (G_TESTER_IS_GENERAL_GROUP_CMD(cmd_op))
  166. {
  167. /************************************/
  168. /* This command is GENERAL command */
  169. /**********************************/
  170. switch (cmd_op)
  171. {
  172. case G_TESTER_GENERAL_CMD_RUN_CMD:
  173. g_tester_process_general_cmd_run_cmd(data_string);
  174. break;
  175. case G_TESTER_GENERAL_CMD_GET_INIT_T:
  176. g_tester_process_get_init_table(data_string);
  177. break;
  178. default:
  179. console_printf_terminal("g_tester (general switch) - unsupported command!\n");
  180. break;
  181. }
  182. }
  183. else if (G_TESTER_IS_GWSI_GROUP_CMD(cmd_op))
  184. {
  185. /*********************************/
  186. /* This command is GWSI command */
  187. /*******************************/
  188. switch (cmd_op)
  189. {
  190. case G_TESTER_GWSI_CMD_INITIALIZE:
  191. g_tester_process_gwsi_init_cmd(data_string);
  192. break;
  193. case G_TESTER_GWSI_CMD_CONFIG:
  194. g_tester_process_gwsi_config_cmd(data_string);
  195. break;
  196. case G_TESTER_GWSI_CMD_RELEASE:
  197. g_tester_process_gwsi_release_cmd(data_string);
  198. break;
  199. default:
  200. g_tester_process_gwsi_cmd(&input_string[1]);
  201. break;
  202. }
  203. }
  204. else
  205. {
  206. /********************************/
  207. /* This command is CLI command */
  208. /******************************/
  209. switch(cmd_op)
  210. {
  211. case G_TESTER_CLI_CMD_DRIVER__START:
  212. P_BUFFER_GET_UINT32(data_string, parms[0].value);
  213. cmd_start_driver(parms, 1);
  214. break;
  215. case G_TESTER_CLI_CMD_DRIVER__STOP:
  216. cmd_stop_driver(NULL, 0);
  217. break;
  218. case G_TESTER_CLI_CMD_DRIVER__STATUS:
  219. g_tester_cmd_status();
  220. break;
  221. case G_TESTER_CLI_CMD_CONNECTION__BSSID_LIST:
  222. g_tester_bssid_list();
  223. break;
  224. case G_TESTER_CLI_CMD_CONNECTION__CONNECT:
  225. parms[0].value = (U32)(data_string);
  226. data_string += 32; /*Seek to the end of the string */
  227. parms[1].value = (U32)(data_string);
  228. /*Find the number of none empty strings */
  229. for(parms_num = 2; (parms_num >= 1) && (strlen((char*)parms[parms_num-1].value) == 0); parms_num--)
  230. {
  231. }
  232. cmd_connect(parms, parms_num);
  233. break;
  234. case G_TESTER_CLI_CMD_CONNECTION__DISASSOCIATE:
  235. cmd_disassociate(NULL, 0);
  236. break;
  237. case G_TESTER_CLI_CMD_CONNECTION__STATUS:
  238. g_tester_cmd_status();
  239. break;
  240. case G_TESTER_CLI_CMD_CONNECTION__FULL_BSSID_LIST:
  241. cmd_Full_bssid_list(NULL, 0);
  242. break;
  243. case G_TESTER_CLI_CMD_MANAGEMENT__SSID:
  244. parms[0].value = (U32)(data_string);
  245. parms_num =(strlen((char*)parms[0].value) == 0)?0:1;
  246. cmd_modify_ssid(parms, parms_num);
  247. break;
  248. case G_TESTER_CLI_CMD_MANAGEMENT__CHANNEL:
  249. P_BUFFER_GET_UINT32(data_string, parms[0].value);
  250. cmd_modify_channel(parms, 1);
  251. break;
  252. case G_TESTER_CLI_CMD_MANAGEMENT__RATE:
  253. g_tester_set_rate(input_string[5]);
  254. break;
  255. case G_TESTER_CLI_CMD_MANAGEMENT__MODE:
  256. P_BUFFER_GET_UINT32(data_string, parms[0].value);
  257. cmd_modify_bss_type(parms, 1);
  258. break;
  259. case G_TESTER_CLI_CMD_MANAGEMENT__FRAG:
  260. P_BUFFER_GET_UINT32(data_string, parms[0].value);
  261. cmd_modify_frag_threshold(parms, 1);
  262. break;
  263. case G_TESTER_CLI_CMD_MANAGEMENT__RTS:
  264. P_BUFFER_GET_UINT32(data_string, parms[0].value);
  265. cmd_modify_rts_threshold(parms, 1);
  266. break;
  267. case G_TESTER_CLI_CMD_MANAGEMENT__PREAMBLE:
  268. P_BUFFER_GET_UINT32(data_string, parms[0].value);
  269. cmd_modify_preamble(parms, 1);
  270. break;
  271. case G_TESTER_CLI_CMD_MANAGEMENT__SLOT:
  272. P_BUFFER_GET_UINT32(data_string, parms[0].value);
  273. cmd_modify_short_slot(parms, 1);
  274. break;
  275. case G_TESTER_CLI_CMD_MANAGEMENT__INFO:
  276. cmd_get_selected_bssid_info(NULL, 0);
  277. break;
  278. case G_TESTER_CLI_CMD_MANAGEMENT__DRIVERSTATE:
  279. cmd_get_driver_state(NULL, 0);
  280. break;
  281. case G_TESTER_CLI_CMD_MANAGEMENT__SIGNAL:
  282. cmd_get_rsii_level(NULL, 0);
  283. break;
  284. case G_TESTER_CLI_CMD_MANAGEMENT__TX_POWER_LEVEL:
  285. P_BUFFER_GET_UINT32(data_string, parms[0].value);
  286. cmd_show_tx_power_level_table(parms, 1);
  287. break;
  288. case G_TESTER_CLI_CMD_MANAGEMENT__TX_POWER_DBM:
  289. P_BUFFER_GET_UINT32(data_string, parms[0].value);
  290. cmd_tx_power_dbm(parms, 1);
  291. break;
  292. case G_TESTER_CLI_CMD_MANAGEMENT__802_11D_H__D_ENABLEDISABLE:
  293. P_BUFFER_GET_UINT32(data_string, parms[0].value);
  294. cmd_enableDisable_802_11d(parms, 1);
  295. break;
  296. case G_TESTER_CLI_CMD_MANAGEMENT__802_11D_H__H_ENABLEDISABLE:
  297. P_BUFFER_GET_UINT32(data_string, parms[0].value);
  298. cmd_enableDisable_802_11h(parms, 1);
  299. break;
  300. case G_TESTER_CLI_CMD_MANAGEMENT__802_11D_H__D_COUNTRY_2_4IE:
  301. P_BUFFER_GET_UINT32(data_string, parms[0].value);
  302. cmd_d_Country_2_4Ie(parms, 1);
  303. break;
  304. case G_TESTER_CLI_CMD_MANAGEMENT__802_11D_H__D_COUNTRY_5IE:
  305. P_BUFFER_GET_UINT32(data_string, parms[0].value);
  306. cmd_d_Country_5Ie(parms, 1);
  307. break;
  308. case G_TESTER_CLI_CMD_MANAGEMENT__ANTENNA__DIVERSITYPARAMS:
  309. P_BUFFER_GET_UINT32(data_string, parms[0].value);
  310. P_BUFFER_GET_UINT32(data_string, parms[1].value);
  311. P_BUFFER_GET_UINT32(data_string, parms[2].value);
  312. P_BUFFER_GET_UINT32(data_string, parms[3].value);
  313. P_BUFFER_GET_UINT32(data_string, parms[4].value);
  314. cmd_modify_antenna_diversity(parms, 5);
  315. break;
  316. case G_TESTER_CLI_CMD_MANAGEMENT__BEACON__SET_BEACON_FILTER_MODE:
  317. P_BUFFER_GET_UINT32(data_string, parms[0].value);
  318. cmd_Beacon_Filter_Set_Desired_State(parms, 1);
  319. break;
  320. case G_TESTER_CLI_CMD_MANAGEMENT__ADVANCED__DRAFT:
  321. P_BUFFER_GET_UINT32(data_string, parms[0].value);
  322. cmd_modify_ext_rates_ie(parms, 1);
  323. break;
  324. case G_TESTER_CLI_CMD_MANAGEMENT__ADVANCED__SUPPORTED_RATES:
  325. parms[0].value = (U32)(data_string);
  326. parms_num =(strlen((char*)parms[0].value) == 0)?0:1;
  327. cmd_modify_supported_rates(parms, parms_num);
  328. break;
  329. case G_TESTER_CLI_CMD_SHOW__STATISTICS:
  330. cmd_show_statistics(NULL, 0);
  331. break;
  332. case G_TESTER_CLI_CMD_SHOW__TX_STATISTICS:
  333. P_BUFFER_GET_UINT32(data_string, parms[0].value);
  334. cmd_show_tx_statistics(parms, 1);
  335. break;
  336. case G_TESTER_CLI_CMD_SHOW__ADVANCED:
  337. cmd_show_advanced_params(NULL, 0);
  338. break;
  339. case G_TESTER_CLI_CMD_PRIVACY__AUTHENTICATION:
  340. P_BUFFER_GET_UINT32(data_string, parms[0].value);
  341. cmd_privacy_auth(parms, 1);
  342. break;
  343. case G_TESTER_CLI_CMD_PRIVACY__EAP:
  344. P_BUFFER_GET_UINT32(data_string, parms[0].value);
  345. cmd_privacy_eap(parms, 1);
  346. break;
  347. case G_TESTER_CLI_CMD_PRIVACY__ENCRYPTION:
  348. P_BUFFER_GET_UINT32(data_string, parms[0].value);
  349. cmd_privacy_encrypt(parms, 1);
  350. break;
  351. case G_TESTER_CLI_CMD_PRIVACY__KEYTYPE:
  352. P_BUFFER_GET_UINT32(data_string, parms[0].value);
  353. cmd_privacy_key_type(parms, 1);
  354. break;
  355. case G_TESTER_CLI_CMD_PRIVACY__MIXEDMODE:
  356. P_BUFFER_GET_UINT32(data_string, parms[0].value);
  357. cmd_privacy_mixed_mode(parms, 1);
  358. break;
  359. case G_TESTER_CLI_CMD_PRIVACY__CREDENTIALS:
  360. parms[0].value = (U32)(data_string);
  361. data_string += 32; /*Seek to the end of the string */
  362. parms[1].value = (U32)(data_string);
  363. /*Find the number of none empty strings */
  364. for(parms_num = 2; (parms_num >= 1) && (strlen((char*)parms[parms_num-1].value) == 0); parms_num--)
  365. {
  366. }
  367. cmd_privacy_credent(parms, parms_num);
  368. break;
  369. case G_TESTER_CLI_CMD_PRIVACY__PSKPASSPHRASE:
  370. parms[0].value = (U32)(data_string);
  371. parms_num =(strlen((char*)parms[0].value) == 0)?0:1;
  372. cmd_privacy_PSKPassphrase(parms, parms_num);
  373. break;
  374. case G_TESTER_CLI_CMD_PRIVACY__CERTIFICATE:
  375. parms[0].value = (U32)(data_string);
  376. data_string += 32; /*Seek top the end of the string */
  377. P_BUFFER_GET_UINT32(data_string, parms[1].value);
  378. cmd_privacy_certificate(parms, 2);
  379. break;
  380. case G_TESTER_CLI_CMD_PRIVACY__WPA_OPTIONS:
  381. P_BUFFER_GET_UINT32(data_string, parms[0].value);
  382. cmd_privacy_wpa_options(parms, 1);
  383. break;
  384. case G_TESTER_CLI_CMD_PRIVACY__WEP__ADD:
  385. g_tester_wep_add_key(data_string);
  386. break;
  387. case G_TESTER_CLI_CMD_PRIVACY__WEP__REMOVE:
  388. P_BUFFER_GET_UINT32(data_string, parms[0].value);
  389. cmd_privacy_removekey(parms, 1);
  390. break;
  391. #ifdef EXC_MODULE_INCLUDED
  392. case G_TESTER_CLI_CMD_PRIVACY__EXC__CONFIGURE:
  393. P_BUFFER_GET_UINT32(data_string, parms[0].value);
  394. cmd_privacy_exc_config(parms, 1);
  395. break;
  396. case G_TESTER_CLI_CMD_PRIVACY__EXC__NETWORKEAP:
  397. P_BUFFER_GET_UINT32(data_string, parms[0].value);
  398. cmd_privacy_exc_netEap(parms, 1);
  399. break;
  400. #endif
  401. case G_TESTER_CLI_CMD_SCAN__START:
  402. cmd_Scan_Start(NULL, 0);
  403. break;
  404. case G_TESTER_CLI_CMD_SCAN__STOP:
  405. cmd_Scan_Stop(NULL, 0);
  406. break;
  407. case G_TESTER_CLI_CMD_SCAN__CONFIGAPP__GLOBAL:
  408. {
  409. int numOfParam;
  410. parms[0].value = (U32)(data_string); /*SSID*/
  411. data_string+=33; /*seek the end of the string */
  412. P_BUFFER_GET_UINT32(data_string, parms[1].value); /*Scan Type*/
  413. P_BUFFER_GET_UINT32(data_string, parms[2].value); /*Band*/
  414. P_BUFFER_GET_UINT32(data_string, parms[3].value); /*Probe Request Number*/
  415. P_BUFFER_GET_UINT32(data_string, parms[4].value); /*Probe Request Rate*/
  416. #ifdef TI_DBG
  417. numOfParam = 7;
  418. P_BUFFER_GET_UINT32(data_string, parms[5].value); /*Tid*/
  419. P_BUFFER_GET_UINT32(data_string, parms[6].value); /*Number of Channels*/
  420. #else
  421. numOfParam = 6;
  422. P_BUFFER_GET_UINT32(data_string, parms[5].value); /* skip XML Tid*/
  423. P_BUFFER_GET_UINT32(data_string, parms[5].value); /*Number of Channels*/
  424. #endif
  425. cmd_Scan_app_global_config(parms, numOfParam);
  426. }
  427. cmd_Scan_app_global_config(parms, 6);
  428. break;
  429. case G_TESTER_CLI_CMD_SCAN__CONFIGAPP__CHANNEL:
  430. P_BUFFER_GET_UINT32(data_string, parms[0].value);
  431. parms[1].value = (U32)(data_string);
  432. data_string += 18; /*seek the end of the string */
  433. P_BUFFER_GET_UINT32(data_string, parms[2].value);
  434. P_BUFFER_GET_UINT32(data_string, parms[3].value);
  435. P_BUFFER_GET_UINT32(data_string, parms[4].value);
  436. P_BUFFER_GET_UINT32(data_string, parms[5].value);
  437. P_BUFFER_GET_UINT32(data_string, parms[6].value);
  438. P_BUFFER_GET_UINT32(data_string, parms[7].value);
  439. cmd_Scan_app_channel_config(parms, 8);
  440. break;
  441. case G_TESTER_CLI_CMD_SCAN__CONFIGAPP__CLEAR:
  442. cmd_Scan_app_clear(NULL, 0);
  443. break;
  444. case G_TESTER_CLI_CMD_SCAN__CONFIGAPP__DISPLAY:
  445. cmd_Scan_app_display(NULL, 0);
  446. break;
  447. case G_TESTER_CLI_CMD_SCAN__CONFIGPOLICY__GLOABAL:
  448. P_BUFFER_GET_UINT32(data_string, parms[0].value);
  449. P_BUFFER_GET_UINT32(data_string, parms[1].value);
  450. P_BUFFER_GET_UINT32(data_string, parms[2].value);
  451. P_BUFFER_GET_UINT32(data_string, parms[3].value);
  452. P_BUFFER_GET_UINT32(data_string, parms[4].value);
  453. P_BUFFER_GET_UINT32(data_string, parms[5].value);
  454. cmd_Scan_policy_global_config(parms, 6);
  455. break;
  456. case G_TESTER_CLI_CMD_SCAN__CONFIGPOLICY__BAND__MISC:
  457. P_BUFFER_GET_UINT32(data_string, parms[0].value);
  458. P_BUFFER_GET_UINT32(data_string, parms[1].value);
  459. P_BUFFER_GET_UINT32(data_string, parms[2].value);
  460. P_BUFFER_GET_UINT32(data_string, parms[3].value);
  461. P_BUFFER_GET_UINT32(data_string, parms[4].value);
  462. cmd_Scan_band_global_config(parms, 5);
  463. break;
  464. case G_TESTER_CLI_CMD_SCAN__CONFIGPOLICY__BAND__CHANNEL:
  465. P_BUFFER_GET_UINT32(data_string, parms[0].value);
  466. P_BUFFER_GET_UINT32(data_string, parms[1].value);
  467. P_BUFFER_GET_UINT32(data_string, parms[2].value);
  468. cmd_Scan_band_channel_config(parms, 3);
  469. break;
  470. case G_TESTER_CLI_CMD_SCAN__CONFIGPOLICY__BAND__TRACK:
  471. P_BUFFER_GET_UINT32(data_string, parms[0].value);
  472. P_BUFFER_GET_UINT32(data_string, parms[1].value);
  473. P_BUFFER_GET_UINT32(data_string, parms[2].value);
  474. P_BUFFER_GET_UINT32(data_string, parms[3].value);
  475. P_BUFFER_GET_UINT32(data_string, parms[4].value);
  476. P_BUFFER_GET_UINT32(data_string, parms[5].value);
  477. P_BUFFER_GET_UINT32(data_string, parms[6].value);
  478. P_BUFFER_GET_UINT32(data_string, parms[7].value);
  479. P_BUFFER_GET_UINT32(data_string, parms[8].value);
  480. P_BUFFER_GET_UINT32(data_string, parms[9].value);
  481. P_BUFFER_GET_UINT32(data_string, parms[10].value);
  482. cmd_Scan_band_track_config(parms, 11);
  483. break;
  484. case G_TESTER_CLI_CMD_SCAN__CONFIGPOLICY__BAND__DISCOVERY:
  485. P_BUFFER_GET_UINT32(data_string, parms[0].value);
  486. P_BUFFER_GET_UINT32(data_string, parms[1].value);
  487. P_BUFFER_GET_UINT32(data_string, parms[2].value);
  488. P_BUFFER_GET_UINT32(data_string, parms[3].value);
  489. P_BUFFER_GET_UINT32(data_string, parms[4].value);
  490. P_BUFFER_GET_UINT32(data_string, parms[5].value);
  491. P_BUFFER_GET_UINT32(data_string, parms[6].value);
  492. P_BUFFER_GET_UINT32(data_string, parms[7].value);
  493. P_BUFFER_GET_UINT32(data_string, parms[8].value);
  494. P_BUFFER_GET_UINT32(data_string, parms[9].value);
  495. P_BUFFER_GET_UINT32(data_string, parms[10].value);
  496. cmd_Scan_band_discover_config(parms, 11);
  497. break;
  498. case G_TESTER_CLI_CMD_SCAN__CONFIGPOLICY__BAND__IMMEDIATE:
  499. P_BUFFER_GET_UINT32(data_string, parms[0].value);
  500. P_BUFFER_GET_UINT32(data_string, parms[1].value);
  501. P_BUFFER_GET_UINT32(data_string, parms[2].value);
  502. P_BUFFER_GET_UINT32(data_string, parms[3].value);
  503. P_BUFFER_GET_UINT32(data_string, parms[4].value);
  504. P_BUFFER_GET_UINT32(data_string, parms[5].value);
  505. P_BUFFER_GET_UINT32(data_string, parms[6].value);
  506. P_BUFFER_GET_UINT32(data_string, parms[7].value);
  507. P_BUFFER_GET_UINT32(data_string, parms[8].value);
  508. P_BUFFER_GET_UINT32(data_string, parms[9].value);
  509. P_BUFFER_GET_UINT32(data_string, parms[10].value);
  510. cmd_Scan_band_immed_config(parms, 11);
  511. break;
  512. case G_TESTER_CLI_CMD_SCAN__CONFIGPOLICY__DISPLAY:
  513. cmd_Scan_policy_display(NULL, 0);
  514. break;
  515. case G_TESTER_CLI_CMD_SCAN__CONFIGPOLICY__CLEAR:
  516. cmd_Scan_policy_clear(NULL, 0);
  517. break;
  518. case G_TESTER_CLI_CMD_SCAN__CONFIGPOLICY__STORE:
  519. cmd_Scan_policy_store(NULL, 0);
  520. break;
  521. case G_TESTER_CLI_CMD_SCAN__CONFIGPOLICY__BSSLIST:
  522. g_tester_Roaming_candidates_list();
  523. break;
  524. case G_TESTER_CLI_CMD_ROAMING__ENABLE:
  525. if (input_string[5] == FALSE)
  526. {
  527. cmd_Roaming_disable(NULL, 0);
  528. }
  529. else
  530. {
  531. cmd_Roaming_enable(NULL, 0);
  532. }
  533. break;
  534. case G_TESTER_CLI_CMD_ROAMING__LOW_PASS_FILTER:
  535. P_BUFFER_GET_UINT32(data_string, parms[0].value);
  536. cmd_Roaming_lowPassFilter(parms, 1);
  537. break;
  538. case G_TESTER_CLI_CMD_ROAMING__QUALITY_THRESHOLD:
  539. P_BUFFER_GET_UINT32(data_string, parms[0].value);
  540. cmd_Roaming_qualityIndicator(parms, 1);
  541. break;
  542. case G_TESTER_CLI_CMD_ROAMING__GET:
  543. cmd_Roaming_getConfParams(NULL, 0);
  544. break;
  545. case G_TESTER_CLI_CMD_ROAMING__THRESHOLDS__TX_RETRY:
  546. P_BUFFER_GET_UINT32(data_string, parms[0].value);
  547. cmd_Roaming_dataRetryThreshold(parms, 1);
  548. break;
  549. case G_TESTER_CLI_CMD_ROAMING__THRESHOLDS__BSS_LOSS:
  550. P_BUFFER_GET_UINT32(data_string, parms[0].value);
  551. cmd_Roaming_numExpectedTbttForBSSLoss(parms, 1);
  552. break;
  553. case G_TESTER_CLI_CMD_ROAMING__THRESHOLDS__TX_RATE_THRESHOLD:
  554. P_BUFFER_GET_UINT32(data_string, parms[0].value);
  555. cmd_Roaming_txRateThreshold(parms, 1);
  556. break;
  557. case G_TESTER_CLI_CMD_ROAMING__THRESHOLDS__LOW_RSSI_THRESHOLD:
  558. P_BUFFER_GET_UINT32(data_string, parms[0].value);
  559. cmd_Roaming_lowRssiThreshold(parms, 1);
  560. break;
  561. case G_TESTER_CLI_CMD_ROAMING__THRESHOLDS__LOW_SNR_THRESHOLD:
  562. P_BUFFER_GET_UINT32(data_string, parms[0].value);
  563. cmd_Roaming_lowSnrThreshold(parms, 1);
  564. break;
  565. case G_TESTER_CLI_CMD_ROAMING__THRESHOLDS__LOW_QUALITY_FOR_SCAN:
  566. P_BUFFER_GET_UINT32(data_string, parms[0].value);
  567. cmd_Roaming_lowQualityForBackgroungScanCondition(parms, 1);
  568. break;
  569. case G_TESTER_CLI_CMD_ROAMING__THRESHOLDS__NORMAL_QUALITY_FOR_SCAN:
  570. P_BUFFER_GET_UINT32(data_string, parms[0].value);
  571. cmd_Roaming_normalQualityForBackgroungScanCondition(parms, 1);
  572. break;
  573. case G_TESTER_CLI_CMD_QOS__UPSD__ADD:
  574. P_BUFFER_GET_UINT32(data_string, parms[0].value);
  575. P_BUFFER_GET_UINT32(data_string, parms[1].value);
  576. P_BUFFER_GET_UINT32(data_string, parms[2].value);
  577. P_BUFFER_GET_UINT32(data_string, parms[3].value);
  578. P_BUFFER_GET_UINT32(data_string, parms[4].value);
  579. P_BUFFER_GET_UINT32(data_string, parms[5].value);
  580. cmd_add_tspec(parms, 6);
  581. break;
  582. case G_TESTER_CLI_CMD_QOS__UPSD__GET:
  583. P_BUFFER_GET_UINT32(data_string, parms[0].value);
  584. cmd_get_tspec_params(parms, 1);
  585. break;
  586. case G_TESTER_CLI_CMD_QOS__UPSD__DELETE:
  587. P_BUFFER_GET_UINT32(data_string, parms[0].value);
  588. P_BUFFER_GET_UINT32(data_string, parms[1].value);
  589. cmd_delete_tspec(parms, 2);
  590. break;
  591. case G_TESTER_CLI_CMD_QOS__UPSD__AP_PARAMS:
  592. cmd_get_ap_qos_params(NULL, 0);
  593. break;
  594. case G_TESTER_CLI_CMD_QOS__UPSD__AP_CAPABILITIES:
  595. cmd_get_ap_qos_capabilities(NULL, 0);
  596. break;
  597. case G_TESTER_CLI_CMD_QOS__UPSD__AC_STATUS:
  598. P_BUFFER_GET_UINT32(data_string, parms[0].value);
  599. cmd_get_ac_status(parms, 1);
  600. break;
  601. case G_TESTER_CLI_CMD_QOS__UPSD__MEDIUM_USAGE:
  602. P_BUFFER_GET_UINT32(data_string, parms[0].value);
  603. P_BUFFER_GET_UINT32(data_string, parms[1].value);
  604. P_BUFFER_GET_UINT32(data_string, parms[2].value);
  605. cmd_medium_usage_threshold(parms, 3);
  606. break;
  607. case G_TESTER_CLI_CMD_QOS__UPSD__PHY_RATE:
  608. P_BUFFER_GET_UINT32(data_string, parms[0].value);
  609. P_BUFFER_GET_UINT32(data_string, parms[1].value);
  610. P_BUFFER_GET_UINT32(data_string, parms[2].value);
  611. cmd_phy_rate_threshold(parms, 3);
  612. break;
  613. case G_TESTER_CLI_CMD_QOS__UPSD__DESIRED_PS_MODE:
  614. cmd_get_desired_ps_mode(NULL, 0);
  615. break;
  616. case G_TESTER_CLI_CMD_QOS__CLASSIFIER__TXCLASSIFIER:
  617. P_BUFFER_GET_UINT32(data_string, parms[0].value);
  618. P_BUFFER_GET_UINT32(data_string, parms[1].value);
  619. P_BUFFER_GET_UINT32(data_string, parms[2].value);
  620. P_BUFFER_GET_UINT32(data_string, parms[3].value);
  621. P_BUFFER_GET_UINT32(data_string, parms[4].value);
  622. P_BUFFER_GET_UINT32(data_string, parms[5].value);
  623. P_BUFFER_GET_UINT32(data_string, parms[6].value);
  624. P_BUFFER_GET_UINT32(data_string, parms[7].value);
  625. P_BUFFER_GET_UINT32(data_string, parms[8].value);
  626. P_BUFFER_GET_UINT32(data_string, parms[9].value);
  627. P_BUFFER_GET_UINT32(data_string, parms[10].value);
  628. P_BUFFER_GET_UINT32(data_string, parms[11].value);
  629. cmd_config_tx_classifier(parms, 12);
  630. break;
  631. case G_TESTER_CLI_CMD_QOS__CLASSIFIER__INSERT:
  632. P_BUFFER_GET_UINT32(data_string, parms[0].value);
  633. P_BUFFER_GET_UINT32(data_string, parms[1].value);
  634. P_BUFFER_GET_UINT32(data_string, parms[2].value);
  635. P_BUFFER_GET_UINT32(data_string, parms[3].value);
  636. P_BUFFER_GET_UINT32(data_string, parms[4].value);
  637. P_BUFFER_GET_UINT32(data_string, parms[5].value);
  638. P_BUFFER_GET_UINT32(data_string, parms[6].value);
  639. cmd_insert_clsfr_entry(parms, 7);
  640. break;
  641. case G_TESTER_CLI_CMD_QOS__CLASSIFIER__REMOVE:
  642. P_BUFFER_GET_UINT32(data_string, parms[0].value);
  643. P_BUFFER_GET_UINT32(data_string, parms[1].value);
  644. P_BUFFER_GET_UINT32(data_string, parms[2].value);
  645. P_BUFFER_GET_UINT32(data_string, parms[3].value);
  646. P_BUFFER_GET_UINT32(data_string, parms[4].value);
  647. P_BUFFER_GET_UINT32(data_string, parms[5].value);
  648. P_BUFFER_GET_UINT32(data_string, parms[6].value);
  649. cmd_remove_clsfr_entry(parms, 7);
  650. break;
  651. case G_TESTER_CLI_CMD_QOS__QOSPARAMS:
  652. P_BUFFER_GET_UINT32(data_string, parms[0].value);
  653. P_BUFFER_GET_UINT32(data_string, parms[1].value);
  654. P_BUFFER_GET_UINT32(data_string, parms[2].value);
  655. P_BUFFER_GET_UINT32(data_string, parms[3].value);
  656. cmd_set_qos_params(parms, 4);
  657. break;
  658. case G_TESTER_CLI_CMD_QOS__POLL_AP_PACKETS:
  659. P_BUFFER_GET_UINT32(data_string, parms[0].value);
  660. cmd_poll_ap_packets(parms, 1);
  661. break;
  662. case G_TESTER_CLI_CMD_QOS__RX_TIMEOUT:
  663. P_BUFFER_GET_UINT32(data_string, parms[0].value);
  664. P_BUFFER_GET_UINT32(data_string, parms[1].value);
  665. cmd_set_rxTimeOut_params(parms, 2);
  666. break;
  667. case G_TESTER_CLI_CMD_POWER__SET_POWER_MODE:
  668. P_BUFFER_GET_UINT32(data_string, parms[0].value);
  669. cmd_set_power_mode(parms, 1);
  670. break;
  671. case G_TESTER_CLI_CMD_POWER__SET_POWERSAVE_POWERLEVEL:
  672. P_BUFFER_GET_UINT32(data_string, parms[0].value);
  673. cmd_set_PowerSave_PowerLevel(parms, 1);
  674. break;
  675. case G_TESTER_CLI_CMD_POWER__TRAFFIC_THRESHOLDS:
  676. P_BUFFER_GET_UINT32(data_string, parms[0].value);
  677. P_BUFFER_GET_UINT32(data_string, parms[1].value);
  678. P_BUFFER_GET_UINT32(data_string, parms[2].value);
  679. cmd_traffic_intensity_threshold(parms, 3);
  680. break;
  681. case G_TESTER_CLI_CMD_POWER__ENABLE:
  682. cmd_enable_traffic_events(NULL, 0);
  683. break;
  684. case G_TESTER_CLI_CMD_POWER__DISABLE:
  685. cmd_disable_traffic_events(NULL, 0);
  686. break;
  687. case G_TESTER_CLI_CMD_EVENTS__REGISTER:
  688. /* Register Event */
  689. g_tester_register_event(input_string[5] | (input_string[6] << 8));
  690. break;
  691. case G_TESTER_CLI_CMD_EVENTS__UNREGISTER:
  692. /* Unregister Event */
  693. g_tester_unregister_event(input_string[5] | (input_string[6] << 8));
  694. break;
  695. #ifdef TI_DBG
  696. case G_TESTER_CLI_CMD_FILE__LOAD:
  697. parms[0].value = (U32)(data_string);
  698. parms_num =(strlen((char*)parms[0].value) == 0)?0:1;
  699. cmd_file_load(parms, parms_num);
  700. break;
  701. case G_TESTER_CLI_CMD_BT_COEXSISTANCE__ENABLE:
  702. P_BUFFER_GET_UINT32(data_string, parms[0].value);
  703. cmd_bt_coe_enable(parms, 1);
  704. break;
  705. case G_TESTER_CLI_CMD_BT_COEXSISTANCE__RATE:
  706. P_BUFFER_GET_UINT32(data_string, parms[0].value);
  707. P_BUFFER_GET_UINT32(data_string, parms[1].value);
  708. P_BUFFER_GET_UINT32(data_string, parms[2].value);
  709. P_BUFFER_GET_UINT32(data_string, parms[3].value);
  710. P_BUFFER_GET_UINT32(data_string, parms[4].value);
  711. P_BUFFER_GET_UINT32(data_string, parms[5].value);
  712. P_BUFFER_GET_UINT32(data_string, parms[6].value);
  713. P_BUFFER_GET_UINT32(data_string, parms[7].value);
  714. cmd_bt_coe_rate(parms, 8);
  715. break;
  716. case G_TESTER_CLI_CMD_BT_COEXSISTANCE__CONFIG:
  717. cmd_Scan_app_clear(NULL, 0);
  718. g_tester_scAn__configApp__Display();
  719. P_BUFFER_GET_UINT32(data_string, parms[0].value);
  720. P_BUFFER_GET_UINT32(data_string, parms[1].value);
  721. P_BUFFER_GET_UINT32(data_string, parms[2].value);
  722. P_BUFFER_GET_UINT32(data_string, parms[3].value);
  723. P_BUFFER_GET_UINT32(data_string, parms[4].value);
  724. P_BUFFER_GET_UINT32(data_string, parms[5].value);
  725. P_BUFFER_GET_UINT32(data_string, parms[6].value);
  726. P_BUFFER_GET_UINT32(data_string, parms[7].value);
  727. P_BUFFER_GET_UINT32(data_string, parms[8].value);
  728. P_BUFFER_GET_UINT32(data_string, parms[9].value);
  729. P_BUFFER_GET_UINT32(data_string, parms[10].value);
  730. P_BUFFER_GET_UINT32(data_string, parms[11].value);
  731. P_BUFFER_GET_UINT32(data_string, parms[12].value);
  732. P_BUFFER_GET_UINT32(data_string, parms[13].value);
  733. cmd_bt_coe_config(parms, 14);
  734. break;
  735. case G_TESTER_CLI_CMD_BT_COEXSISTANCE__STATUS:
  736. P_BUFFER_GET_UINT32(data_string, parms[0].value);
  737. cmd_bt_coe_get_status(parms, 1);
  738. break;
  739. #ifdef EXC_MODULE_INCLUDED
  740. case G_TESTER_CLI_CMD_MEASUREMENT__ENABLE:
  741. cmd_Measurement_enable(NULL, 0);
  742. break;
  743. case G_TESTER_CLI_CMD_MEASUREMENT__DISABLE:
  744. cmd_Measurement_disable(NULL, 0);
  745. break;
  746. case G_TESTER_CLI_CMD_MEASUREMENT__MAX_DURATION:
  747. P_BUFFER_GET_UINT32(data_string, parms[0].value);
  748. cmd_Measurement_setMaxDuration(parms, 1);
  749. break;
  750. #endif
  751. case G_TESTER_CLI_CMD_REPORT__SET:
  752. parms[0].value = (U32)(data_string);
  753. parms_num =(strlen((char*)parms[0].value) == 0)?0:1;
  754. cmd_report_set(parms, parms_num);
  755. break;
  756. case G_TESTER_CLI_CMD_REPORT__ADD:
  757. P_BUFFER_GET_UINT32(data_string, parms[0].value);
  758. cmd_report_add(parms, 1);
  759. break;
  760. case G_TESTER_CLI_CMD_REPORT__CLEAR:
  761. P_BUFFER_GET_UINT32(data_string, parms[0].value);
  762. cmd_report_clear(parms, 1);
  763. break;
  764. case G_TESTER_CLI_CMD_REPORT__LEVEL:
  765. P_BUFFER_GET_UINT32(data_string, parms[0].value);
  766. cmd_report_severity_level(parms, 1);
  767. break;
  768. case G_TESTER_CLI_CMD_DEBUG__REGISTER:
  769. P_BUFFER_GET_UINT32(data_string, parms[0].value);
  770. P_BUFFER_GET_UINT32(data_string, parms[1].value);
  771. cmd_hw_register(parms, 2);
  772. break;
  773. case G_TESTER_CLI_CMD_DEBUG__PRINT:
  774. g_tester_cmd_debug_driver_print(data_string);
  775. break;
  776. case G_TESTER_CLI_CMD_DEBUG__BUFFER:
  777. P_BUFFER_GET_UINT32(data_string, parms[0].value);
  778. data_string += 9; /* seek to the end of the string */
  779. parms[1].value = (U32)(data_string);
  780. parms_num =(strlen((char*)parms[1].value) == 0)?1:2;
  781. cmd_debug_buffer_put(parms, parms_num);
  782. break;
  783. case G_TESTER_CLI_CMD_ROOT__ABOUT:
  784. /* Driver version */
  785. g_tester_cmd_get_version();
  786. break;
  787. case G_TESTER_CLI_CMD_ROOT__QUIT:
  788. quit_func();
  789. break;
  790. #endif
  791. case G_TESTER_CLI_CMD_PLT__REGISTER__READ:
  792. {
  793. UINT32 RegAddress;
  794. P_BUFFER_GET_UINT32(data_string, RegAddress);
  795. g_tester_cmd_plt_register_read(RegAddress);
  796. }
  797. break;
  798. case G_TESTER_CLI_CMD_PLT__REGISTER__WRITE:
  799. {
  800. tiUINT32 uiRegAddress;
  801. tiUINT32 uiRegValue;
  802. P_BUFFER_GET_UINT32(data_string, uiRegAddress);
  803. P_BUFFER_GET_UINT32(data_string, uiRegValue);
  804. TI_PLT_WriteRegister(g_id_adapter, uiRegAddress, uiRegValue);
  805. }
  806. break;
  807. case G_TESTER_CLI_CMD_PLT_RADIO_TUNE:
  808. {
  809. UINT32 status;
  810. TestCmdChannelBand_t ChannelBand;
  811. tiUINT8 return_buffer[3];
  812. tiUINT8 *p_return_buffer = return_buffer;
  813. P_BUFFER_GET_UINT32(data_string, ChannelBand.band);
  814. P_BUFFER_GET_UINT32(data_string, ChannelBand.channel);
  815. status = TI_PLT_RadioTune(g_id_adapter, &ChannelBand);
  816. P_BUFFER_ADD_HDR_PARAMS(p_return_buffer, G_TESTER_CLI_CMD_PLT_RADIO_TUNE, (UINT8)status);
  817. g_tester_send_to_host(return_buffer, 3);
  818. }
  819. break;
  820. case G_TESTER_CLI_CMD_PLT__RX_PER__START:
  821. cmd_PLT_RxPerStart(NULL, 0);
  822. break;
  823. case G_TESTER_CLI_CMD_PLT__RX_PER__STOP:
  824. cmd_PLT_RxPerStop(NULL, 0);
  825. break;
  826. case G_TESTER_CLI_CMD_PLT__RX_PER__CLEAR:
  827. cmd_PLT_RxPerClear(NULL, 0);
  828. break;
  829. case G_TESTER_CLI_CMD_PLT__RX_PER__GET_RESULTS:
  830. g_tester_cmd_plt_RxPer_GetResults();
  831. break;
  832. case G_TESTER_CLI_CMD_PLT__TX__CW:
  833. {
  834. tiUINT8 return_buffer[3];
  835. tiUINT8 *p_return_buffer = return_buffer;
  836. tiUINT32 status;
  837. TestCmdChannelBand_t PltTxCW;
  838. P_BUFFER_GET_UINT32(data_string, PltTxCW.band);
  839. P_BUFFER_GET_UINT32(data_string, PltTxCW.channel);
  840. status = TI_PLT_TxCW(g_id_adapter, &PltTxCW);
  841. P_BUFFER_ADD_HDR_PARAMS(p_return_buffer, G_TESTER_CLI_CMD_PLT__TX__CW, (UINT8)status);
  842. g_tester_send_to_host(return_buffer, 3);
  843. }
  844. break;
  845. case G_TESTER_CLI_CMD_PLT__TX__CONTINUES:
  846. {
  847. PltTxContinues_t PltTxContinues;
  848. P_BUFFER_GET_UINT8(data_string, PltTxContinues.band);
  849. P_BUFFER_GET_UINT8(data_string, PltTxContinues.chID);
  850. P_BUFFER_GET_UINT8(data_string, PltTxContinues.rate);
  851. P_BUFFER_GET_UINT8(data_string, PltTxContinues.preamble);
  852. P_BUFFER_GET_UINT8(data_string, PltTxContinues.InterPacketDelay);
  853. P_BUFFER_GET_UINT8(data_string, PltTxContinues.NumOfFrames);
  854. P_BUFFER_GET_UINT8(data_string, PltTxContinues.mode);
  855. TI_PLT_TxContiues(g_id_adapter, &PltTxContinues);
  856. if (OK == TI_PLT_TxContiues(g_id_adapter, &PltTxContinues))
  857. console_printf_terminal("PltTxContinues (band=%d, chID=%d, rate=%d, preamble=%d, InterPacketDelay=%d, NumOfFrames=%d, mode=0x%x)- OK\n",
  858. PltTxContinues.band,
  859. PltTxContinues.chID,
  860. PltTxContinues.rate,
  861. PltTxContinues.preamble,
  862. PltTxContinues.InterPacketDelay,
  863. PltTxContinues.NumOfFrames,
  864. PltTxContinues.mode);
  865. else
  866. console_printf_terminal("PltTxContinues - NOK\n");
  867. }
  868. break;
  869. case G_TESTER_CLI_CMD_PLT__TX__STOP:
  870. cmd_PLT_TxStop(NULL, 0);
  871. break;
  872. case G_TESTER_CLI_CMD_PLT__MIB__READ:
  873. g_tester_cmd_plt_mib_read(data_string);
  874. break;
  875. case G_TESTER_CLI_CMD_PLT__MIB__WRITE:
  876. g_tester_cmd_plt_mib_write(data_string);
  877. break;
  878. case G_TESTER_CLI_CMD_PRIVACY__WEP__GET:
  879. g_tester_cmd_get_defaultWEPKey();
  880. break;
  881. case G_TESTER_CLI_CMD_PLT__CALIBRATION__RX:
  882. P_BUFFER_GET_UINT32(data_string, parms[0].value);
  883. P_BUFFER_GET_UINT32(data_string, parms[1].value);
  884. P_BUFFER_GET_UINT32(data_string, parms[2].value);
  885. P_BUFFER_GET_UINT32(data_string, parms[3].value);
  886. P_BUFFER_GET_UINT32(data_string, parms[4].value);
  887. cmd_PLT_RxCal(parms, 5);
  888. break;
  889. case G_TESTER_CLI_CMD_PLT__CALIBRATION__TX__START:
  890. P_BUFFER_GET_UINT8(data_string, parms[0].value);
  891. cmd_PLT_TxCalStart(parms, 1);
  892. break;
  893. case G_TESTER_CLI_CMD_PLT__CALIBRATION__TX__STOP:
  894. cmd_PLT_TxCalStop(NULL, 0);
  895. break;
  896. case G_TESTER_CLI_CMD_PLT__CALIBRATION__TX__GAIN_GET:
  897. {
  898. tiUINT8 return_buffer[10];
  899. tiUINT8 *p_return_buffer = return_buffer;
  900. UINT32 status;
  901. PltGainGet_t PLTGainGet;
  902. status = TI_PLT_TxCalGainGet(g_id_adapter, &PLTGainGet);
  903. P_BUFFER_ADD_HDR_PARAMS(p_return_buffer, G_TESTER_CLI_CMD_PLT__CALIBRATION__TX__GAIN_GET, (UINT8)status);
  904. if (status == OK)
  905. {
  906. P_BUFFER_ADD_UINT8(p_return_buffer, PLTGainGet.TxGain);
  907. P_BUFFER_ADD_UINT8(p_return_buffer, PLTGainGet.TxUpperBound);
  908. P_BUFFER_ADD_UINT8(p_return_buffer, PLTGainGet.TxLowerBound);
  909. }
  910. g_tester_send_to_host(return_buffer, p_return_buffer-return_buffer);
  911. }
  912. break;
  913. case G_TESTER_CLI_CMD_PLT__CALIBRATION__TX__GAIN_ADJUST:
  914. P_BUFFER_GET_UINT32(data_string, parms[0].value);
  915. cmd_PLT_TxCalGainAdjust(parms, 1);
  916. break;
  917. case G_TESTER_CLI_CMD_PLT__CALIBRATION__GET_NVS_BUFFER:
  918. g_tester_plt_calibration_get_nvs_buffer();
  919. break;
  920. default:
  921. console_printf_terminal("g_tester - unsupported command!\n");
  922. break;
  923. }
  924. }
  925. return_value = TRUE;
  926. }
  927. return return_value;
  928. }
  929. /************************************************************************
  930. * g_tester_process_general_cmd_run_cmd *
  931. ************************************************************************
  932. DESCRIPTION:
  933. CONTEXT : main process only!
  934. ************************************************************************/
  935. void g_tester_process_general_cmd_run_cmd(unsigned char *cmd_buffer)
  936. {
  937. tiUINT8 return_buffer[5];
  938. tiUINT8 *p_return_buffer = return_buffer;
  939. tiUINT16 return_value;
  940. console_printf_terminal("g_tester - Executing cmd line: %s\n", cmd_buffer);
  941. return_value = (tiUINT16)system((const char*)cmd_buffer);
  942. console_printf_terminal("g_tester - Execution result: 0x%x\n", return_value);
  943. /* Set theā€¦

Large files files are truncated, but you can click here to view the full file