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.

WL1835MOD: Response to indication data

Part Number: WL1835MOD

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

  • Hi Thomas,

    Can you clarify your question. Do you mean HCI callbacks or what indications?

    Best,

    Rogelio

  • 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

    API Documentation.zip

    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