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

sd_ble_gatts_hvx() and connection parameters

I've finally completed a BLE transmission using tips about connection interval, slave latency and supervision timeout given here. I checked it with Master Control Panel app on my smartphone and with WireShark: after some seconds from connection's initialization the parameters are successfully updated to conn.interval=500ms, Slave lat.=7, Sup. timeout=10s.

Now, when the interrupt occurs, the application compute new data and execute the sd_ble_gatts_hvx() functions with new data as parameter.

1- With help of WireShark it seems the application transmit a notification every time the sd_ble_gapps_hvx() was called, even more often than 500ms that is the minimum connection interval. Is that a normal feature?

2-Are the connection parameters operating only at Link-Layer level and independent from notified data-packets?

In this video the speaker is talking about packets send by master every connection interval. The slave could responds, at maximum, every (connection_interval*slave_latency)+connection_interval seconds.

3-Are these packets handled by S110 and independent by data packets (that are part of Gatt-level) ?

Thank you!

Parents
  • Hi

    1. If the connection interval is 500ms, data exchange over the air can not happen more frequently than every 500ms. However, up to 6 packets can be transmitted in every connection interval, but they would all be transmitted within the same 6ms timeframe. However, if you use Master Control Panel and the PCA10000 dongle, you can only transmit 1 packet per connection interval. For every call to sd_ble_gatts_hvx(), one packet is created in the softdevice which is transferred over the air.
  • I used PCA10000 with nRF-Sniffer/Wireshark to monitor BLE connection between:

    • PCA10001 (with my custom FW based on ble-lbs) and
    • my android smartphone with nRF-Master Control Panel app.

    Probably I mislead by data-packets of the same connection interval, as you said. In-fact, in the same connection interval (500 ms), the FW can call multiple times the sd_ble_gatts_hvx() function.

    Thank you for your extra-efficient support!

Reply Children
No Data
Related