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.

characteristic indication frame disordered

Hi,TI experts

What i want to do is to get a characteristic of Read and Indicate。I refer the thermometer demo and do some modification based on my requirement. but result in some frame disordered. Below i attach 2 frame sequence, one is from my program via Btool, while the other is from Thermometer via BLE Health Device Profile DemoV1.0.

Could u pls help to check what's wrong in it? and any proposal to debug?

Thanks very much! 

My program/BTool

Thermometer/BLE Health Device Profile DemoV1.0

[16] : <Tx> - 05:39:55.761

-Type : 0x01 (Command)

-Opcode : 0xFD92 (GATT_WriteCharValue)

-Data Length : 0x06 (6) byte(s)

 ConnHandle : 0x0000 (0)

 Handle : 0x0016 (22)

 Value : 02:00

Dump(Tx):

01 92 FD 06 00 00 16 00 02 00

[67] : <Tx> - 05:57:14.027

-Type : 0x01 (Command)

-Opcode : 0xFD12 (ATT_WriteReq)

-Data Length : 0x08 (8) byte(s)

 ConnHandle : 0x0000 (0)

 Signature : 0x00 (No)

 Command : 0x00 (No)

 Handle : 0x0013 (19)

 Value : 02:00

Dump(Tx):

01 12 FD 08 00 00 00 00 13 00 02 00 

[17] : <Rx> - 05:39:55.777

-Type : 0x04 (Event)

-EventCode : 0xFF (HCI_LE_ExtEvent)

-Data Length : 0x06 (6) bytes(s)

 Event : 0x067F (GAP_HCI_ExtentionCommandStatus)

 Status : 0x00 (Success)

 OpCode : 0xFD92 (GATT_WriteCharValue)

 DataLength : 0x00 (0)

Dump(Rx):

04 FF 06 7F 06 00 92 FD 00 

[68] : <Rx> - 05:57:14.105

-Type : 0x04 (Event)

-EventCode : 0xFF (HCI_LE_ExtEvent)

-Data Length : 0x06 (6) bytes(s)

 Event : 0x067F (GAP_HCI_ExtentionCommandStatus)

 Status : 0x00 (Success)

 OpCode : 0xFD12 

(ATT_WriteReq)

 DataLength : 0x00 (0)

Dump(Rx):

04 FF 06 7F 06 00 12 FD 00

[18] : <Rx> - 05:39:55.917

-Type : 0x04 (Event)

-EventCode : 0xFF (HCI_LE_ExtEvent)

-Data Length : 0x06 (6) bytes(s)

 Event : 0x0513 (ATT_WriteRsp)

 Status : 0x00 (Success)

 ConnHandle : 0x0000 (0)

 PduLen : 0x00 (0)

Dump(Rx):

04 FF 06 13 05 00 00 00 00 

[69] : <Rx> - 05:57:14.324

-Type : 0x04 (Event)

-EventCode : 0xFF (HCI_LE_ExtEvent)

-Data Length : 0x06 (6) bytes(s)

 Event : 0x0513 (ATT_WriteRsp)

 Status : 0x00 (Success)

 ConnHandle : 0x0000 (0)

 PduLen : 0x00 (0)

Dump(Rx):

04 FF 06 13 05 00 00 00 00 

[19] : <Rx> - 05:39:55.917

-Type : 0x04 (Event)

-EventCode : 0xFF (HCI_LE_ExtEvent)

-Data Length : 0x12 (18) bytes(s)

 Event : 0x051D (ATT_HandleValueIndication)

 Status : 0x00 (Success)

 ConnHandle : 0x0000 (0)

 PduLen : 0x0C (12)

 Handle : 0x0010 (16)

 Value : 00:00:00:00:00:00:00:00:00:00

Dump(Rx):

04 FF 12 1D 05 00 00 00 0C 10 00 00 00 00 00 00 

00 00 00 00 00 

[20] : <Tx> - 05:39:55.917

-Type : 0x01 (Command)

