I can get a Peripheral to send a succession of Indications to a Central, by changing the value of an attribute with a BLUEHCI_GATT_UPDATE_CHAR_VALUE command.
The Central is required to acknowledge the Indication (if a BlueNRG then with the BLUENRG_GATT_CONFIRM_INDICATION), but might not do so (for example if it cannot keep up with the Peripheral). But the Peripheral does not know whether or not it has received this Indication acknowledgement. Furthermore, there is no error if the Peripheral attempts to send a second Indication (by issuing a second BLUEHCI_GATT_UPDATE_CHAR_VALUE command) before the first acknowledgement arrives. (The Central does not see this second Indication). Eventually (but only after 30s) the Peripheral receives an EVT_BLUE_GATT_PROCEDURE_TIMEOUT event.
So the whole point of using Indications for reliable data transfer is lost.
Is there any way for the Peripheral to know whether the Central has sent the acknowledgement?
If not, could I suggest this functionality is added.