30 # define _1_BYTE_TOA_CID "00"
31 # define _4_BYTE_TOA_SESSION_TOKEN "00000000"
32 # define _14_BYTE_TOA_RAND_A "0000000000000000000000000000"
33 # define _14_BYTE_TOA_MSG_PAYLOAD "0000000000000000000000000000"
34 # define _14_BYTE_TOA_SONG_PAYLOAD "020103"
35 # define _4_BYTE_TOA_MIC "00000000"
37 # define _1_BYTE_TOA_CMD_OPEN_CHANNEL "10"
38 # define _1_BYTE_TOA_CMD_READY "12"
39 # define _1_BYTE_TOA_CMD_SONG_PLAY "05"
41 # define _1_BYTE_TOA_RSP_OPEN_CHANNEL "12"
42 # define _1_BYTE_TOA_RSP_READY "01"
44 volatile int wait = 1;
45 volatile unsigned char gReceivedNotification = 0;
46 char gNotificationData[BTRMGR_MAX_STR_LEN] =
"\0";
49 int cliArgCounter = 0;
52 BTRMgrDeviceHandle gDeviceHandle = 0;
80 static void printOptions (
void)
83 printf (
" 1. Get Number of Adapter\n");
84 printf (
" 2. Set Name to your Adapter\n");
85 printf (
" 3. Get Name of your Adapter\n");
86 printf (
" 4. Set Adapter Power; 0 to OFF & 1 to ON\n");
87 printf (
" 5. Get Adapter Power\n");
88 printf (
" 6. Set Discoverable\n");
89 printf (
" 7. Is it Discoverable\n");
90 printf (
" 8. Start Discovering\n");
91 printf (
" 9. Stop Discovering\n");
92 printf (
"10. Get List of Discovered Devices\n");
93 printf (
"11. Pair a Device\n");
94 printf (
"12. UnPair a Device\n");
95 printf (
"13. Get List of Paired Devices\n");
96 printf (
"14. Connect to Device\n");
97 printf (
"15. DisConnect from Device\n");
98 printf (
"16. Get Device Properties\n");
99 printf (
"17. Start Streaming\n");
100 printf (
"18. Stop Streaming\n");
101 printf (
"19. Get StreamingOut Status\n");
102 printf (
"20. Check auto connection of external Device\n");
103 printf (
"21. Accept External Pair Request\n");
104 printf (
"22. Deny External Pair Request\n");
105 printf (
"23. Accept External Connect Request\n");
106 printf (
"24. Deny External Connect Request\n");
107 printf (
"25. Accept External Playback Request\n");
108 printf (
"26. Deny External Playback Request\n");
109 printf (
"27. Start Streaming-In\n");
110 printf (
"28. Stop Streaming-In\n");
111 printf (
"29. Perform Media Control Options\n");
112 printf (
"30. Get Current Media Track Information\n");
113 printf (
"31. Get Media Current Play Position\n");
114 printf (
"32. Get StreamingIn Status\n");
115 printf (
"33. Get LE Property\n");
116 printf (
"34. Perform LE Operation\n");
117 printf (
"35. Reset Bluetooth Adapter\n");
118 printf (
"36. Get Discovery State \n");
119 printf (
"37. Set StreamOut Type Auxiliary\n");
120 printf (
"40. Ring A Tile (Just for POC)\n");
121 printf (
"41. (RFC)Set AudioIn - Enabled/Disabled\n");
122 printf (
"42. Set AudioIn - Enabled/Disabled\n");
123 printf (
"43. Set Media Element Active\n");
124 printf (
"44. Get Media Element List\n");
125 printf (
"45. Select Media Element to Play/Explore\n");
126 printf (
"46. Get Media Track Information by Media Element\n");
127 printf (
"47. Set Device Media volume and mute info\n");
128 printf (
"48. Get Device Media volume and mute info\n");
129 printf (
"50. Set advertisement data and services and start advertisement\n");
130 printf (
"51. Add service/gatt/descriptor info\n");
131 printf (
"52. Stop Advertisement\n");
132 printf (
"53. Begin advertisement for Xcam2\n");
133 printf (
"54. (RFC)Set GamePad - Enabled/Disabled\n");
134 printf (
"55. Set GamePad - Enabled/Disabled\n");
135 printf (
"56. Quit\n");
137 printf (
"Please enter the option that you want to test\t");
142 static void printOptionsCli (
void)
145 printf (
" 1. Get Number of Adapter\n Usage: btrMgrTest 1\n");
146 printf (
" 2. Set Name to your Adapter\n Usage: btrMgrTest 2 <Name>\n");
147 printf (
" 3. Get Name of your Adapter\n Usage: btrMgrTest 3\n");
148 printf (
" 4. Set Adapter Power; 0 to OFF & 1 to ON\n Usage: btrMgrTest 4 <PowerMode>\n");
149 printf (
" 5. Get Adapter Power\n Usage: btrMgrTest 5\n");
150 printf (
" 6. Set Discoverable\n Usage: btrMgrTest 6 <Discoverable> <TimeOut> \n 1 or 0 to Make it Discoverable ON or OFF\n");
151 printf (
" 7. Is it Discoverable\n Usage: btrMgrTest 7\n");
152 printf (
" 8. Start Discovering\n Usage: btrMgrTest 8 <ScanType> \n 0 - Normal(BR/EDR) | 1 - LE (BLE)\n");
153 printf (
" 9. Stop Discovering\n Usage: btrMgrTest 9 <ScanType> \n 0 - Normal(BR/EDR) | 1 - LE (BLE)\n");
154 printf (
"10. Get List of Discovered Devices\n Usage: btrMgrTest 10\n");
155 printf (
"11. Pair a Device\n Usage: btrMgrTest 11 <Handle>\n");
156 printf (
"12. UnPair a Device\n Usage: btrMgrTest 12 <Handle>\n");
157 printf (
"13. Get List of Paired Devices\n Usage: btrMgrTest 13\n");
158 printf (
"14. Connect to Device\n Usage: btrMgrTest 14 <Handle> <ConnectType>\n Device ConnectAs Type : [0 - AUDIO_OUTPUT | 1 - AUDIO_INPUT | 2 - LE ]\n");
159 printf (
"15. DisConnect from Device\n Usage: btrMgrTest 15 <Handle>\n");
160 printf (
"16. Get Device Properties\n Usage: btrMgrTest 16 <Handle>\n");
161 printf (
"17. Start Streaming\n Usage: btrMgrTest 17 <Handle> <StreamingPref>\n[0 - AUDIO_OUTPUT | 1 - AUDIO_INPUT | 2 - LE ]\n");
162 printf (
"18. Stop Streaming\n Usage: btrMgrTest 18 <Handle>\n");
163 printf (
"19. Get StreamingOut Status\n Usage: btrMgrTest 19 \n");
164 printf (
"20. Check auto connection of external Device\n Usage: btrMgrTest 20 \n");
165 printf (
"21. Accept External Pair Request\n Usage: btrMgrTest 21 \n");
166 printf (
"22. Deny External Pair Request\nUsage: btrMgrTest 22 \n");
167 printf (
"23. Accept External Connect Request\n Usage: btrMgrTest 23 \n");
168 printf (
"24. Deny External Connect Request\n Usage: btrMgrTest 24 \n");
169 printf (
"25. Accept External Playback Request\n Usage: btrMgrTest 25 \n");
170 printf (
"26. Deny External Playback Request\n Usage: btrMgrTest 26 \n");
171 printf (
"27. Start Streaming-In\n Usage: btrMgrTest 27 <Handle> <StreamingPref> \n");
172 printf (
"28. Stop Streaming-In\n Usage: btrMgrTest 28 <Handle> \n");
173 printf (
"29. Perform Media Control Options\n Usage: btrMgrTest 29 <Handle> <MediaControlOpt> \n Medio Control Options [0 - Play | 1 - Pause | 2 - Stop | 3 - Next | 4 - Previous \n");
174 printf (
"30. Get Current Media Track Information\n Usage: btrMgrTest 30 <Handle> \n");
175 printf (
"31. Get Media Current Play Position\n Usage: btrMgrTest 31 <Handle>\n");
176 printf (
"32. Get StreamingIn Status\n Usage: btrMgrTest 32 \n");
177 printf (
"33. Get LE Property\n Usage: btrMgrTest 33 <Handle> <UUID> <Property>\n property to query: [0 - Uuid | 1 - Primary | 2 - Device | 3 - Service | 4 - Value | 5 - Notifying | 6 - Flags | 7 -Character]\n");
178 printf (
"34. Perform LE Operation\n Usage: btrMgrTest 34 <Handle> <UUID> <Option> \nEnter Option : [ReadValue - 0 | WriteValue - 1 | StartNotify - 2 | StopNotify - 3]\n");
179 printf (
"35. Reset Bluetooth Adapter\n Usage: btrMgrTest 35\n");
180 printf (
"36. Get Discovery State \n");
181 printf (
"37. Set StreamOut Type Auxiliary\n Usage: btrMgrTest 37\n");
182 printf (
"40. Ring A Tile (Just for POC)\n");
183 printf (
"55. Quit\n");
189 static int getUserSelection (
void)
194 printf(
"Enter a choice...\n");
195 if (scanf(
"%d", &mychoice)) {
202 if (cliArgCounter < gArgc){
203 mychoice = atoi(gArgv[cliArgCounter]);
206 printf(
"\n No Value entered , Sending 0\n");
212 static BTRMgrDeviceHandle getDeviceSelection(
void)
214 BTRMgrDeviceHandle mychoice = 0;
217 printf(
"Enter a choice...\n");
218 if (scanf(
"%llu", &mychoice)) {
225 if (cliArgCounter < gArgc){
226 mychoice = strtoll(gArgv[cliArgCounter],NULL, 0);
229 printf(
"\n No Value entered , Sending 0\n");
237 void getString (
char* mychoice)
242 if (fgets (mychoice, BTRMGR_NAME_LEN_MAX, stdin)) {
245 tmp = strchr(mychoice,
'\n');
252 if (cliArgCounter < gArgc){
253 strcpy(mychoice , gArgv[cliArgCounter]);
256 printf(
"\n No Value entered , Sending NULL \n");
263 unsigned short flagBits
267 printf(
"%d", (flagBits >> i) & 1);
278 case BTRMGR_EVENT_DEVICE_OUT_OF_RANGE :
event =
"DEVICE_OUT_OF_RANGE_OR_LOST";
break;
279 case BTRMGR_EVENT_DEVICE_DISCOVERY_STARTED :
event =
"DEVICE_DISCOVERY_STARTED";
break;
280 case BTRMGR_EVENT_DEVICE_DISCOVERY_UPDATE :
event =
"DEVICE_DISCOVERY_UPDATE";
break;
281 case BTRMGR_EVENT_DEVICE_DISCOVERY_COMPLETE :
event =
"DEVICE_DISCOVERY_COMPLETE";
break;
282 case BTRMGR_EVENT_DEVICE_PAIRING_COMPLETE :
event =
"DEVICE_PAIRING_COMPLETE";
break;
283 case BTRMGR_EVENT_DEVICE_UNPAIRING_COMPLETE :
event =
"DEVICE_UNPAIRING_COMPLETE";
break;
284 case BTRMGR_EVENT_DEVICE_CONNECTION_COMPLETE :
event =
"DEVICE_CONNECTION_COMPLETE";
break;
285 case BTRMGR_EVENT_DEVICE_DISCONNECT_COMPLETE :
event =
"DEVICE_DISCONNECT_COMPLETE";
break;
286 case BTRMGR_EVENT_DEVICE_PAIRING_FAILED :
event =
"DEVICE_PAIRING_FAILED";
break;
287 case BTRMGR_EVENT_DEVICE_UNPAIRING_FAILED :
event =
"DEVICE_UNPAIRING_FAILED";
break;
288 case BTRMGR_EVENT_DEVICE_CONNECTION_FAILED :
event =
"DEVICE_CONNECTION_FAILED";
break;
289 case BTRMGR_EVENT_DEVICE_DISCONNECT_FAILED :
event =
"DEVICE_DISCONNECT_FAILED";
break;
290 case BTRMGR_EVENT_RECEIVED_EXTERNAL_PAIR_REQUEST :
event =
"RECEIVED_EXTERNAL_PAIR_REQUEST";
break;
291 case BTRMGR_EVENT_RECEIVED_EXTERNAL_CONNECT_REQUEST :
event =
"RECEIVED_EXTERNAL_CONNECT_REQUEST";
break;
292 case BTRMGR_EVENT_DEVICE_FOUND :
event =
"DEVICE_FOUND";
break;
293 case BTRMGR_EVENT_MEDIA_TRACK_STARTED :
event =
"MEDIA_TRACK_STARTED";
break;
294 case BTRMGR_EVENT_MEDIA_TRACK_PLAYING :
event =
"MEDIA_TRACK_PLAYING";
break;
295 case BTRMGR_EVENT_MEDIA_TRACK_PAUSED :
event =
"MEDIA_TRACK_PAUSED";
break;
296 case BTRMGR_EVENT_MEDIA_TRACK_STOPPED :
event =
"MEDIA_TRACK_STOPPED";
break;
297 case BTRMGR_EVENT_MEDIA_TRACK_POSITION :
event =
"MEDIA_TRACK_POSITION";
break;
298 case BTRMGR_EVENT_MEDIA_TRACK_CHANGED :
event =
"MEDIA_TRACK_CHANGED";
break;
299 case BTRMGR_EVENT_MEDIA_PLAYBACK_ENDED :
event =
"MEDIA_PLAYBACK_ENDED";
break;
300 case BTRMGR_EVENT_DEVICE_OP_READY :
event =
"DEVICE_OP_READY";
break;
301 case BTRMGR_EVENT_DEVICE_OP_INFORMATION :
event =
"DEVICE_OP_INFORMATION";
break;
302 case BTRMGR_EVENT_MEDIA_PLAYER_NAME :
event =
"MEDIA_PLAYER_NAME";
break;
303 case BTRMGR_EVENT_MEDIA_PLAYER_VOLUME :
event =
"MEDIA_PLAYER_VOLUME";
break;
304 case BTRMGR_EVENT_MEDIA_PLAYER_EQUALIZER_OFF :
event =
"MEDIA_PLAYER_EQUALIZER_OFF";
break;
305 case BTRMGR_EVENT_MEDIA_PLAYER_EQUALIZER_ON :
event =
"MEDIA_PLAYER_EQUALIZER_ON";
break;
306 case BTRMGR_EVENT_MEDIA_PLAYER_SHUFFLE_OFF :
event =
"MEDIA_PLAYER_SHUFFLE_OFF";
break;
307 case BTRMGR_EVENT_MEDIA_PLAYER_SHUFFLE_ALLTRACKS :
event =
"MEDIA_PLAYER_SHUFFLE_ALLTRACKS";
break;
308 case BTRMGR_EVENT_MEDIA_PLAYER_SHUFFLE_GROUP :
event =
"MEDIA_PLAYER_SHUFFLE_GROUP";
break;
309 case BTRMGR_EVENT_MEDIA_PLAYER_REPEAT_OFF :
event =
"MEDIA_PLAYER_REPEAT_OFF";
break;
310 case BTRMGR_EVENT_MEDIA_PLAYER_REPEAT_SINGLETRACK :
event =
"MEDIA_PLAYER_REPEAT_SINGLETRACK";
break;
311 case BTRMGR_EVENT_MEDIA_PLAYER_REPEAT_ALLTRACKS :
event =
"MEDIA_PLAYER_REPEAT_ALLTRACKS";
break;
312 case BTRMGR_EVENT_MEDIA_PLAYER_REPEAT_GROUP :
event =
"MEDIA_PLAYER_REPEAT_GROUP";
break;
313 case BTRMGR_EVENT_MEDIA_ALBUM_INFO :
event =
"MEDIA_PLAYER_ALBUM_INFO";
break;
314 case BTRMGR_EVENT_MEDIA_ARTIST_INFO :
event =
"MEDIA_PLAYER_ARTIST_INFO";
break;
315 case BTRMGR_EVENT_MEDIA_GENRE_INFO :
event =
"MEDIA_PLAYER_GENRE_INFO";
break;
316 case BTRMGR_EVENT_MEDIA_COMPILATION_INFO :
event =
"MEDIA_PLAYER_COMPILATION_INFO";
break;
317 case BTRMGR_EVENT_MEDIA_PLAYLIST_INFO :
event =
"MEDIA_PLAYER_PLAYLIST_INFO";
break;
318 case BTRMGR_EVENT_MEDIA_TRACKLIST_INFO :
event =
"MEDIA_PLAYER_TRACKLIST_INFO";
break;
319 case BTRMGR_EVENT_MEDIA_PLAYER_MUTE :
event =
"MEDIA_PLAYER_MUTE";
break;
320 case BTRMGR_EVENT_MEDIA_PLAYER_UNMUTE :
event =
"MEDIA_PLAYER_UNMUTE";
break;
321 case BTRMGR_EVENT_DEVICE_MEDIA_STATUS :
event =
"DEVICE_MEDIA_STATUS";
break;
322 default :
event =
"##INVALID##";
331 printf (
"\n\t@@@@@@@@ %s : %s eventCallback :::: Event ID %d @@@@@@@@\n",
BTRMGR_GetDeviceTypeAsString(event.m_pairedDevice.m_deviceType)
332 , event.m_pairedDevice.m_name
333 , event.m_eventType);
335 switch(event.m_eventType) {
336 case BTRMGR_EVENT_DEVICE_OUT_OF_RANGE:
337 printf(
"\tReceived %s Event from BTRMgr\n", getEventAsString(event.m_eventType));
338 printf(
"\tYour device %s has either been Lost or Out of Range\n", event.m_pairedDevice.m_name);
340 case BTRMGR_EVENT_DEVICE_FOUND:
341 printf(
"\tReceived %s Event from BTRMgr\n", getEventAsString(event.m_eventType));
342 printf(
"\tYour device %s is Up and Ready\n", event.m_pairedDevice.m_name);
344 if(event.m_pairedDevice.m_isLastConnectedDevice) {
345 if( 20 == uselection ) {
346 printf(
"\tDo you want to Connect? (1 for Yes / 0 for No)\n\t");
347 if ( getUserSelection() ) {
349 printf (
"\tConnection Success....\n");
351 printf (
"\tConnection Failed.....\n");
354 printf (
"\tDevice Connection skipped\n");
359 printf(
"\tDefault Action: Accept connection from Last connected device..\n");
364 case BTRMGR_EVENT_RECEIVED_EXTERNAL_PAIR_REQUEST:
365 printf (
"\tReceiver External Pair Request\n");
366 printf (
"\t DevHandle = %lld\n", event.m_externalDevice.m_deviceHandle);
367 printf (
"\t DevName = %s\n", event.m_externalDevice.m_name);
368 printf (
"\t DevAddr = %s\n", event.m_externalDevice.m_deviceAddress);
369 printf (
"\t PassCode = %06d\n", event.m_externalDevice.m_externalDevicePIN);
370 if (event.m_externalDevice.m_requestConfirmation) {
371 printf (
"\t Enter Option 21 to Accept Pairing Request\n");
372 printf (
"\t Enter Option 22 to Deny Pairing Request\n");
373 gDeviceHandle =
event.m_externalDevice.m_deviceHandle;
376 printf(
"\n\n\t@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\n");
377 printf(
"\tEnter PIN: %06d in Your \"%s\" to make them paired\n", event.m_externalDevice.m_externalDevicePIN, event.m_externalDevice.m_name);
378 printf(
"\t@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\n\n");
381 case BTRMGR_EVENT_RECEIVED_EXTERNAL_CONNECT_REQUEST:
382 printf (
"\tReceiver External Connect Request\n");
383 printf (
"\t DevHandle = %lld\n", event.m_externalDevice.m_deviceHandle);
384 printf (
"\t DevName = %s\n", event.m_externalDevice.m_name);
385 printf (
"\t DevAddr = %s\n", event.m_externalDevice.m_deviceAddress);
386 printf (
"\t Enter Option 23 to Accept Connect Request\n");
387 printf (
"\t Enter Option 24 to Deny Connect Request\n");
388 gDeviceHandle =
event.m_externalDevice.m_deviceHandle;
390 case BTRMGR_EVENT_RECEIVED_EXTERNAL_PLAYBACK_REQUEST:
391 printf (
"\tReceiver External Playback Request\n");
392 printf (
"\t DevHandle = %lld\n", event.m_externalDevice.m_deviceHandle);
393 printf (
"\t DevName = %s\n", event.m_externalDevice.m_name);
394 printf (
"\t DevAddr = %s\n", event.m_externalDevice.m_deviceAddress);
395 printf (
"\t Enter Option 25 to Accept Playback Request\n");
396 printf (
"\t Enter Option 26 to Deny Playback Request\n");
397 gDeviceHandle =
event.m_externalDevice.m_deviceHandle;
399 case BTRMGR_EVENT_DEVICE_PAIRING_COMPLETE:
400 case BTRMGR_EVENT_DEVICE_PAIRING_FAILED:
401 printf(
"\tReceived %s %s Event from BTRMgr\n", event.m_discoveredDevice.m_name, getEventAsString(event.m_eventType));
402 printf(
"\t DevHandle = %lld\n", event.m_discoveredDevice.m_deviceHandle);
404 printf(
"\t DevAddr = %s\n", event.m_discoveredDevice.m_deviceAddress);
406 case BTRMGR_EVENT_DEVICE_UNPAIRING_COMPLETE:
407 case BTRMGR_EVENT_DEVICE_UNPAIRING_FAILED:
408 case BTRMGR_EVENT_DEVICE_CONNECTION_FAILED:
409 case BTRMGR_EVENT_DEVICE_DISCONNECT_FAILED:
410 case BTRMGR_EVENT_DEVICE_CONNECTION_COMPLETE:
411 case BTRMGR_EVENT_DEVICE_DISCONNECT_COMPLETE:
412 printf(
"\tReceived %s %s Event from BTRMgr\n", event.m_pairedDevice.m_name, getEventAsString(event.m_eventType));
413 printf(
"\t DevHandle = %lld\n", event.m_pairedDevice.m_deviceHandle);
415 printf(
"\t DevAddr = %s\n", event.m_pairedDevice.m_deviceAddress);
417 case BTRMGR_EVENT_MEDIA_TRACK_STARTED:
418 case BTRMGR_EVENT_MEDIA_TRACK_PLAYING:
419 case BTRMGR_EVENT_MEDIA_TRACK_PAUSED:
420 case BTRMGR_EVENT_MEDIA_TRACK_STOPPED:
421 case BTRMGR_EVENT_MEDIA_TRACK_POSITION:
422 printf(
"\t[%s] at position %d.%02d of %d.%02d\n", getEventAsString(event.m_eventType)
423 , event.m_mediaInfo.m_mediaPositionInfo.m_mediaPosition/60000
424 , (event.m_mediaInfo.m_mediaPositionInfo.m_mediaPosition/1000)%60
425 , event.m_mediaInfo.m_mediaPositionInfo.m_mediaDuration/60000
426 , (event.m_mediaInfo.m_mediaPositionInfo.m_mediaDuration/1000)%60);
428 case BTRMGR_EVENT_MEDIA_TRACK_CHANGED:
429 printf(
"\tRecieved %s Event from BTRMgr\n", getEventAsString(event.m_eventType));
430 printf(
"\tDevice %s changed track successfully\n", event.m_mediaInfo.m_name);
431 printf (
"\t---Current Media Track Info--- \n"
436 "\tNumberOfTracks : %d\n"
437 "\tTrackNumber : %d\n"
438 "\tDuration : %d\n\n"
439 , event.m_mediaInfo.m_mediaTrackInfo.pcAlbum
440 , event.m_mediaInfo.m_mediaTrackInfo.pcArtist
441 , event.m_mediaInfo.m_mediaTrackInfo.pcTitle
442 , event.m_mediaInfo.m_mediaTrackInfo.pcGenre
443 , event.m_mediaInfo.m_mediaTrackInfo.ui32NumberOfTracks
444 , event.m_mediaInfo.m_mediaTrackInfo.ui32TrackNumber
445 , event.m_mediaInfo.m_mediaTrackInfo.ui32Duration);
448 case BTRMGR_EVENT_MEDIA_PLAYBACK_ENDED:
449 printf(
"\tRecieved %s Event from BTRMgr\n", getEventAsString(event.m_eventType));
450 printf(
"\tDevice %s ended streaming successfully\n", event.m_mediaInfo.m_name);
452 case BTRMGR_EVENT_DEVICE_OP_READY:
453 printf(
"\tRecieved %s Event from BTRMgr\n", getEventAsString(event.m_eventType));
454 printf(
"\tDevice %s Op Ready\n", event.m_deviceOpInfo.m_name);
456 case BTRMGR_EVENT_DEVICE_OP_INFORMATION:
457 printf(
"\tRecieved %s Event from BTRMgr\n", getEventAsString(event.m_eventType));
458 printf(
"\tDevice %s Op Information\n", event.m_deviceOpInfo.m_name);
459 printf(
"\tUUID is %s\n", event.m_deviceOpInfo.m_uuid);
460 if (BTRMGR_DEVICE_TYPE_TILE == event.m_deviceOpInfo.m_deviceType)
462 printf(
"\t%s\n", event.m_deviceOpInfo.m_notifyData);
464 else if(BTRMGR_LE_OP_WRITE_VALUE == event.m_deviceOpInfo.m_leOpType)
466 printf(
"\t%s\n", event.m_deviceOpInfo.m_writeData);
468 BTRMGR_SysDiagInfo(0, event.m_deviceOpInfo.m_uuid, event.m_deviceOpInfo.m_writeData, event.m_deviceOpInfo.m_leOpType);
471 else if (BTRMGR_LE_OP_READ_VALUE == event.m_deviceOpInfo.m_leOpType)
473 BTRMGR_SysDiagInfo(0, event.m_deviceOpInfo.m_uuid, event.m_deviceOpInfo.m_writeData, event.m_deviceOpInfo.m_leOpType);
474 printf(
"Writing %s for UUID %s\n", event.m_deviceOpInfo.m_writeData, event.m_deviceOpInfo.m_uuid);
479 memset(&lstBtrMgrEvtRsp, 0,
sizeof(lstBtrMgrEvtRsp));
480 lstBtrMgrEvtRsp.m_eventResp = 1;
481 lstBtrMgrEvtRsp.m_eventType = BTRMGR_EVENT_DEVICE_OP_INFORMATION;
482 strncpy(lstBtrMgrEvtRsp.m_writeData, event.m_deviceOpInfo.m_writeData, BTRMGR_MAX_DEV_OP_DATA_LEN - 1);
484 printf(
"Failed to send event response");
489 case BTRMGR_EVENT_DEVICE_DISCOVERY_UPDATE:
490 printf (
"\n\tDiscovered %s device of type %s\n", event.m_discoveredDevice.m_name,
BTRMGR_GetDeviceTypeAsString(event.m_discoveredDevice.m_deviceType));
492 case BTRMGR_EVENT_DEVICE_MEDIA_STATUS:
493 printf(
"\n\t[%s] set %s Vol %d Mute %d Ctrl %d %% \n", event.m_mediaInfo.m_name, getEventAsString(event.m_eventType), event.m_mediaInfo.m_mediaDevStatus.m_ui8mediaDevVolume, event.m_mediaInfo.m_mediaDevStatus.m_ui8mediaDevMute, event.m_mediaInfo.m_mediaDevStatus.m_enmediaCtrlCmd);
495 case BTRMGR_EVENT_MEDIA_PLAYER_NAME:
496 printf(
"\n\t[%s] set %s %s \n", event.m_mediaInfo.m_name, getEventAsString(event.m_eventType), event.m_mediaInfo.m_mediaPlayerName);
498 case BTRMGR_EVENT_MEDIA_PLAYER_VOLUME:
499 printf(
"\n\t[%s] set %s %d%% \n", event.m_mediaInfo.m_name, getEventAsString(event.m_eventType), event.m_mediaInfo.m_mediaPlayerVolume);
501 case BTRMGR_EVENT_MEDIA_PLAYER_EQUALIZER_OFF:
502 case BTRMGR_EVENT_MEDIA_PLAYER_EQUALIZER_ON:
503 case BTRMGR_EVENT_MEDIA_PLAYER_SHUFFLE_OFF:
504 case BTRMGR_EVENT_MEDIA_PLAYER_SHUFFLE_ALLTRACKS:
505 case BTRMGR_EVENT_MEDIA_PLAYER_SHUFFLE_GROUP:
506 case BTRMGR_EVENT_MEDIA_PLAYER_REPEAT_OFF:
507 case BTRMGR_EVENT_MEDIA_PLAYER_REPEAT_SINGLETRACK:
508 case BTRMGR_EVENT_MEDIA_PLAYER_REPEAT_ALLTRACKS:
509 case BTRMGR_EVENT_MEDIA_PLAYER_REPEAT_GROUP:
510 printf(
"\n\t[%s] set %s\n", event.m_mediaInfo.m_name, getEventAsString(event.m_eventType));
513 case BTRMGR_EVENT_MEDIA_ALBUM_INFO:
514 case BTRMGR_EVENT_MEDIA_ARTIST_INFO:
515 case BTRMGR_EVENT_MEDIA_GENRE_INFO:
516 case BTRMGR_EVENT_MEDIA_COMPILATION_INFO:
517 case BTRMGR_EVENT_MEDIA_PLAYLIST_INFO:
518 case BTRMGR_EVENT_MEDIA_TRACKLIST_INFO:
519 case BTRMGR_EVENT_MEDIA_TRACK_INFO:
520 if (event.m_mediaInfo.m_mediaTrackListInfo.m_mediaElementInfo[0].m_IsPlayable) {
521 printf(
"\t%50s\t\t%020llu\n", event.m_mediaInfo.m_mediaTrackListInfo.m_mediaElementInfo[0].m_mediaTrackInfo.pcTitle
522 , event.m_mediaInfo.m_mediaTrackListInfo.m_mediaElementInfo[0].m_mediaElementHdl);
525 printf(
"\t%50s\t\t%020llu\n", event.m_mediaInfo.m_mediaTrackListInfo.m_mediaElementInfo[0].m_mediaElementName
526 , event.m_mediaInfo.m_mediaTrackListInfo.m_mediaElementInfo[0].m_mediaElementHdl);
531 printf(
"\tReceived %s Event from BTRMgr\n", getEventAsString(event.m_eventType));
535 return BTRMGR_RESULT_SUCCESS;
539 int main(
int argc,
char *argv[])
544 BTRMgrDeviceHandle handle = 0;
550 if (BTRMGR_RESULT_SUCCESS != rc)
552 printf (
"Failed to init BTRMgr.. Quiting.. \n");
557 BTRMGR_RegisterEventCallback (eventCallback);
559 printf(
"\nNo Extra Command Line Argument Passed Other Than Program Name");
564 printf(
"\n Executing in CLI mode\n");
566 gArgv = malloc(argc *
sizeof (
char*));
568 for (counter = 0; counter < argc; ++counter) {
569 sz = strlen(argv[counter]) + 1;
570 gArgv[counter] = malloc(sz *
sizeof (
char));
571 strcpy(gArgv[counter], argv[counter]);
574 for (counter = 0; counter < argc; ++counter) {
575 printf(
"%s\n", gArgv[counter]);
582 i = getUserSelection();
587 unsigned char numOfAdapters = 0;
589 if (BTRMGR_RESULT_SUCCESS != rc)
592 printf (
"\nSuccess.... Count = %d\n", numOfAdapters);
597 memset (array,
'\0',
sizeof(array));
598 printf (
"Please Enter the name that you want to set to your adapter\t: ");
601 printf (
"We received @@%s@@ from you.. Hope this is correct. Let me try to set it..\n", array);
603 if (BTRMGR_RESULT_SUCCESS != rc)
606 printf (
"\nSuccess....\n");
611 memset (array,
'\0',
sizeof(array));
613 if (BTRMGR_RESULT_SUCCESS != rc)
616 printf (
"We received @@%s@@\n", array);
621 unsigned char power_status = 0;
623 printf (
"Please set the power status \t");
624 power_status = (
unsigned char) getUserSelection();
627 if (BTRMGR_RESULT_SUCCESS != rc)
630 printf (
"Success\n");
635 unsigned char power_status = 0;
638 if (BTRMGR_RESULT_SUCCESS != rc)
641 printf (
"Success; Status = %u\n", power_status);
646 unsigned char power_status = 0;
649 printf (
"Please enter 1 or 0 to Make it Discoverable ON or OFF \t");
650 power_status = (
unsigned char) getUserSelection();
652 printf (
"Please set the timeout for the discoverable \t");
653 timeout = (int) getUserSelection();
654 printf (
"timeout = %d\t\n",timeout);
657 if (BTRMGR_RESULT_SUCCESS != rc)
660 printf (
"Success;\n");
665 unsigned char power_status = 0;
668 if (BTRMGR_RESULT_SUCCESS != rc)
671 printf (
"Success; Status = %u\n", power_status);
678 printf (
"Enter Scan Type : [0 - Normal(BR/EDR) | 1 - LE (BLE) | 2 - HID ]\n");
679 ch = getDeviceSelection();
681 discoveryType = BTRMGR_DEVICE_OP_TYPE_AUDIO_OUTPUT;
683 discoveryType = BTRMGR_DEVICE_OP_TYPE_LE;
685 discoveryType = BTRMGR_DEVICE_OP_TYPE_HID;
688 if (BTRMGR_RESULT_SUCCESS != rc)
691 printf (
"Success;\n");
698 printf (
"Enter Scan Type : [0 - Normal(BR/EDR) | 1 - LE (BLE) | 2 - HID ]\n");
699 ch = getDeviceSelection();
701 discoveryType = BTRMGR_DEVICE_OP_TYPE_AUDIO_OUTPUT;
703 discoveryType = BTRMGR_DEVICE_OP_TYPE_LE;
705 discoveryType = BTRMGR_DEVICE_OP_TYPE_HID;
708 if (BTRMGR_RESULT_SUCCESS != rc)
711 printf (
"Success;\n");
718 memset (&discoveredDevices, 0,
sizeof(discoveredDevices));
720 if (BTRMGR_RESULT_SUCCESS != rc)
725 printf (
"\nSuccess.... Discovered Devices (%d) are, \n", discoveredDevices.m_numOfDevices);
726 printf (
"\n\tSN %-17s %-30s %-17s %s\n\n",
"Device Id",
"Device Name",
"Device Address",
"Device Type");
727 for (; j< discoveredDevices.m_numOfDevices; j++)
729 printf (
"\t%02d %-17llu %-30s %17s %s\n", j,
730 discoveredDevices.m_deviceProperty[j].m_deviceHandle,
731 discoveredDevices.m_deviceProperty[j].m_name,
732 discoveredDevices.m_deviceProperty[j].m_deviceAddress,
742 printf (
"Please Enter the device Handle number of the device that you want to pair \t: ");
743 handle = getDeviceSelection();
746 if (BTRMGR_RESULT_SUCCESS != rc)
749 printf (
"\nSuccess....\n");
755 printf (
"Please Enter the device Handle number of the device that you want to Unpair \t: ");
756 handle = getDeviceSelection();
759 if (BTRMGR_RESULT_SUCCESS != rc)
762 printf (
"\nSuccess....\n");
769 memset (&pairedDevices, 0,
sizeof(pairedDevices));
771 if (BTRMGR_RESULT_SUCCESS != rc)
776 printf (
"\nSuccess.... Paired Devices (%d) are, \n", pairedDevices.m_numOfDevices);
777 printf (
"\n\tSN %-17s %-30s %-17s %s\n\n",
"Device Id",
"Device Name",
"Device Address",
"Device Type");
778 for (; j< pairedDevices.m_numOfDevices; j++)
780 printf (
"\t%02d %-17llu %-30s %17s %s\n", j,
781 pairedDevices.m_deviceProperty[j].m_deviceHandle,
782 pairedDevices.m_deviceProperty[j].m_name,
783 pairedDevices.m_deviceProperty[j].m_deviceAddress,
794 printf (
"Please Enter the device Handle number of the device that you want to Connect \t: ");
795 handle = getDeviceSelection();
796 printf (
"Enter Device ConnectAs Type : [0 - AUDIO_OUTPUT | 1 - AUDIO_INPUT | 2 - LE | 3 - HID | 4 - UNKNOWN]\n");
797 ch = getDeviceSelection();
800 if (BTRMGR_RESULT_SUCCESS != rc)
803 printf (
"\nSuccess....\n");
809 printf (
"Please Enter the device Handle number of the device that you want to DisConnect \t: ");
810 handle = getDeviceSelection();
813 if (BTRMGR_RESULT_SUCCESS != rc)
816 printf (
"\nSuccess....\n");
825 memset (array,
'\0',
sizeof(array));
826 memset (&deviceProperty, 0,
sizeof(deviceProperty));
828 printf (
"Please Enter the device Handle number of the device that you want to query \t: ");
829 handle = getDeviceSelection();
832 if (BTRMGR_RESULT_SUCCESS != rc)
836 printf (
"\nSuccess.... Properties are, \n");
837 printf (
"Handle : %llu\n", deviceProperty.m_deviceHandle);
838 printf (
"Name : %s\n", deviceProperty.m_name);
839 printf (
"Address : %s\n", deviceProperty.m_deviceAddress);
840 printf (
"RSSI : %d\n", deviceProperty.m_rssi);
841 printf (
"Paired : %d\n", deviceProperty.m_isPaired);
842 printf (
"Connected : %d\n", deviceProperty.m_isConnected);
843 printf (
"Vendor ID : %u\n", deviceProperty.m_vendorID);
844 for (i = 0; i < deviceProperty.m_serviceInfo.m_numOfService; i++)
846 printf (
"Profile ID : 0x%.4x\n", deviceProperty.m_serviceInfo.m_profileInfo[i].m_uuid);
847 printf (
"Profile Name : %s\n", deviceProperty.m_serviceInfo.m_profileInfo[i].m_profile);
849 printf (
"######################\n\n\n");
858 printf (
"Please Enter the device Handle number of the device that you want to start play\t: ");
859 handle = getDeviceSelection();
861 printf (
"Please set the Streaming Pref\t[0 - AUDIO_OUTPUT | 1 - AUDIO_INPUT | 2 - LE ]\n");
866 if (BTRMGR_RESULT_SUCCESS != rc)
869 printf (
"\nSuccess.... \n");
875 printf (
"Please Enter the device Handle number of the device that you want to stop play\t: ");
876 handle = getDeviceSelection();
879 if (BTRMGR_RESULT_SUCCESS != rc)
882 printf (
"\nSuccess.... \n");
887 unsigned char index = 0;
889 if (BTRMGR_RESULT_SUCCESS != rc)
892 printf (
"\nSuccess....; Streaming status = %u\n", index);
898 printf (
"\nNow you can power Off and power On to check the auto connection..\n");
899 while(wait) { usleep(1000000); }
900 uselection=0; wait=1;
906 memset(&lstBtrMgrEvtRsp, 0,
sizeof(lstBtrMgrEvtRsp));
908 lstBtrMgrEvtRsp.m_deviceHandle = gDeviceHandle;
909 lstBtrMgrEvtRsp.m_eventType = BTRMGR_EVENT_RECEIVED_EXTERNAL_PAIR_REQUEST;
910 lstBtrMgrEvtRsp.m_eventResp = 1;
913 printf (
"Failed to send event response");
921 memset(&lstBtrMgrEvtRsp, 0,
sizeof(lstBtrMgrEvtRsp));
923 lstBtrMgrEvtRsp.m_deviceHandle = gDeviceHandle;
924 lstBtrMgrEvtRsp.m_eventType = BTRMGR_EVENT_RECEIVED_EXTERNAL_PAIR_REQUEST;
925 lstBtrMgrEvtRsp.m_eventResp = 0;
928 printf (
"Failed to send event response");
936 memset(&lstBtrMgrEvtRsp, 0,
sizeof(lstBtrMgrEvtRsp));
938 lstBtrMgrEvtRsp.m_deviceHandle = gDeviceHandle;
939 lstBtrMgrEvtRsp.m_eventType = BTRMGR_EVENT_RECEIVED_EXTERNAL_CONNECT_REQUEST;
940 lstBtrMgrEvtRsp.m_eventResp = 1;
943 printf (
"Failed to send event response");
951 memset(&lstBtrMgrEvtRsp, 0,
sizeof(lstBtrMgrEvtRsp));
953 lstBtrMgrEvtRsp.m_deviceHandle = gDeviceHandle;
954 lstBtrMgrEvtRsp.m_eventType = BTRMGR_EVENT_RECEIVED_EXTERNAL_CONNECT_REQUEST;
955 lstBtrMgrEvtRsp.m_eventResp = 0;
958 printf (
"Failed to send event response");
966 memset(&lstBtrMgrEvtRsp, 0,
sizeof(lstBtrMgrEvtRsp));
968 lstBtrMgrEvtRsp.m_deviceHandle = gDeviceHandle;
969 lstBtrMgrEvtRsp.m_eventType = BTRMGR_EVENT_RECEIVED_EXTERNAL_PLAYBACK_REQUEST;
970 lstBtrMgrEvtRsp.m_eventResp = 1;
973 printf (
"Failed to send event response");
981 memset(&lstBtrMgrEvtRsp, 0,
sizeof(lstBtrMgrEvtRsp));
983 lstBtrMgrEvtRsp.m_deviceHandle = gDeviceHandle;
984 lstBtrMgrEvtRsp.m_eventType = BTRMGR_EVENT_RECEIVED_EXTERNAL_PLAYBACK_REQUEST;
985 lstBtrMgrEvtRsp.m_eventResp = 0;
988 printf (
"Failed to send event response");
998 printf (
"Please Enter the device Handle number of the device that you want to start play from\t: ");
999 handle = getDeviceSelection();
1001 printf (
"Please set the Streaming Pref \t");
1006 if (BTRMGR_RESULT_SUCCESS != rc)
1007 printf (
"failed\n");
1009 printf (
"\nSuccess.... \n");
1015 printf (
"Please Enter the device Handle number of the device that you want to stop play from\t: ");
1016 handle = getDeviceSelection();
1019 if (BTRMGR_RESULT_SUCCESS != rc)
1020 printf (
"failed\n");
1022 printf (
"\nSuccess.... \n");
1029 printf (
"Please Enter the device Handle number of the device\t: ");
1030 handle = getDeviceSelection();
1031 printf (
"Please Enter the Media Control Options\n"
1032 "[0 - Play | 1 - Pause | 2 - Stop | 3 - Next | 4 - Previous | 5 - FF | 6 - Rewind]\n"
1033 "[7 - VolUp | 8 - VolDown | 9 - EQZ Off | 10 - EQZ On | 11 - Shuffle Off | 12 - shuffle AllTracks]\n"
1034 "[13 - shuffle Group | 14 - Repeat Off | 15 - Repeat SingleTrack | 16 - Repeat AllTracks]\n"
1035 "[17 - Repeat Group | 21 - MuteON | 22 - MuteOFF ]\n");
1036 opt = getDeviceSelection();
1039 if (BTRMGR_RESULT_SUCCESS != rc)
1040 printf (
"failed\n");
1042 printf (
"\nSuccess.... \n");
1049 printf (
"Please Enter the device Handle number of the device\t: ");
1050 handle = getDeviceSelection();
1053 if (BTRMGR_RESULT_SUCCESS != rc)
1054 printf (
"failed\n");
1056 printf (
"\n---Media Track Info--- \n"
1061 "NumberOfTracks : %d\n"
1062 "TrackNumber : %d\n"
1064 , mediaTrackInfo.pcAlbum
1065 , mediaTrackInfo.pcArtist
1066 , mediaTrackInfo.pcTitle
1067 , mediaTrackInfo.pcGenre
1068 , mediaTrackInfo.ui32NumberOfTracks
1069 , mediaTrackInfo.ui32TrackNumber
1070 , mediaTrackInfo.ui32Duration);
1078 printf (
"Please Enter the device Handle number of the device\t: ");
1079 handle = getDeviceSelection();
1082 if (BTRMGR_RESULT_SUCCESS != rc)
1083 printf (
"failed\n");
1085 printf (
"\nPosition : %d | Duration : %d\n", m_mediaPositionInfo.m_mediaPosition
1086 , m_mediaPositionInfo.m_mediaDuration);
1091 unsigned char index = 0;
1093 if (BTRMGR_RESULT_SUCCESS != rc)
1094 printf (
"failed\n");
1096 printf (
"\nSuccess....; Streaming status = %u\n", index);
1101 char luuid[BTRMGR_MAX_STR_LEN] =
"\0";
1102 unsigned char opt = 0;
1104 printf (
"Please Enter the device Handle number of the device\t: ");
1105 handle = getDeviceSelection();
1106 printf (
"Enter the UUID : ");
1108 printf (
"Select the property to query...\n");
1109 printf (
"[0 - Uuid | 1 - Primary | 2 - Device | 3 - Service | 4 - Value |"
1110 " 5 - Notifying | 6 - Flags | 7 -Character]\n");
1111 opt = getDeviceSelection();
1116 if ((rc = BTRMGR_GetLeProperty (0, handle, luuid, opt, (
void*)&deviceServiceList)) == BTRMGR_RESULT_SUCCESS) {
1117 if (deviceServiceList.m_numOfService) {
1118 printf(
"\n\nObtained 'Flag' indices are based on the below mapping..\n"
1121 "2 - encrypt-read\n"
1122 "3 - encrypt-write\n"
1123 "4 - encrypt-authenticated-read\n"
1124 "5 - encrypt-authenticated-write\n"
1125 "6 - secure-read (Server only)\n"
1126 "7 - secure-write (Server only)\n"
1130 "11 - write-without-response\n"
1131 "12 - authenticated-signed-writes\n"
1132 "13 - reliable-write\n"
1133 "14 - writable-auxiliaries\n");
1135 printf(
"\n\t%-40s Flag\n",
"UUID");
1136 for (; i<deviceServiceList.m_numOfService; i++) {
1137 printf(
"\n\t%-40s ", deviceServiceList.m_uuidInfo[i].m_uuid);
1138 getBitsToString(deviceServiceList.m_uuidInfo[i].flags);
1141 printf(
"\n\n\tNo UUIDs found...\n\n");
1145 if (opt == 1 || opt == 5 ){
1147 if ((rc = BTRMGR_GetLeProperty (0, handle, luuid, opt, (
void*)&val)) == BTRMGR_RESULT_SUCCESS) {
1148 printf(
"\nResult : \n\t%d", val);
1151 if (opt == 2 || opt == 3 || opt == 4 || opt == 7) {
1152 char val[BTRMGR_MAX_STR_LEN] =
"\0";
1153 if ((rc = BTRMGR_GetLeProperty (0, handle, luuid, opt, (
void*)&val)) == BTRMGR_RESULT_SUCCESS) {
1154 printf(
"\nResult : \n\t%s", val);
1158 char val[5][BTRMGR_NAME_LEN_MAX];
int i=0;
1159 memset (val, 0,
sizeof(val));
1160 if ((rc = BTRMGR_GetLeProperty (0, handle, luuid, opt, (
void*)&val)) == BTRMGR_RESULT_SUCCESS) {
1161 printf(
"\n Result :");
1162 for(; i<5 && val[i][0]; i++) {
1163 printf(
"\n\t- %s", val[i]);
1167 if (BTRMGR_RESULT_SUCCESS != rc)
1168 printf (
"failed\n");
1170 printf (
"\nSuccess.... \n");
1175 char luuid[BTRMGR_MAX_STR_LEN] =
"\0";
1176 char res[BTRMGR_MAX_STR_LEN] =
"\0";
1177 char arg[BTRMGR_MAX_STR_LEN] =
"\0";
1178 unsigned char opt = 0;
1180 printf (
"Please Enter the device Handle number of the device\t: ");
1181 handle = getDeviceSelection();
1182 printf (
"Enter the Char UUID : ");
1184 printf (
"Enter Option : [ReadValue - 1 | WriteValue - 2 | StartNotify - 3 | StopNotify - 4]\n");
1185 opt = getDeviceSelection();
1188 printf (
"Enter the Value to be Written : ");
1193 if (BTRMGR_RESULT_SUCCESS != rc)
1194 printf (
"failed\n");
1197 printf (
"\n\tObtained Value : %s\n", res);
1199 printf (
"\nSuccess.... \n" );
1205 unsigned char index = 0;
1207 if (BTRMGR_RESULT_SUCCESS != rc)
1208 printf (
"failed\n");
1210 printf (
"\nSuccess....; Reset status = %u\n", index);
1220 if (BTRMGR_RESULT_SUCCESS != rc)
1221 printf (
"failed\n");
1223 printf (
"\nSuccess....; Device Discovery Status = %u and Device Type = %u \n", aeDiscoveryStatus, aenBTRMgrDevOpType);
1232 printf (
"Enter StreamOut Type : [0 - Primary | 1 - Auxiliary]\n");
1233 ch = getDeviceSelection();
1235 type = BTRMGR_STREAM_PRIMARY;
1237 type = BTRMGR_STREAM_AUXILIARY;
1239 type = BTRMGR_STREAM_AUXILIARY;
1242 if (BTRMGR_RESULT_SUCCESS != rc)
1243 printf (
"failed\n");
1245 printf (
"\nSuccess....; Set StreamOut Type = %d \n", type);
1254 printf (
"Please Enter the Tile device Handle number of the device that you want to Connect \t: ");
1255 handle = getDeviceSelection();
1258 if (BTRMGR_RESULT_SUCCESS != rc)
1259 printf (
"failed\n");
1263 printf (
"\nSuccessfully connected to Tile device.\n");
1266 char res[BTRMGR_MAX_STR_LEN] =
"\0";
1267 char notifyUuid[] =
"9d410019-35d6-f4dd-ba60-e7bd8dc491c0";
1268 char arg[BTRMGR_MAX_STR_LEN] =
"\0";
1269 rc =
BTRMGR_PerformLeOp (0, handle, notifyUuid, BTRMGR_LE_OP_START_NOTIFY, arg, res);
1270 if (BTRMGR_RESULT_SUCCESS != rc)
1271 printf (
"[%d]Failed to set notify.\n", __LINE__);
1274 printf (
"\nSuccessfully set notification. \n" );
1277 char writeCharUuid[] =
"9d410018-35d6-f4dd-ba60-e7bd8dc491c0";
1278 char wValue_TOA_CMD_OPEN_CHANNEL[] =
"0000000000100000000000000000000000000000";
1279 char wValue_TOA_CMD_READY[] =
"0212000000000000000000000000000000000000";
1280 char wValue_TOA_CMD_SONG[] =
"020502010300000000";
1282 rc =
BTRMGR_PerformLeOp (0, handle, writeCharUuid, BTRMGR_LE_OP_WRITE_VALUE, wValue_TOA_CMD_OPEN_CHANNEL, res);
1283 if (BTRMGR_RESULT_SUCCESS != rc) {
1284 printf (
"[%d]Failed to set TOA_CMD_OPEN_CHANNEL.\n", __LINE__);
1287 printf (
"\nSuccessfully set TOA_CMD_OPEN_CHANNEL. \n" );
1290 rc =
BTRMGR_PerformLeOp (0, handle, writeCharUuid, BTRMGR_LE_OP_WRITE_VALUE, wValue_TOA_CMD_READY, res);
1291 if (BTRMGR_RESULT_SUCCESS != rc) {
1292 printf (
"[%d]Failed to set TOA_CMD_READY.\n", __LINE__);
1296 printf (
"\nSuccessfully set TOA_CMD_OPEN_READY. \n" );
1299 rc =
BTRMGR_PerformLeOp (0, handle, writeCharUuid, BTRMGR_LE_OP_WRITE_VALUE, wValue_TOA_CMD_SONG, res);
1300 if (BTRMGR_RESULT_SUCCESS != rc) {
1301 printf (
"[%d]Failed to set TOA_CMD_SONG.\n", __LINE__);
1305 printf (
"\nSuccessfully set TOA_CMD_SONG. \n" );
1319 printf (
"\n\nATTENTION! Disconnect all existing AudioIn connection before flipping the AudioIn Service state.\n\n");
1320 printf (
"Press 1 to Enable and 0 to Disable AudioIn Service.\n");
1321 if (scanf(
"%d", &choice)) {
1324 #ifndef BUILD_FOR_PI
1325 WDMP_STATUS status = WDMP_FAILURE;
1326 status = setRFCParameter(
"btrMgrTest",
"Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.BTR.AudioIn.Enable",
1327 (choice)?
"true" :
"false", WDMP_BOOLEAN);
1329 if (status != WDMP_SUCCESS) {
1330 printf(
"\nsetRFCParameter Failed : %s\n", getRFCErrorString(status));
1336 printf(
"\nSuccessfully Enabled AudioIn.\n");
1339 printf(
"\nSuccessfully Disabled AudioIn.\n");
1348 printf (
"\n\nATTENTION! Disconnect all existing AudioIn connection before flipping the AudioIn Service state.\n\n");
1349 printf (
"Press 1 to Enable and 0 to Disable AudioIn Service.\n");
1350 if (scanf(
"%d", &choice)) {
1355 if (BTRMGR_RESULT_SUCCESS == rc) {
1357 printf(
"\nSuccessfully Enabled AudioIn.\n");
1360 printf(
"\nSuccessfully Disabled AudioIn.\n");
1364 printf(
"\nCall Failed : %d\n", rc);
1370 BTRMgrMediaElementHandle mediaElementHdl = 0;
1371 int mediaElementType = 0;
1373 printf (
"\nPlease Enter the device Handle number of the device\t: ");
1374 handle = getDeviceSelection();
1375 printf(
"\nEnter the Media Browser Element Handle\t: ");
1376 if (scanf(
"%llu", &mediaElementHdl)) {
1378 printf(
"\n0. Unknown | 1. Album | 2. Artist | 3. Genre | 4. Compilation | 5. PlayList | 6. TrackList | 7.Track"
1379 "\nEnter the Media Element type\t: ");
1380 if (scanf(
"%d", &mediaElementType)) {
1385 if (BTRMGR_RESULT_SUCCESS == rc) {
1386 printf (
"\nSuccess...\n");
1389 printf(
"\nFailed...\n");
1395 BTRMgrMediaElementHandle mediaElementHdl = 0;
1396 unsigned short startIdx = 0;
1397 unsigned short endIdx = 0;
1398 int mediaElementType = 0;
1401 printf (
"\nPlease Enter the device Handle number of the device\t: ");
1402 handle = getDeviceSelection();
1403 printf(
"\nEnter the Media Browser Element Handle\t: ");
1404 if (scanf(
"%llu", &mediaElementHdl)) {
1406 printf(
"\nEnter the Start index of List\t: ");
1407 if (scanf(
"%hu", &startIdx)) {
1409 printf(
"\nEnter the End index of List\t: ");
1410 if (scanf(
"%hu", &endIdx)) {
1412 printf(
"\n0. Unknown | 1. Album | 2. Artist | 3. Genre | 4. Compilation | 5. PlayList | 6. TrackList | 7. Track"
1413 "\nEnter the Media Element type\t: ");
1414 if (scanf(
"%d", &mediaElementType)) {
1421 if (BTRMGR_RESULT_SUCCESS == rc) {
1422 unsigned short ui16LoopIdx = 0;
1423 printf (
"\nSuccess...\n");
1425 printf (
"\n%4s\t%-20s\t\t%-60sPlayable\n",
"SN",
"MediaElementId",
"MediaElementName");
1426 while (ui16LoopIdx < mediaEementListInfo.m_numberOfElements) {
1427 if (strlen(mediaEementListInfo.m_mediaElementInfo[ui16LoopIdx].m_mediaElementName) > 50) {
1428 strcpy (&mediaEementListInfo.m_mediaElementInfo[ui16LoopIdx].m_mediaElementName[50],
"...");
1430 printf(
"\n%4u\t%020llu\t\t%-60s%d", ui16LoopIdx
1431 , mediaEementListInfo.m_mediaElementInfo[ui16LoopIdx].m_mediaElementHdl
1432 , mediaEementListInfo.m_mediaElementInfo[ui16LoopIdx].m_mediaElementName
1433 , mediaEementListInfo.m_mediaElementInfo[ui16LoopIdx].m_IsPlayable);
1436 printf (
"\n\nRetrived %u Media Elements.\n", mediaEementListInfo.m_numberOfElements);
1439 printf(
"\nFailed...\n");
1445 BTRMgrMediaElementHandle mediaElementHdl = 0;
1446 int mediaElementType = 0;
1448 printf (
"\nPlease Enter the device Handle number of the device\t: ");
1449 handle = getDeviceSelection();
1450 printf(
"\nEnter the Media Element Handle to select\t: ");
1451 if (scanf(
"%llu", &mediaElementHdl)) {
1453 printf(
"\n0. Unknown | 1. Album | 2. Artist | 3. Genre | 4. Compilation | 5. PlayList | 6. TrackList | 7. Track"
1454 "\nEnter the Media Element type\t: ");
1455 if (scanf(
"%d", &mediaElementType)) {
1460 if (BTRMGR_RESULT_SUCCESS == rc) {
1461 printf (
"\nSuccess...\n");
1464 printf(
"\nFailed...\n");
1471 BTRMgrMediaElementHandle mediaElementHdl = 0;
1473 printf (
"Please Enter the device Handle number of the device\t: ");
1474 handle = getDeviceSelection();
1476 printf(
"\nEnter the Media Browser Element Handle\t: ");
1477 if (scanf(
"%llu", &mediaElementHdl)) {
1482 if (BTRMGR_RESULT_SUCCESS != rc)
1483 printf (
"failed\n");
1485 printf (
"\n---Media Track Info--- \n"
1490 "NumberOfTracks : %d\n"
1491 "TrackNumber : %d\n"
1493 , mediaTrackInfo.pcAlbum
1494 , mediaTrackInfo.pcArtist
1495 , mediaTrackInfo.pcTitle
1496 , mediaTrackInfo.pcGenre
1497 , mediaTrackInfo.ui32NumberOfTracks
1498 , mediaTrackInfo.ui32TrackNumber
1499 , mediaTrackInfo.ui32Duration);
1505 unsigned char ui8volume = 0;
1506 unsigned char mute = 0;
1512 printf (
"Please Enter the device Handle number of the device\t: ");
1513 handle = getDeviceSelection();
1514 printf (
"Enter Device ConnectAs Type : [0 - AUDIO_OUTPUT | 1 - AUDIO_INPUT | 2 - LE | 3 - HID | 4 - UNKNOWN]\n");
1515 ch = getDeviceSelection();
1517 Type = BTRMGR_DEVICE_OP_TYPE_AUDIO_OUTPUT;
1519 Type = BTRMGR_DEVICE_OP_TYPE_AUDIO_INPUT;
1521 Type = BTRMGR_DEVICE_OP_TYPE_LE;
1523 Type = BTRMGR_DEVICE_OP_TYPE_HID;
1525 printf(
"\nEnter the Volume value [0 - 255] \t: ");
1526 vol = getDeviceSelection();
1527 printf(
"\nEnter the Mute [ON - 1 | OFF - 0] \t: ");
1528 mu = getDeviceSelection();
1529 ui8volume = (char) vol;
1533 if (BTRMGR_RESULT_SUCCESS != rc)
1534 printf (
"failed\n");
1536 printf (
"\n---volume and mute set success--- \n");
1541 unsigned char ui8volume = 0;
1542 unsigned char mute = 0;
1546 printf (
"Please Enter the device Handle number of the device\t: ");
1547 handle = getDeviceSelection();
1548 printf (
"Enter Device ConnectAs Type : [0 - AUDIO_OUTPUT | 1 - AUDIO_INPUT | 2 - LE | 3 - HID | 4 - UNKNOWN]\n");
1549 ch = getDeviceSelection();
1551 Type = BTRMGR_DEVICE_OP_TYPE_AUDIO_OUTPUT;
1553 Type = BTRMGR_DEVICE_OP_TYPE_AUDIO_INPUT;
1555 Type = BTRMGR_DEVICE_OP_TYPE_LE;
1557 Type = BTRMGR_DEVICE_OP_TYPE_HID;
1561 if (BTRMGR_RESULT_SUCCESS != rc)
1562 printf (
"failed\n");
1564 printf (
"\n---Device volume Info--- \n"
1566 "\n mute : %s \n\n", ui8volume , mute ?
"TRUE" :
"FALSE");
1571 char lPropertyValue[BTRMGR_MAX_STR_LEN] =
"";
1573 BTRMGR_SysDiagInfo(0, BTRMGR_DEVICE_MAC, lPropertyValue, BTRMGR_LE_OP_READ_VALUE);
1574 strncpy((
char*)stCustomAdv.device_mac, lPropertyValue, strlen(lPropertyValue));
1576 printf(
"Adding default local services : DEVICE_INFORMATION_UUID - 0x180a, RDKDIAGNOSTICS_UUID - 0xFDB9\n");
1577 BTRMGR_LE_SetServiceInfo(0, BTRMGR_DEVICE_INFORMATION_UUID, 1);
1578 BTRMGR_LE_SetServiceInfo(0, BTRMGR_RDKDIAGNOSTICS_UUID, 1);
1581 BTRMGR_SysDiagInfo(0, BTRMGR_SYSTEM_ID_UUID, lPropertyValue, BTRMGR_LE_OP_READ_VALUE);
1582 printf(
"Adding char for the default local services : 0x180a, 0xFDB9\n");
1583 BTRMGR_LE_SetGattInfo(0, BTRMGR_DEVICE_INFORMATION_UUID, BTRMGR_SYSTEM_ID_UUID, 0x1, lPropertyValue, BTRMGR_LE_PROP_CHAR);
1584 BTRMGR_LE_SetGattInfo(0, BTRMGR_DEVICE_INFORMATION_UUID, BTRMGR_MODEL_NUMBER_UUID, 0x1, lPropertyValue, BTRMGR_LE_PROP_CHAR);
1586 BTRMGR_LE_SetGattInfo(0, BTRMGR_DEVICE_INFORMATION_UUID, BTRMGR_HARDWARE_REVISION_UUID, 0x1, lPropertyValue, BTRMGR_LE_PROP_CHAR);
1588 BTRMGR_SysDiagInfo(0, BTRMGR_SERIAL_NUMBER_UUID, lPropertyValue, BTRMGR_LE_OP_READ_VALUE);
1589 BTRMGR_LE_SetGattInfo(0, BTRMGR_DEVICE_INFORMATION_UUID, BTRMGR_SERIAL_NUMBER_UUID, 0x1, lPropertyValue, BTRMGR_LE_PROP_CHAR);
1591 BTRMGR_SysDiagInfo(0, BTRMGR_FIRMWARE_REVISION_UUID, lPropertyValue, BTRMGR_LE_OP_READ_VALUE);
1592 BTRMGR_LE_SetGattInfo(0, BTRMGR_DEVICE_INFORMATION_UUID, BTRMGR_FIRMWARE_REVISION_UUID, 0x1, lPropertyValue, BTRMGR_LE_PROP_CHAR);
1593 BTRMGR_LE_SetGattInfo(0, BTRMGR_DEVICE_INFORMATION_UUID, BTRMGR_SOFTWARE_REVISION_UUID, 0x1, lPropertyValue, BTRMGR_LE_PROP_CHAR);
1595 BTRMGR_SysDiagInfo(0, BTRMGR_MANUFACTURER_NAME_UUID, lPropertyValue, BTRMGR_LE_OP_READ_VALUE);
1596 BTRMGR_LE_SetGattInfo(0, BTRMGR_DEVICE_INFORMATION_UUID, BTRMGR_MANUFACTURER_NAME_UUID, 0x1, lPropertyValue, BTRMGR_LE_PROP_CHAR);
1599 BTRMGR_LE_SetGattInfo(0, BTRMGR_RDKDIAGNOSTICS_UUID, BTRMGR_DEVICE_STATUS_UUID, 0x1,
"READY", BTRMGR_LE_PROP_CHAR);
1600 BTRMGR_SysDiagInfo(0, BTRMGR_FWDOWNLOAD_STATUS_UUID, lPropertyValue, BTRMGR_LE_OP_READ_VALUE);
1601 BTRMGR_LE_SetGattInfo(0, BTRMGR_RDKDIAGNOSTICS_UUID, BTRMGR_FWDOWNLOAD_STATUS_UUID, 0x103, lPropertyValue, BTRMGR_LE_PROP_CHAR);
1602 BTRMGR_SysDiagInfo(0, BTRMGR_WEBPA_STATUS_UUID, lPropertyValue, BTRMGR_LE_OP_READ_VALUE);
1603 BTRMGR_LE_SetGattInfo(0, BTRMGR_RDKDIAGNOSTICS_UUID, BTRMGR_WEBPA_STATUS_UUID, 0x1, lPropertyValue, BTRMGR_LE_PROP_CHAR);
1604 BTRMGR_SysDiagInfo(0, BTRMGR_WIFIRADIO1_STATUS_UUID, lPropertyValue, BTRMGR_LE_OP_READ_VALUE);
1605 BTRMGR_LE_SetGattInfo(0, BTRMGR_RDKDIAGNOSTICS_UUID, BTRMGR_WIFIRADIO1_STATUS_UUID, 0x1, lPropertyValue, BTRMGR_LE_PROP_CHAR);
1606 BTRMGR_LE_SetGattInfo(0, BTRMGR_RDKDIAGNOSTICS_UUID, BTRMGR_WIFIRADIO2_STATUS_UUID, 0x1, lPropertyValue, BTRMGR_LE_PROP_CHAR);
1607 BTRMGR_SysDiagInfo(0, BTRMGR_RF_STATUS_UUID, lPropertyValue, BTRMGR_LE_OP_READ_VALUE);
1608 BTRMGR_LE_SetGattInfo(0, BTRMGR_RDKDIAGNOSTICS_UUID, BTRMGR_RF_STATUS_UUID, 0x1,
"NOT CONNECTED", BTRMGR_LE_PROP_CHAR);
1611 BTRMGR_LE_StartAdvertisement(0, &stCustomAdv);
1617 char lUUID[BTRMGR_MAX_STR_LEN] =
"";
1618 unsigned char lServiceType = 1;
1619 char lParentUUID[BTRMGR_MAX_STR_LEN] =
"";
1621 unsigned short lFlagMask = 0x0;
1622 char lValue[BTRMGR_MAX_STR_LEN] =
"";
1626 printf(
"\nAdd test Gatt info\n");
1627 printf(
"0 - No | 1 - Service | 2 - Characteristic | 3 - Descriptor\n");
1628 if (scanf(
"%d", &lChoice)) {
1634 printf(
"Enter UUID of Service\n");
1635 if (scanf(
"%s", lUUID)) {
1637 printf(
"Enter Service Type\n");
1638 printf(
"1 - Primary | 0 - Secondary\n");
1639 if (scanf(
"%d", (
int*)&lServiceType)) {
1641 BTRMGR_LE_SetServiceInfo(0, lUUID, (lServiceType != 0 ? 1 : 0));
1647 printf(
"Enter UUID\n");
1648 if (scanf(
"%s", lUUID)) {
1650 printf(
"Enter UUID of parent\n");
1651 if (scanf(
"%s", lParentUUID)) {
1654 printf(
"Enter the characteristic flags \n");
1658 "2 - encrypt-read\n"
1659 "3 - encrypt-write\n"
1660 "4 - encrypt-authenticated-read\n"
1661 "5 - encrypt-authenticated-write\n"
1662 "6 - secure-read (Server only)\n"
1663 "7 - secure-write (Server only)\n"
1667 "11 - write-without-response\n"
1668 "12 - authenticated-signed-writes\n"
1669 "13 - reliable-write\n"
1670 "14 - writable-auxiliaries\n"
1672 printf(
"\nPress enter when done");
1673 if (scanf(
"%d", &lFlag)) {
1675 if ((lFlag >= 0) || (lFlag <= 14))
1677 lFlagMask |= (1 << lFlag);
1679 }
while (lFlag != 15);
1680 if (0x1 == (lFlagMask & 0x1))
1682 printf(
"Enter value of the characteristic\n");
1683 if (scanf(
"%s", lValue)) {
1686 BTRMGR_LE_SetGattInfo(0, lParentUUID, lUUID, lFlagMask, lValue, (lChoice == 2?BTRMGR_LE_PROP_CHAR: BTRMGR_LE_PROP_DESC));
1693 BTRMGR_LE_StopAdvertisement(0);
1694 BTRMGR_LE_StartAdvertisement(0, &stCustomAdv);
1699 BTRMGR_LE_StopAdvertisement(0);
1704 char lPropertyValue[BTRMGR_MAX_STR_LEN] =
"";
1706 printf(
"Adding char for the default local services \n");
1707 BTRMGR_LE_SetServiceInfo(0, BTRMGR_DEVICE_INFORMATION_UUID, 1);
1708 BTRMGR_LE_SetServiceInfo(0, BTRMGR_LEONBRDG_SERVICE_UUID_SETUP, 1);
1711 BTRMGR_SysDiagInfo(0, BTRMGR_SYSTEM_ID_UUID, lPropertyValue, BTRMGR_LE_OP_READ_VALUE);
1712 BTRMGR_LE_SetGattInfo(0, BTRMGR_DEVICE_INFORMATION_UUID, BTRMGR_SYSTEM_ID_UUID, 0x1, lPropertyValue, BTRMGR_LE_PROP_CHAR);
1714 BTRMGR_SysDiagInfo(0, BTRMGR_MODEL_NUMBER_UUID, lPropertyValue, BTRMGR_LE_OP_READ_VALUE);
1715 BTRMGR_LE_SetGattInfo(0, BTRMGR_DEVICE_INFORMATION_UUID, BTRMGR_MODEL_NUMBER_UUID, 0x1, lPropertyValue, BTRMGR_LE_PROP_CHAR);
1717 BTRMGR_LE_SetGattInfo(0, BTRMGR_DEVICE_INFORMATION_UUID, BTRMGR_HARDWARE_REVISION_UUID, 0x1, lPropertyValue, BTRMGR_LE_PROP_CHAR);
1719 BTRMGR_SysDiagInfo(0, BTRMGR_SERIAL_NUMBER_UUID, lPropertyValue, BTRMGR_LE_OP_READ_VALUE);
1720 BTRMGR_LE_SetGattInfo(0, BTRMGR_DEVICE_INFORMATION_UUID, BTRMGR_SERIAL_NUMBER_UUID, 0x1, lPropertyValue, BTRMGR_LE_PROP_CHAR);
1722 BTRMGR_SysDiagInfo(0, BTRMGR_FIRMWARE_REVISION_UUID, lPropertyValue, BTRMGR_LE_OP_READ_VALUE);
1723 BTRMGR_LE_SetGattInfo(0, BTRMGR_DEVICE_INFORMATION_UUID, BTRMGR_FIRMWARE_REVISION_UUID, 0x1, lPropertyValue, BTRMGR_LE_PROP_CHAR);
1724 BTRMGR_LE_SetGattInfo(0, BTRMGR_DEVICE_INFORMATION_UUID, BTRMGR_SOFTWARE_REVISION_UUID, 0x1, lPropertyValue, BTRMGR_LE_PROP_CHAR);
1726 BTRMGR_SysDiagInfo(0, BTRMGR_MANUFACTURER_NAME_UUID, lPropertyValue, BTRMGR_LE_OP_READ_VALUE);
1727 BTRMGR_LE_SetGattInfo(0, BTRMGR_DEVICE_INFORMATION_UUID, BTRMGR_MANUFACTURER_NAME_UUID, 0x1, lPropertyValue, BTRMGR_LE_PROP_CHAR);
1729 BTRMGR_SysDiagInfo(0, BTRMGR_LEONBRDG_UUID_QR_CODE, lPropertyValue, BTRMGR_LE_OP_READ_VALUE);
1730 BTRMGR_LE_SetGattInfo(0, BTRMGR_LEONBRDG_SERVICE_UUID_SETUP, BTRMGR_LEONBRDG_UUID_QR_CODE, 0x1, lPropertyValue, BTRMGR_LE_PROP_CHAR);
1731 BTRMGR_SysDiagInfo(0, BTRMGR_LEONBRDG_UUID_PROVISION_STATUS, lPropertyValue, BTRMGR_LE_OP_READ_VALUE);
1732 BTRMGR_LE_SetGattInfo(0, BTRMGR_LEONBRDG_SERVICE_UUID_SETUP, BTRMGR_LEONBRDG_UUID_PROVISION_STATUS, 0x101, lPropertyValue, BTRMGR_LE_PROP_CHAR);
1733 BTRMGR_SysDiagInfo(0, BTRMGR_LEONBRDG_UUID_PUBLIC_KEY, lPropertyValue, BTRMGR_LE_OP_READ_VALUE);
1734 BTRMGR_LE_SetGattInfo(0, BTRMGR_LEONBRDG_SERVICE_UUID_SETUP, BTRMGR_LEONBRDG_UUID_PUBLIC_KEY, 0x1, lPropertyValue, BTRMGR_LE_PROP_CHAR);
1736 BTRMGR_LE_SetGattInfo(0, BTRMGR_LEONBRDG_SERVICE_UUID_SETUP, BTRMGR_LEONBRDG_UUID_WIFI_CONFIG, 0x2, lPropertyValue, BTRMGR_LE_PROP_CHAR);
1737 BTRMGR_LE_SetGattInfo(0, BTRMGR_LEONBRDG_SERVICE_UUID_SETUP, BTRMGR_LEONBRDG_UUID_SSID_LIST, 0x1,
" ", BTRMGR_LE_PROP_CHAR);
1739 printf(
"Starting the ad\n");
1740 BTRMGR_LE_StartAdvertisement(0, &stCustomAdv);
1750 printf(
"Getting the provision status\n");
1751 BTRMGR_SysDiagInfo(0, BTRMGR_LEONBRDG_UUID_PROVISION_STATUS, lPropertyValue, BTRMGR_LE_OP_READ_VALUE);
1753 printf(
"BTRMGR_LEONBRDG_UUID_PROVISION_STATUS is %s\n", lPropertyValue);
1756 BTRMGR_LE_SetGattPropertyValue(0, BTRMGR_LEONBRDG_UUID_PROVISION_STATUS, lPropertyValue, BTRMGR_LE_PROP_CHAR);
1758 if (!strncmp(
"0x102", lPropertyValue, 4))
1760 printf(
"Waiting for wifi config\n");
1775 printf (
"\n\nATTENTION! Disconnect all existing GamePad connection before flipping the GamePad Service state.\n\n");
1776 printf (
"Press 1 to Enable and 0 to Disable GamePad Service.\n");
1777 if (scanf(
"%d", &choice)) {
1780 #ifndef BUILD_FOR_PI
1781 WDMP_STATUS status = WDMP_FAILURE;
1782 status = setRFCParameter(
"btrMgrTest",
"Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.BTR.GamePad.Enable",
1783 (choice)?
"true" :
"false", WDMP_BOOLEAN);
1785 if (status != WDMP_SUCCESS) {
1786 printf(
"\nsetRFCParameter Failed : %s\n", getRFCErrorString(status));
1792 printf(
"\nSuccessfully Enabled GamePad.\n");
1795 printf(
"\nSuccessfully Disabled GamePad.\n");
1804 printf (
"\n\nATTENTION! Disconnect all existing GamePad connection before flipping the GamePad Service state.\n\n");
1805 printf (
"Press 1 to Enable and 0 to Disable GamePad Service.\n");
1806 if (scanf(
"%d", &choice)) {
1811 if (BTRMGR_RESULT_SUCCESS == rc) {
1813 printf(
"\nSuccessfully Enabled GamePad.\n");
1816 printf(
"\nSuccessfully Disabled GamePad.\n");
1820 printf(
"\nCall Failed : %d\n", rc);
1828 printf (
"Invalid Selection.....\n");
1831 }
while(loop && cliDisabled);
1833 if (cliDisabled ==0)
1835 for(counter = 0; counter < argc; ++counter) free(gArgv[counter]);