-Opcode : 0xFD1E (ATT_HandleValueConfirmation)

-Data Length : 0x02 (2) byte(s)

 ConnHandle : 0x0000 (0)

Dump(Tx):

01 1E FD 02 00 00 

[70] : <Tx> - 05:57:14.417

-Type : 0x01 (Command)

-Opcode : 0xFD1E (ATT_HandleValueConfirmation)

-Data Length : 0x02 (2) byte(s)

 ConnHandle : 0x0000 (0)

Dump(Tx):

01 1E FD 02 00 00 

[21] : <Rx> - 05:39:55.949

-Type : 0x04 (Event)

-EventCode : 0xFF (HCI_LE_ExtEvent)

-Data Length : 0x06 (6) bytes(s)

 Event : 0x067F (GAP_HCI_ExtentionCommandStatus)

 Status : 0x00 (Success)

 OpCode : 0xFD1E (ATT_HandleValueConfirmation)

 DataLength : 0x00 (0)

Dump(Rx):

04 FF 06 7F 06 00 1E FD 00 

[22] : <Rx> - 05:40:00.902

-Type : 0x04 (Event)

-EventCode : 0xFF (HCI_LE_ExtEvent)

-Data Length : 0x12 (18) bytes(s)

 Event : 0x051D (ATT_HandleValueIndication)

 Status : 0x00 (Success)

 ConnHandle : 0x0000 (0)

 PduLen : 0x0C (12)

 Handle : 0x0010 (16)

 Value : 31:00:40:00:50:00:50:00:A0:A0

Dump(Rx):

04 FF 12 1D 05 00 00 00 0C 10 00 31 00 40 00 50 

00 50 00 A0 A0 

[71] : <Rx> - 05:57:14.449

-Type : 0x04 (Event)

-EventCode : 0xFF (HCI_LE_ExtEvent)

-Data Length : 0x15 (21) bytes(s)

 Event : 0x051D (ATT_HandleValueIndication)

 Status : 0x00 (Success)

 ConnHandle : 0x0000 (0)

 PduLen : 0x0F (15)

 Handle : 0x0012 (18)

 Value : 06:90:01:00:FF:D0:07:00:00:00:04:04:06

Dump(Rx):

04 FF 15 1D 05 00 00 00 0F 12 00 06 90 01 00 FF 

D0 07 00 00 00 04 04 06 

[72] : <Rx> - 05:57:14.542

-Type : 0x04 (Event)

-EventCode : 0xFF (HCI_LE_ExtEvent)

-Data Length : 0x06 (6) bytes(s)

 Event : 0x067F (GAP_HCI_ExtentionCommandStatus)

 Status : 0x00 (Success)

 OpCode : 0xFD1E (ATT_HandleValueConfirmation)

 DataLength : 0x00 (0)

Dump(Rx):

04 FF 06 7F 06 00 1E FD 00 

[23] : <Tx> - 05:40:00.902

-Type : 0x01 (Command)

-Opcode : 0xFD1E (ATT_HandleValueConfirmation)

-Data Length : 0x02 (2) byte(s)

 ConnHandle : 0x0000 (0)

Dump(Tx):

01 1E FD 02 00 00 

[73] : <Tx> - 05:57:14.714

-Type : 0x01 (Command)

-Opcode : 0xFD1E (ATT_HandleValueConfirmation)

-Data Length : 0x02 (2) byte(s)

 ConnHandle : 0x0000 (0)

Dump(Tx):

01 1E FD 02 00 00

  • Hi,

    I do not fully understand what you mean. Do you mean you want to get indications from a characteristic on your device? If so, you need to write 0x02 to the characteristic configuration of the characteristic you want to get indications from.  Example, if your characteristic has handle 0x0021, you should write 0x02 to handle 0x0022 to enable indication. After that. the device will send indication when the value for handle 0x0021 has been changed.

    Not that you need to send acknowledgement when you get an indication.

    Best Regards

    Joakim