Is it necessary to send a response to the indication data in the application or is this response send by Bluetopie Stack as soon an indication message was received?
How do I send a response message and what must be the content?
Rgards
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.
Is it necessary to send a response to the indication data in the application or is this response send by Bluetopie Stack as soon an indication message was received?
How do I send a response message and what must be the content?
Rgards
In Bluetooth LE the data of a service can read, received by notification or received by indication. Data received by indication has to be confirmed.
My observation is that I get some data by indication but the connection is terminated due to missing confirmation. In the Bluetopia Stack are no hints how to confirmation has to be done.
Hi Thomas,
Ok I understand what youre asking now (I hope).
The function you are looking for is GATT_Handle_Value_Indication
Here is the documentation for Bluetopia. The Generic Attribute (GATT profile) apis would be helpful. Page 33
Best,
Rogelio
Hello Rogelio,
the function is exactly the opposite of the function I'm looking for. Extract from above's documentation:
"Indication require the client to acknowledge that the indication was received".
Here is the sequence diagram vom Silicon Labs Bluetooth Stack and you can see that the client app confirms the indication, not the Bluetooth Stack:
I found GATT_Handle_Value_Confirmation(unsigned int BluetoothStackID, unsigned int ConnectionID, unsigned int TransactionID);
This functions seems to be part of the SS1BTPM. What do I have to do to trigger this in Bluetopia stack?
Hi Thomas,
To send the indication response when an indication was received you will need to send it with the indication callback. You can find an example of this usage in the HTPDemo
This callback will trigger when an indication is send to the stack.
I would also recommend going through the gattapi.h file
Best,
Rogelio
Hello Rogelio,
I use the AM335xBluetopiaLinuxProduction-5.1.1.1 on Linux. The APIs I use are part of the Bluetopia Platform Manager, e.g. ./BluetopiaPM/include/client/GATMAPI.h. How can I access and use BluetopiaPM/Bluetopia/include/GATTAPI.h:2736:BTPSAPI_DECLARATION int BTPSAPI GATT_Handle_Value_Confirmation(unsigned int BluetoothStackID, unsigned int ConnectionID, unsigned int TransactionID); from BluetopiaPM/Bluetopia/include/GATTAPI.h because I need stuff like BluetoothStackID and ConnectionID?
I found an article at stackoverflow.com to go back to an earlier version of Bluetopia were the GATT API can be used, but this is no option for my project.
Regards,
Thomas
Hello Thomas,
For Bluetopia PM please use the following command found in GATMGR.h
That command internally uses GATT_Handle_Value_Confirmation() in the source.
Best,
Rogelio
Hello Rogelio,
I found the function here:
BluetopiaPM$ grep -rnw . -e "_GATM_HandleValueConfirmation"
Binary file ./bin/SS1BTPM matches
./include/server/GATMGR.h:125:int _GATM_HandleValueConfirmation(unsigned int ConnectionID, unsigned int TransactionID);
Binary file ./lib/libBTPM_S.a matches
This would mean to link libBTPM_S.a to my binary. But this is not possible because I also need a lot of functions from libBTPM_C.a. And linking both libBTPM_C.a, libBTPM_S.a leads to linker errors due to multiple definitions of functions.
The document https://www.ti.com/lit/ug/swru581/swru581.pdf?ts=1719264004450&ref_url=https%253A%252F%252Fwww.google.com%252F does not mention to use the Server-API.
Is it right to use the function from the Server-API?
Regards,
Thomas
Hello Thomas,
It seems as though you would need to use the Server library to use this API. Unfortunately, we cant provide source code for you to include the api to the client library which would require a rebuild of the distribution. I see 2 paths forward.
1.) You use the bluetopia libraries and do not use the BluetopiaPM. This will allow you to use the original api GATT_Handle_Value_Confirmation. However, this would mean you wouldnt have access to the BluetopiaPM Daemon.
2.) We have a third party partner Cloud2Ground who could rebuild the distribution with the changes necessary for your use case.
Best,
Rogelio