I find this in KW36 SDK ble_general.h:
typedef enum
{
...
gGattClientConfirmationTimeout_c = gGattStatusBase_c | 0x08, /*!< No Confirmation was received from the Client after a Server Indication. */
...
} bleResult_t;
However, I could not find where returns gGattClientConfirmationTimeout_c . GattServer_SendInstantValueIndication always returns gBleSuccess_c even if I does not get gEvtHandleValueConfirmation_c. So how could I know that I didn't receive Confirmation?
Solved! Go to Solution.
Hi Xinyu,
Please note that related events are handled in BleApp_Gatt ServerCallback ().
Please refer to "Bluetooth® Low Energy Application Developer’s Guide".
There is an important difference between sending Notifications and Indications: the latter can only be sent one at a time and the application must wait for the Client Confirmation (signaled by the gEvtHandleValueConfirmation_c Server event, or by a gEvtError_c event with gGattClientConfirmationTimeout_c error code) before sending a new Indication. Otherwise, a gEvtError_c event with gGattIndicationAlreadyInProgress_c error code is triggered. The Notifications can be sent consecutively.
Hi Xinyu,
Please note that related events are handled in BleApp_Gatt ServerCallback ().
Please refer to "Bluetooth® Low Energy Application Developer’s Guide".
There is an important difference between sending Notifications and Indications: the latter can only be sent one at a time and the application must wait for the Client Confirmation (signaled by the gEvtHandleValueConfirmation_c Server event, or by a gEvtError_c event with gGattClientConfirmationTimeout_c error code) before sending a new Indication. Otherwise, a gEvtError_c event with gGattIndicationAlreadyInProgress_c error code is triggered. The Notifications can be sent consecutively.