This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

RTOS/CC2650: Simple BLE Peripheral - Indication doesn't work

Part Number: CC2650
Other Parts Discussed in Thread: CC2540

Tool/software: TI-RTOS

Hi,

I'm working on Simple BLE Peripheral and want to enable Indication. I noticed, whenever I enable Indication (write 02:00 to characteristics 4), assert handler in main.c is invoked and BTOOL connection is terminated.

PS: Notification works fine.

Set up details:

- Boards - SmartRF06 Eval board + CC2650EM-7ID
- IDE - CCS 8.1

- BLE Stack version - ble_sdk_2_02_02_25

- BTool - 1.41 with CC2540 USB Dongle (programmed with "CC2540_SmartRF_HostTestRelease_All.hex")

Code Modification to achieve Indication -

simple_gatt_profile.c ->
original: static uint simpleprofileChar4Props = GATT_PROP_NOTIFY
modify: static uint simpleprofileChar4Props = GATT_PROP_INDICATE

Original:
status = GATTServApp_ProcessCCCWriteReq( connHandle, pAttr, pValue, len, offset, GATT_CLIENT_CFG_NOTIFY );

Modify:
status = GATTServApp_ProcessCCCWriteReq( connHandle, pAttr, pValue, len, offset, GATT_CLIENT_CFG_INDICATE );

I'm wondering - 

1. What could be wrong in this application

2. Is Btool sufficient to handle indication, or I need to change test mechanism

3. I've executed similar test with BLE Device monitor but faced similar issues.

Attachmentire BTOOL log (scanning till disconnection) & BLE Device monitor log

Anyone faced similar issues ? 

Thanks.

