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 the outstanding Request/Response limitation PER CONNECTION?

I understand that there's a limitation of only one Request/Response that can be issued at a time... but is that limitation PER CONNECTION?  I.e., can my application do this:

GATT_ReadCharValue(connHdl_1, &readReq, taskID);       Slave device #1

followed by

GATT_WriteCharValue(connHdl_2, &writeReq, taskID);      Slave device #2

Can these two C-level calls be issued, basically, one right after the other?

-mark

  • Hi Mark,

    I haven't tried this exact scenario myself, but this should work. The stack should queue up these packets and send it at the next available time (same on the receive side).

     

  • Hi Zahid,

    Thank you for a very fast response..  this is an important issue as a client wants to get the device ready for the winter season, and we're running out of time.

    What's confusing is that I've read somewhere about a limitation of only one outstanding cmd... perhaps that is for an earlier version of the stack?  

    Also, then why do TI's example code use a variable, 'procedureInProgress' to only allow one operation at a time???  If the stack is q'ing them up, then why have this variable?

    Thanks for the help,

    -Mark 

  • Hi Mark,

    Just to be clear, yes, the one outstanding GATT packet with responses is one per connection as per the specs. You have to get the response before sending another GATT command on the same connection handle.  

    But if the GATT commands correspond to multiple connections, then they should be q'ed up and should work simultaneously.