|
|
# AnW_BT_SRV
|
|
|
|
|
|
AnW Bluetooth Service API, offered two sorts of releases
|
|
|
1.[APP Release (btsrv)](#AppRelease): executable **BTDemo**, laun
|
|
|
cher **btsrv_client.sh**, essentails libraries (**.so**), and App configures (**.xml**)
|
|
|
2.[SDK Release (anwbtsrv_sdk)](#SDKRelease): open source with **AnWBTServiceDemo.cpp**, imported essentials libraries (**.so**), header (**anwbtservice.h**), and App configures (**.xml**)
|
|
|
|
|
|
# Pre-Requiremen
|
|
|
Modify combo module init script /etc/init.d/ubloxinit.sh
|
|
|
```
|
|
|
1. [APP Release (btsrv)](#AppRelease): executable **BTDemo**, launcher **btsrv_client.sh**, essentails libraries (**.so**), and App configures (**.xml**)
|
|
|
2. [SDK Release (anwbtsrv_sdk)](#SDKRelease): open source with **AnWBTServiceDemo.cpp**, imported essentials libraries (**.so**), header (**anwbtservice.h**), and App configures (**.xml**)
|
|
|
|
|
|
# RELEASE NOTE
|
|
|
|
|
|
20220128 [TAG:1.0.0.1](http://git-nas03.anwsoft.com:8088/delly.chen/anw_bt_srv/-/tags/1.0.0.1)
|
|
|
1. [FUNC]supports pbap downloading & data callback
|
|
|
2. [DEMO]update service demo
|
|
|
3. [DOC]update SDK API Document
|
|
|
|
|
|
20220121 [TAG:0.0.03](http://192.168.1.51:8088/delly.chen/anw_bt_srv/-/tags/0.0.0.3)
|
|
|
1. [FUNC]supports android auto connect & write data to android
|
|
|
2. [FUNC]Add some functions, For details, refer to anwbtservice.h
|
|
|
|
|
|
20220118 [TAG:TAMUL_BT_V2](http://192.168.1.51:8088/delly.chen/anw_bt_srv/-/tags/TAMUL_BT_V2)
|
|
|
|
|
|
1. [FUNC]supports iphone carplay connect & write carplay data to iphone
|
|
|
|
|
|
20220117 [TAG:TAMUL_BT_V1](http://192.168.1.51:8088/delly.chen/anw_bt_srv/-/tags/TAMUL_BT_V1)
|
|
|
|
|
|
1. [FUNC] supports basic BT pair & connect
|
|
|
<div style="page-break-after: always"></div>
|
|
|
|
|
|
# USAGE
|
|
|
1. Support HFP, A2DP, AVRCP, PBAP, .. AnW BT stack
|
|
|
2. Support Device Search & Pair, Call, Phonebook, Music, ...
|
|
|
|
|
|
## Pre-Requirement
|
|
|
Modify combo module init script **/etc/init.d/ubloxinit.sh**
|
|
|
```plaintext
|
|
|
echo "[DDMISO] UBLOX Driver"
|
|
|
modprobe jody-w2-sdiouart
|
|
|
ifconfig uap0 192.168.1.10
|
... | ... | @@ -20,588 +45,41 @@ wpa_supplicant -B -D nl80211 -i mlan0 -c /etc/ublox/wpa_supplicant.conf |
|
|
#hciconfig -a hci0
|
|
|
udhcpc -i mlan0
|
|
|
```
|
|
|
# Run App on targets (tamul_btsrv-.zip)
|
|
|
1.1 unzip
|
|
|
1.2 Copy results folder /build/btsrv to target /home/btsrv
|
|
|
1.3 go to target, in terminal entering /btsrv folder
|
|
|
1.4 run btsrv_client.sh to launch BTDemo demo app and following the menu commands
|
|
|
|
|
|
## Run App on targets (tamul_btsrv-.zip)
|
|
|
1. unzip
|
|
|
2. Copy results folder /build/btsrv to target /home/btsrv
|
|
|
3. go to target, in terminal entering /btsrv folder
|
|
|
4. run btsrv_client.sh to launch BTDemo demo app and following the menu commands or
|
|
|
```
|
|
|
> export LD_LIBRARY_PATH="/home/btsrv"
|
|
|
>./BTDemo
|
|
|
```
|
|
|
# bluetooth menu
|
|
|
## set device name
|
|
|
```
|
|
|
================bluetooth menu=================
|
|
|
1.EXIT
|
|
|
2.BTPowerOn
|
|
|
3.BTPowerOff
|
|
|
4.SetLocalDevAddrOrName
|
|
|
===============================================
|
|
|
> input num: 4
|
|
|
0.set local name
|
|
|
1.set local address
|
|
|
> 0
|
|
|
> input name: TAMUL_MARVELL (for example)
|
|
|
...
|
|
|
```
|
|
|
## power on init
|
|
|
```
|
|
|
================bluetooth menu=================
|
|
|
1.EXIT
|
|
|
2.BTPowerOn
|
|
|
3.BTPowerOff
|
|
|
4.SetLocalDevAddrOrName
|
|
|
===============================================
|
|
|
> input num: 2
|
|
|
BTPowerOn
|
|
|
...
|
|
|
```
|
|
|
## power off
|
|
|
```
|
|
|
================bluetooth menu=================
|
|
|
1.EXIT
|
|
|
2.BTPowerOn
|
|
|
3.BTPowerOff
|
|
|
4.SetLocalDevAddrOrName
|
|
|
===============================================
|
|
|
> input num: 3
|
|
|
BTPowerOff
|
|
|
...
|
|
|
```
|
|
|
Note: Looking for device name (e.g. TAMUL_MARVELL) from mobile, then pair the device with mobile When mobile shows connected succeed, turn off the BT button
|
|
|
from mobile, then turn on the BT button from mobile again. At this time, mobile has paired storage with the device.
|
|
|
#common Menu
|
|
|
## start inquiry device
|
|
|
```
|
|
|
================ common Menu ==================
|
|
|
1.Exit
|
|
|
2.StartInquiry
|
|
|
3.StopInquiry
|
|
|
...
|
|
|
8.ConnectDevice
|
|
|
9.DisconnectDevice
|
|
|
10.SPP_Write
|
|
|
11.SetScanMode
|
|
|
12.GetScanMode
|
|
|
...
|
|
|
===============================================
|
|
|
input num: 2
|
|
|
...
|
|
|
```
|
|
|
Note:then you can find the new device's message from respond log,for example
|
|
|
```
|
|
|
AnWBTService_MsgCallback(10)
|
|
|
AnWBTSERVICE_NEW_DEVICE_FOUND name[CSR - bc7] devclass[2098184]
|
|
|
```
|
|
|
## stop inquiry device
|
|
|
```
|
|
|
================ common Menu ==================
|
|
|
1.Exit
|
|
|
2.StartInquiry
|
|
|
3.StopInquiry
|
|
|
...
|
|
|
8.ConnectDevice
|
|
|
9.DisconnectDevice
|
|
|
10.SPP_Write
|
|
|
11.SetScanMode
|
|
|
12.GetScanMode
|
|
|
...
|
|
|
===============================================
|
|
|
input num: 3
|
|
|
...
|
|
|
```
|
|
|
When StartInquiry is running, execute StopInquiry immediately and stop inquiry
|
|
|
## pair response
|
|
|
```
|
|
|
================ common Menu ==================
|
|
|
1.Exit
|
|
|
2.StartInquiry
|
|
|
3.StopInquiry
|
|
|
4.PairResponse
|
|
|
...
|
|
|
8.ConnectDevice
|
|
|
9.DisconnectDevice
|
|
|
10.SPP_Write
|
|
|
11.SetScanMode
|
|
|
12.GetScanMode
|
|
|
...
|
|
|
===============================================
|
|
|
input num: 4
|
|
|
...
|
|
|
```
|
|
|
## Customize on SDK (tamul_release-.zip)
|
|
|
1. unzip
|
|
|
2. in terminal entering ./anwbtsrv_sdk/Demo folder
|
|
|
3. setup tool-chain by command line (source ...) or edit in ./anwbtsrv_sdk/Demo/build_demo.sh
|
|
|
4. run make or build_demo.sh
|
|
|
|
|
|
## set pin code
|
|
|
```
|
|
|
================ common Menu ==================
|
|
|
1.Exit
|
|
|
2.StartInquiry
|
|
|
3.StopInquiry
|
|
|
4.PairResponse
|
|
|
5.SetPinCode
|
|
|
...
|
|
|
8.ConnectDevice
|
|
|
9.DisconnectDevice
|
|
|
10.SPP_Write
|
|
|
11.SetScanMode
|
|
|
12.GetScanMode
|
|
|
...
|
|
|
===============================================
|
|
|
input num: 5
|
|
|
input pincode:1111
|
|
|
```
|
|
|
## set local DevCoD
|
|
|
```
|
|
|
================ common Menu ==================
|
|
|
1.Exit
|
|
|
2.StartInquiry
|
|
|
3.StopInquiry
|
|
|
4.PairResponse
|
|
|
5.SetPinCode
|
|
|
6.SetLocalDevCoD
|
|
|
...
|
|
|
8.ConnectDevice
|
|
|
9.DisconnectDevice
|
|
|
10.SPP_Write
|
|
|
11.SetScanMode
|
|
|
12.GetScanMode
|
|
|
...
|
|
|
===============================================
|
|
|
input num:6
|
|
|
input devClass:7995916
|
|
|
```
|
|
|
## get local OOB data
|
|
|
```
|
|
|
================ common Menu ==================
|
|
|
1.Exit
|
|
|
2.StartInquiry
|
|
|
3.StopInquiry
|
|
|
...
|
|
|
6.SetLocalDevCoD
|
|
|
7.GetLocalOOBData
|
|
|
8.ConnectDevice
|
|
|
9.DisconnectDevice
|
|
|
10.SPP_Write
|
|
|
11.SetScanMode
|
|
|
12.GetScanMode
|
|
|
...
|
|
|
===============================================
|
|
|
input num:7
|
|
|
...
|
|
|
```
|
|
|
Note:then you can get the respond message from log,"status[0]" indicates success,for example
|
|
|
```
|
|
|
AnWBTService_MsgCallback(13)
|
|
|
AnWBTSERVICE_GET_LOCAL_OOB_DATA status[0] hash_c192...
|
|
|
```
|
|
|
## connect device a.k.a. spp connect
|
|
|
```
|
|
|
================ common Menu ==================
|
|
|
1.Exit
|
|
|
2.StartInquiry
|
|
|
...
|
|
|
8.ConnectDevice
|
|
|
9.DisconnectDevice
|
|
|
10.SPP_Write
|
|
|
11.SetScanMode
|
|
|
12.GetScanMode
|
|
|
...
|
|
|
===============================================
|
|
|
> input num: 8
|
|
|
...
|
|
|
> input connect addr(xx:xx:xx:xx:xx:xx): 11:e8:14:da:61:d4 (for example)
|
|
|
```
|
|
|
Note: You can find mobile BT mac from "Setting->General->About-> Bluetooth" (iphone)
|
|
|
```
|
|
|
> input profile_mask: 0x00000040
|
|
|
```
|
|
|
Note: Then, connected.Querying the mobile phone shows that the connection is successful
|
|
|
## spp write
|
|
|
```
|
|
|
================ common Menu ==================
|
|
|
1.Exit
|
|
|
2.StartInquiry
|
|
|
...
|
|
|
8.ConnectDevice
|
|
|
9.DisconnectDevice
|
|
|
10.SPP_Write
|
|
|
11.SetScanMode
|
|
|
12.GetScanMode
|
|
|
...
|
|
|
===============================================
|
|
|
> input num: 10
|
|
|
> input connect addr(xx:xx:xx:xx:xx:xx): 11:e8:14:da:61:d4 (for example)
|
|
|
```
|
|
|
Note: You can find mobile BT mac from "Setting->General->About-> Bluetooth" (iphone)
|
|
|
### carplay spp settings
|
|
|
```
|
|
|
>input SPP_data:ff,55,2,0,ee,10 (for example)
|
|
|
```
|
|
|
Note: ff,55,2,0,ee,10 is specified for CarPlay, to check log printed to get successfully responded from iPhone Note: Then, check log printed to get successfully
|
|
|
responded
|
|
|
```
|
|
|
AnWBTService_SPP_DATA_IND_S sppData:
|
|
|
[ff] [55] [2] [0] [ee] [10]
|
|
|
```
|
|
|
### android auto spp settings
|
|
|
```
|
|
|
>input SPP_data:00, 15, 00, 04, 08, 01, 10, 00, 18, 00,20, 95, 01, 20, 99, 01, 20, 9D,01, 20, A1, 01, 20, A5, 01 (for example)
|
|
|
```
|
|
|
Note: 00, 15, 00, 04, 08, 01, 10, 00 ... is specified for Android Auto or inquiry device from Android phone, upon paired, if phone is "Android Auto" supported, the connect
|
|
|
request will automatically send to host HU. Note: Then, check log printed to get successfully responded
|
|
|
```
|
|
|
AnWBTService_SPP_DATA_IND_S sppData:
|
|
|
[0][64][0][5][8][1][10][5][1a][e][39][41][32][37][31][46][46][41][5a][30][30][41][4b][34][20][0][32][4c][a][24][66][32][61][63][66]
|
|
|
```
|
|
|
## disconnect device
|
|
|
Note: the device had been connected a.k.a. spp connected
|
|
|
```
|
|
|
================ common Menu ==================
|
|
|
1.Exit
|
|
|
2.StartInquiry
|
|
|
...
|
|
|
8.ConnectDevice
|
|
|
9.DisconnectDevice
|
|
|
10.SPP_Write
|
|
|
11.SetScanMode
|
|
|
12.GetScanMode
|
|
|
...
|
|
|
===============================================
|
|
|
> input num: 9
|
|
|
> input connect addr(xx:xx:xx:xx:xx:xx):11:e8:14:da:61:d4
|
|
|
> input profile_mask:0x00000040
|
|
|
```
|
|
|
After execution, you can receive the answer message of disconnection and find call back message in the log
|
|
|
```
|
|
|
AnWBTService_MsgCallback(7)
|
|
|
AnWBTSERVICE_DEV_PROFILE_STATE_CHANGED profile_mask[10] devclass[7995916] isConnected[0]
|
|
|
```
|
|
|
## set scan mode
|
|
|
```
|
|
|
================ common Menu ==================
|
|
|
1.Exit
|
|
|
2.StartInquiry
|
|
|
...
|
|
|
8.ConnectDevice
|
|
|
9.DisconnectDevice
|
|
|
10.SPP_Write
|
|
|
11.SetScanMode
|
|
|
12.GetScanMode
|
|
|
...
|
|
|
===============================================
|
|
|
> input num:11
|
|
|
> input setPairingState:3
|
|
|
```
|
|
|
After execution, the log print the pairing state "setPairingState:state[5]"
|
|
|
## get scan mode
|
|
|
```
|
|
|
================ common Menu ==================
|
|
|
1.Exit
|
|
|
2.StartInquiry
|
|
|
...
|
|
|
8.ConnectDevice
|
|
|
9.DisconnectDevice
|
|
|
10.SPP_Write
|
|
|
11.SetScanMode
|
|
|
12.GetScanMode
|
|
|
...
|
|
|
===============================================
|
|
|
> input num:12
|
|
|
```
|
|
|
After execution, you can get the state form log ,for example: PairingState[5]
|
|
|
## pair device
|
|
|
> cd ./build/anwbtsrv_sdk/Demo
|
|
|
> source /opt/poky-tamul/2.5.1/environment-setup-cortexa9hf-neon-poky-linux-gnueabi
|
|
|
> make or ./build_demo.sh
|
|
|
```
|
|
|
================ common Menu ==================
|
|
|
1.Exit
|
|
|
2.StartInquiry
|
|
|
...
|
|
|
13.UnPairDevice
|
|
|
14.PairDevice
|
|
|
15.GetAllPairedDeviceInfo
|
|
|
16.GetLocalDevInfo
|
|
|
17.GetBTPowerStatus
|
|
|
18.SendHCICommand
|
|
|
19.DeviceIsConnected
|
|
|
===============================================
|
|
|
> input num:14
|
|
|
> input pair addr(xx:xx:xx:xx:xx:xx):11:e8:14:da:61:d4
|
|
|
> input pincode:0000
|
|
|
```
|
|
|
After execution, you can receive the answer message and find call back message in the log
|
|
|
```
|
|
|
AnWBTService_MsgCallback(8)
|
|
|
AnWBTSERVICE_PAIRED_DEVICE_ELEMENT_CHANGED isFirstPaired[1] event_type[0] support_profile_mask[2ced]
|
|
|
```
|
|
|
Note:Querying the mobile phone shows paired record
|
|
|
## unpair device
|
|
|
```
|
|
|
================ common Menu ==================
|
|
|
1.Exit
|
|
|
2.StartInquiry
|
|
|
...
|
|
|
13.UnPairDevice
|
|
|
14.PairDevice
|
|
|
15.GetAllPairedDeviceInfo
|
|
|
16.GetLocalDevInfo
|
|
|
17.GetBTPowerStatus
|
|
|
18.SendHCICommand
|
|
|
19.DeviceIsConnected
|
|
|
===============================================
|
|
|
> input num:13
|
|
|
> input unpair addr(xx:xx:xx:xx:xx:xx):11:e8:14:da:61:d4
|
|
|
```
|
|
|
After execution, you can receive the answer message and find call back message in the log
|
|
|
```
|
|
|
AnWBTService_MsgCallback(9)
|
|
|
AnWBTService_UnpairDevice_S type[1] status[0]
|
|
|
```
|
|
|
## get all paired device Info
|
|
|
```
|
|
|
================ common Menu ==================
|
|
|
1.Exit
|
|
|
2.StartInquiry
|
|
|
...
|
|
|
13.UnPairDevice
|
|
|
14.PairDevice
|
|
|
15.GetAllPairedDeviceInfo
|
|
|
16.GetLocalDevInfo
|
|
|
17.GetBTPowerStatus
|
|
|
18.SendHCICommand
|
|
|
19.DeviceIsConnected
|
|
|
===============================================
|
|
|
> input num:15
|
|
|
```
|
|
|
then the log print all paired device Info,for example
|
|
|
```
|
|
|
PairedDevInfo:btaddr[11:e8:14:da:61:d4] linkKey[w쳇[:µb7] devClass[7995916] nameLen[6] rdName[123asd] servicesSupported[11501] didVenderID[76] didProductID[28937] didVersion[2880] didVenderIDSource[1]
|
|
|
```
|
|
|
## get local device Info
|
|
|
```
|
|
|
================ common Menu ==================
|
|
|
1.Exit
|
|
|
2.StartInquiry
|
|
|
...
|
|
|
13.UnPairDevice
|
|
|
14.PairDevice
|
|
|
15.GetAllPairedDeviceInfo
|
|
|
16.GetLocalDevInfo
|
|
|
17.GetBTPowerStatus
|
|
|
18.SendHCICommand
|
|
|
19.DeviceIsConnected
|
|
|
===============================================
|
|
|
> input num:16
|
|
|
```
|
|
|
then the log print local device Info, for example
|
|
|
```
|
|
|
LocalDevInfo:btaddr[a5:a5:0:5b:2:0] devClass[2098184] nameLen[6] Name[ANWBT] servicesSupported[15] pinLen[4] pinCode[0000]
|
|
|
```
|
|
|
##get BT power status
|
|
|
```
|
|
|
================ common Menu ==================
|
|
|
1.Exit
|
|
|
2.StartInquiry
|
|
|
...
|
|
|
13.UnPairDevice
|
|
|
14.PairDevice
|
|
|
15.GetAllPairedDeviceInfo
|
|
|
16.GetLocalDevInfo
|
|
|
17.GetBTPowerStatus
|
|
|
18.SendHCICommand
|
|
|
19.DeviceIsConnected
|
|
|
===============================================
|
|
|
> input num:17
|
|
|
```
|
|
|
then the log print the power status of BT, like "power_status[0]"
|
|
|
## send HCI command
|
|
|
```
|
|
|
================ common Menu ==================
|
|
|
1.Exit
|
|
|
2.StartInquiry
|
|
|
...
|
|
|
13.UnPairDevice
|
|
|
14.PairDevice
|
|
|
15.GetAllPairedDeviceInfo
|
|
|
16.GetLocalDevInfo
|
|
|
17.GetBTPowerStatus
|
|
|
18.SendHCICommand
|
|
|
19.DeviceIsConnected
|
|
|
===============================================
|
|
|
> input num:18
|
|
|
> input OpCode Group:
|
|
|
> input OpCode Command:
|
|
|
> input Command parameters:
|
|
|
```
|
|
|
## check device is connected
|
|
|
```
|
|
|
================ common Menu ==================
|
|
|
1.Exit
|
|
|
2.StartInquiry
|
|
|
...
|
|
|
13.UnPairDevice
|
|
|
14.PairDevice
|
|
|
15.GetAllPairedDeviceInfo
|
|
|
16.GetLocalDevInfo
|
|
|
17.GetBTPowerStatus
|
|
|
18.SendHCICommand
|
|
|
19.DeviceIsConnected
|
|
|
===============================================
|
|
|
> input num:19
|
|
|
> input addr(xx:xx:xx:xx:xx:xx):11:e8:14:da:61:d4
|
|
|
```
|
|
|
then the log print the status that the device is connected or not connected,for example
|
|
|
```
|
|
|
connect_status[1](0-not connected 1-connected)
|
|
|
```
|
|
|
# HFP Menu
|
|
|
## outgoing call
|
|
|
```
|
|
|
================== HFP Menu ===================
|
|
|
1.Exit
|
|
|
2.OutgoingCall
|
|
|
3.AcceptCall
|
|
|
4.Hangup
|
|
|
5.GetAudioState
|
|
|
6.GetCallStatusList
|
|
|
===============================================
|
|
|
> input num:2
|
|
|
> input typeofcall:0 (0/1/2/3)
|
|
|
> input target addr(xx:xx:xx:xx:xx:xx):11:e8:14:da:61:d4
|
|
|
> input phonenum:10010
|
|
|
```
|
|
|
After execution, you can receive the answer message and find call back message in the log, for example
|
|
|
```
|
|
|
AnWBTService_MsgCallback(15)
|
|
|
AnWBTService_HFPCallChanged_S devclass[7995916] call1_number[10010] call1_state[5] call2_number[10010 ] call2_state[2] call3_number[] call3_state[1]
|
|
|
AnWBTService_MsgCallback(16)
|
|
|
AnWBTService_HFPClccInfoChanged_S number[10010] name[ 10010 ] dir[0] status[0]
|
|
|
```
|
|
|
## accept all
|
|
|
```
|
|
|
================== HFP Menu ===================
|
|
|
1.Exit
|
|
|
2.OutgoingCall
|
|
|
3.AcceptCall
|
|
|
4.Hangup
|
|
|
5.GetAudioState
|
|
|
6.GetCallStatusList
|
|
|
===============================================
|
|
|
> input num:3
|
|
|
> input target addr(xx:xx:xx:xx:xx:xx):11:e8:14:da:61:d4
|
|
|
```
|
|
|
## hang up
|
|
|
```
|
|
|
================== HFP Menu ===================
|
|
|
1.Exit
|
|
|
2.OutgoingCall
|
|
|
3.AcceptCall
|
|
|
4.Hangup
|
|
|
5.GetAudioState
|
|
|
6.GetCallStatusList
|
|
|
===============================================
|
|
|
> input num:4
|
|
|
> input target addr(xx:xx:xx:xx:xx:xx):11:e8:14:da:61:d4
|
|
|
```
|
|
|
After execution, you can receive the answer message and find call back message in the log, for example
|
|
|
```
|
|
|
AnWBTService_MsgCallback(15)
|
|
|
AnWBTService_HFPCallChanged_S devclass[7995916] call1_number[2] call1_state[4] call2_number[10010 ] call2_state[2] call3_number[] call3_state[2]
|
|
|
```
|
|
|
```
|
|
|
AnWBTService_MsgCallback(14)
|
|
|
AnWBTService_HFPFeatureValueChanged_S rdName[123asd] devclass[7995916] HFP_Feature_mask[2]
|
|
|
AnWBTService_MsgCallback(14)
|
|
|
AnWBTService_HFPFeatureValueChanged_S rdName[123asd] devclass[7995916] HFP_Feature_mask[4]
|
|
|
AnWBTService_MsgCallback(14)
|
|
|
AnWBTService_HFPFeatureValueChanged_S rdName[123asd] devclass[7995916] HFP_Feature_mask[32]
|
|
|
```
|
|
|
## get audio state
|
|
|
```
|
|
|
================== HFP Menu ===================
|
|
|
1.Exit
|
|
|
2.OutgoingCall
|
|
|
3.AcceptCall
|
|
|
4.Hangup
|
|
|
5.GetAudioState
|
|
|
6.GetCallStatusList
|
|
|
===============================================
|
|
|
> input num:5
|
|
|
> input target addr(xx:xx:xx:xx:xx:xx):11:e8:14:da:61:d4
|
|
|
```
|
|
|
then the log print the audio state ,for example "audio state[0]"
|
|
|
## get call status list
|
|
|
```
|
|
|
================== HFP Menu ===================
|
|
|
1.Exit
|
|
|
2.OutgoingCall
|
|
|
3.AcceptCall
|
|
|
4.Hangup
|
|
|
5.GetAudioState
|
|
|
6.GetCallStatusList
|
|
|
===============================================
|
|
|
> input num:6
|
|
|
> input target addr(xx:xx:xx:xx:xx:xx):11:e8:14:da:61:d4
|
|
|
```
|
|
|
then logs print the respond message,for exaple
|
|
|
```
|
|
|
AnWBTService_HFPClccInfoChanged_S number[10010] name[ 10010 ] dir[0] status[0]
|
|
|
```
|
|
|
# pbap Menu
|
|
|
## sync start
|
|
|
Note: To execute this API, pbap and HFP must be connected successfully.
|
|
|
so we can input profile_mask:0x00000011
|
|
|
```
|
|
|
================ common Menu ==================
|
|
|
1.Exit
|
|
|
2.StartInquiry
|
|
|
...
|
|
|
8.ConnectDevice
|
|
|
9.DisconnectDevice
|
|
|
10.SPP_Write
|
|
|
11.SetScanMode
|
|
|
12.GetScanMode
|
|
|
...
|
|
|
===============================================
|
|
|
> input num: 8
|
|
|
...
|
|
|
> input connect addr(xx:xx:xx:xx:xx:xx): 11:e8:14:da:61:d4 (for example)
|
|
|
>input profile_mask: 0x00000011
|
|
|
```
|
|
|
Note: You can find mobile BT mac from "Setting->General->About-> Bluetooth" (iphone)
|
|
|
**start sync pabap**
|
|
|
```
|
|
|
================== pbap Menu ==================
|
|
|
1.Exit
|
|
|
2.SYNCSTART
|
|
|
3.SYNCCANCEL
|
|
|
===============================================
|
|
|
>input num:2
|
|
|
>input target addr(xx:xx:xx:xx:xx:xx):11:e8:14:da:61:d4
|
|
|
```
|
|
|
After execution, you can receive the answer message and find call back message in the log, for example
|
|
|
```
|
|
|
AnWBTService_MsgCallback(30)
|
|
|
AnWBTService_PBAP_CONTACT_DATA_S contactID[1] contactTYPE[1] fnLen[12] fn[我的编号] honorific_suffixesLen[4] honorific_suffixes[wdbh]
|
|
|
```
|
|
|
```
|
|
|
AnWBTService_MsgCallback(32)
|
|
|
AnWBTService_PBAP_TELEPHONE_DATA_S contactID[1] telephoneNumID[1] telephoneNumLen[14] telephoneNum[+8617621702696]
|
|
|
```
|
|
|
```
|
|
|
AnWBTService_MsgCallback(31)
|
|
|
AnWBTService_PBAP_CALLLOG_DATA_S callID[123] callTYPE[2] fnLen[0] fn[] number[055112340] timeLen[19] time[2021-12-14T15:17:12]
|
|
|
```
|
|
|
## sync cancal
|
|
|
```
|
|
|
================== pbap Menu ==================
|
|
|
1.Exit
|
|
|
2.SYNCSTART
|
|
|
3.SYNCCANCEL
|
|
|
===============================================
|
|
|
>input num:2
|
|
|
>input target addr(xx:xx:xx:xx:xx:xx):11:e8:14:da:61:d4
|
|
|
```
|
|
|
then the pbap SYNC will cancel and stop
|
|
|
|
|
|
<div style="page-break-after: always;"></div>
|
|
|
|
|
|
then, result is collected in **./Demo/btsrv**
|
|
|
<div style="page-break-after: always"></div>
|
|
|
|
|
|
# STRUCTURE (tamul_release-.zip)
|
|
|
<pre>
|
|
|
.
|
|
|
└── Demo
|
|
|
├── AnWBTServiceDemo.cpp (examples to use anwbtservice)
|
|
|
├── build_demo.sh (build script, call to make)
|
|
|
├── makefile (makefile for BTDemo)
|
|
|
├── btsrv_client.sh (launcher for BTDemo)
|
|
|
├── \*.xml, \*.cfg (app settings)
|
|
|
├── import (anwbtservice)
|
|
|
│ ├── anwbtservice.h (service api header)
|
|
|
│ └── \*.so (essentials libraries)
|
|
|
└── btsrv (ouput for produced, e.g. BTDemo)
|
|
|
</pre> |
|
|
\ No newline at end of file |