16:56:15.910 > Host: COM3 115200 baud no flowc.
16:56:15.969 > HCI log disable
16:56:16.148 > BLE Version 4
16:56:16.246 > HCI_Ext_Build_Revision: status=00 Rev=26920
16:56:16.247 > BLE Host TI BLE 1.42 CC2540
16:56:16.258 > Command Status: 00 FE00 [len=0]
16:56:16.262 > GAP Device Init Done
16:56:16.286 > BLE Host initialized
16:56:16.407 > Min. conn. intv. = 6
16:56:16.408 > Max. conn. intv. = 6
16:56:16.408 > Superv. timeout = 50
16:56:16.409 > Slave latency = 0
16:56:16.411 > Scan request (.*)
16:56:16.456 > Command Status: 00 FE30 [len=0]
16:56:16.468 > Command Status: 00 FE30 [len=0]
16:56:16.469 > Command Status: 00 FE30 [len=0]
16:56:16.480 > Command Status: 00 FE30 [len=0]
16:56:16.491 > Command Status: 00 FE04 [len=0]
16:56:16.501 > GAP Device Information: status=0 type=0x00 [len=7]
16:56:16.502 > MAC address (ind. adv): 68:C9:0B:08:56:01
16:56:16.503 > Scan resp: ad=0x01 len=2
16:56:16.504 > Scan resp: ad=0x02 len=3
16:56:16.526 > GAP Device Information: status=0 type=0x04 [len=30]
16:56:16.527 > Device found: SimpleBLEPeripheral
16:56:16.528 > Scan resp: ad=0x12 len=5
16:56:16.528 > Scan resp: ad=0x0a len=2
16:56:16.530 > MAC address (scan. resp): 68:C9:0B:08:56:01
16:56:17.415 > Scan cancel request ...
16:56:17.453 > Command Status: 00 FE05 [len=0]
16:56:17.466 > Scan finished [1.60 sec]
16:56:17.474 > GAP Device Discovery: 0 device(s), status=0x30
16:56:19.825 > Scan request (.*)
16:56:19.856 > Command Status: 00 FE04 [len=0]
16:56:20.042 > GAP Device Information: status=0 type=0x00 [len=7]
16:56:20.043 > MAC address (ind. adv): 68:C9:0B:08:56:01
16:56:20.043 > Scan resp: ad=0x01 len=2
16:56:20.044 > Scan resp: ad=0x02 len=3
16:56:20.055 > GAP Device Information: status=0 type=0x04 [len=30]
16:56:20.056 > Device found: SimpleBLEPeripheral
16:56:20.057 > Scan resp: ad=0x12 len=5
16:56:20.057 > Scan resp: ad=0x0a len=2
16:56:20.058 > MAC address (scan. resp): 68:C9:0B:08:56:01
16:56:20.197 > GAP Device Information: status=0 type=0x00 [len=27]
16:56:20.198 > MAC address (ind. adv): FD:48:E4:32:F1:73
16:56:20.198 > Scan resp: ad=0x01 len=2
16:56:20.198 > Scan resp: ad=0x07 len=17
16:56:20.198 > Scan resp: ad=0xff len=5
16:56:20.210 > GAP Device Information: status=0 type=0x04 [len=24]
16:56:20.210 > Device found: v�voactive HR
16:56:20.212 > Scan resp: ad=0x16 len=6
16:56:20.213 > MAC address (scan. resp): FD:48:E4:32:F1:73
16:56:20.844 > Scan cancel request ...
16:56:20.863 > Command Status: 00 FE05 [len=0]
16:56:20.873 > Scan finished [1.49 sec]
16:56:20.874 > GAP Device Discovery: 0 device(s), status=0x30
16:56:23.763 > Connect request
16:56:23.787 > Command Status: 00 FE09 [len=0]
16:56:23.910 > GAP Link Established: h=0 CI=0x0006 SL=0 TO=0x0032
16:56:23.912 > SimpleBLEPeripheral connected
16:56:23.978 > Service discovery started
16:56:24.015 > Command Status: 00 FD90 [len=0]
16:56:24.017 > ReadByGrpTypeRsp: st=0 n=19
16:56:24.017 > ReadByGrpTypeRsp: st=0 n=7
16:56:24.030 > ReadByGrpTypeRsp: st=26 n=0
16:56:24.030 > Primary Service Discovery done [0.073 sec]
16:56:24.069 > Characteristic description discovery started
16:56:24.109 > Command Status: 00 FD84 [len=0]
16:56:24.116 > FindInfoRsp: st=0 n=21 fmt=1
16:56:24.116 > FindInfoRsp: st=0 n=21 fmt=1
16:56:24.126 > FindInfoRsp: st=0 n=21 fmt=1
16:56:24.134 > FindInfoRsp: st=0 n=21 fmt=1
16:56:24.149 > FindInfoRsp: st=0 n=21 fmt=1
16:56:24.164 > FindInfoRsp: st=0 n=21 fmt=1
16:56:24.179 > FindInfoRsp: st=0 n=21 fmt=1
16:56:24.194 > FindInfoRsp: st=0 n=21 fmt=1
16:56:24.209 > FindInfoRsp: st=0 n=17 fmt=1
16:56:24.223 > FindInfoRsp: st=26 n=0 fmt=1
16:56:24.223 > Characteristic Description Discovery done [0.154] sec
16:56:24.248 > Characteristic discovery started
16:56:24.263 > Command Status: 00 FDB2 [len=0]
16:56:24.269 > ReadyByTypeResp: st=0 n=22
16:56:24.284 > ReadyByTypeResp: st=0 n=22
16:56:24.299 > ReadyByTypeResp: st=0 n=22
16:56:24.314 > ReadyByTypeResp: st=0 n=22
16:56:24.337 > ReadyByTypeResp: st=0 n=22
16:56:24.351 > ReadyByTypeResp: st=0 n=15
16:56:24.365 > ReadyByTypeResp: st=26 n=0
16:56:24.365 > Characteristic Discovery done [0.117] sec
16:56:24.366 > GATT Discovery duration [0.344] sec
16:56:30.012 > GAP Link Param Update: 0 0 84 0 1000
16:56:30.013 > Connection parameters updated
16:56:34.666 > WriteChar.[2902]: v=0002 
16:56:34.667 > Attribute edited, 40 02:00
16:56:34.706 > Command Status: 00 FD92 [len=0]
16:56:34.805 > WriteRsp[2902]: st=0 n=0
16:56:48.981 > GAP Link Terminated: status=0 h=0 reason=0x08
16:56:48.982 > Supervision timeout
16:56:48.982 > SimpleBLEPeripheral disconnected
16:56:48.986 > Min. conn. intv. = 6
16:56:48.987 > Max. conn. intv. = 6
16:56:48.987 > Superv. timeout = 50
16:56:48.988 > Slave latency = 0
16:56:49.026 > Command Status: 00 FE30 [len=0]
16:56:49.037 > Command Status: 00 FE30 [len=0]
16:56:49.048 > Command Status: 00 FE30 [len=0]
16:56:49.053 > Command Status: 00 FE30 [len=0]
16:56:49.988 > Scan request (.*)
16:56:50.006 > Command Status: 00 FE04 [len=0]
16:56:50.119 > GAP Device Information: status=0 type=0x00 [len=27]
16:56:50.119 > MAC address (ind. adv): FD:48:E4:32:F1:73
16:56:50.120 > Scan resp: ad=0x01 len=2
16:56:50.121 > Scan resp: ad=0x07 len=17
16:56:50.121 > Scan resp: ad=0xff len=5
16:56:50.983 > Scan finished [1.0 sec]
16:56:50.984 > Scan cancel request ...
16:56:51.000 > Command Status: 00 FE05 [len=0]
16:56:51.001 > Scan finished [1.18 sec]
16:56:51.002 > GAP Device Discovery: 0 device(s), status=0x30
16:57:16.316 > Scan request (.*)
16:57:16.337 > Command Status: 00 FE04 [len=0]
16:57:16.364 > GAP Device Information: status=0 type=0x00 [len=27]
16:57:16.364 > MAC address (ind. adv): FD:48:E4:32:F1:73
16:57:16.365 > Scan resp: ad=0x01 len=2
16:57:16.365 > Scan resp: ad=0x07 len=17
16:57:16.366 > Scan resp: ad=0xff len=5
16:57:16.376 > GAP Device Information: status=0 type=0x04 [len=24]
16:57:16.377 > Device found: v�voactive HR
16:57:16.378 > Scan resp: ad=0x16 len=6
16:57:16.379 > MAC address (scan. resp): FD:48:E4:32:F1:73
16:57:17.314 > Scan finished [1.0 sec]
16:57:17.317 > Scan cancel request ...
16:57:17.341 > Command Status: 00 FE05 [len=0]
16:57:17.351 > Scan finished [1.37 sec]
16:57:17.352 > GAP Device Discovery: 0 device(s), status=0x30
4073.Simple_BLE_Peripheral_Indication_log.txt