This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Is it possible to queue sd_ble_gatts_hvx calls ?

I need to sendt several indications on one BLE_GATTS_EVT_WRITE event. If I just call sd_ble_gatts_hvx I get NRF_ERROR_BUSY Isn't it strange? API stats: 

Only one indication procedure can be ongoing per connection at a time. 

As I got this it means simultaneous indications are prohibited, but sequential are allowed.

Is there any solutions for that?

Thanks

Parents
  • Hi,

    Could you let me know which write event have you received ? Was it a write request or it's a write command ?

    If it's a write request and it hasn't been replied by the server then the server is not allowed to send an indication, if I understand the spec correctly. So one indication/write request at a time. 

    Could you try to test writing a write command and check if you can send the indication ? 
    There is a chance that there is another characteristic is sending an indication or a write request, a sniffer trace would reveal if that's the case. 

Reply
  • Hi,

    Could you let me know which write event have you received ? Was it a write request or it's a write command ?

    If it's a write request and it hasn't been replied by the server then the server is not allowed to send an indication, if I understand the spec correctly. So one indication/write request at a time. 

    Could you try to test writing a write command and check if you can send the indication ? 
    There is a chance that there is another characteristic is sending an indication or a write request, a sniffer trace would reveal if that's the case. 

Children
Related