Skip to main content
hardware
Associate III
April 12, 2017
Solved

BlueNRG-MS: Impossible to transmit multiple Write Requests in a single Connection Event?

  • April 12, 2017
  • 1 reply
  • 767 views
Posted on April 12, 2017 at 20:48

Hi,

I have noticed that it is not possible to have multiple ACI_GATT_WRITE_CHAR_VALUE per connection event.

I have set up the following connection: connection interval of 40ms and connection event length of 21.875ms (the maximum I can while continuing to advertise in parallel).

Using a sniffing tool, I see that what is happening is the following:

- Master -> Slave : Write Request

- Wait for 40ms (next connection interval)

- Slave -> Master : Write Response

- Wait for 40ms (next connection interval)

- Master -> Slave : Write Request

- etc.

Is that a normal behavior? Why isn't it possible to have the Write response inside the same connection event, and more write reqests?

Note that if I use ACI_GATT_WRITE_WITHOUT_RESP (Write command), I don't face the issue, and it's possible to send multiple ones inside the same connection event (around every 700us)

Thanks for your help.

Christian

#bluenrg-ms
    This topic has been closed for replies.
    Best answer by Andrea Palmieri
    Posted on April 19, 2017 at 10:42

    Hi Christian,

    yes, it is an expected behavior since the slave will wait for its own connection interval to send the response required by the ACI_GATT_WRITE_CHAR_VALUE.

    Kind regards

    Andrea

    1 reply

    Andrea Palmieri
    ST Employee
    April 19, 2017
    Posted on April 19, 2017 at 10:42

    Hi Christian,

    yes, it is an expected behavior since the slave will wait for its own connection interval to send the response required by the ACI_GATT_WRITE_CHAR_VALUE.

    Kind regards

    Andrea

    hardware
    hardwareAuthor
    Associate III
    April 26, 2017
    Posted on April 26, 2017 at 20:55

    For my education, would you mind pointing me to the reference in the Bluetooth CORE Specifications?