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

The behavior of "Notify" transmition

Hello,

I am learning about the behavior of "Notify" transmition. From some web sites including below, I understood as follows. devzone.nordicsemi.com/.../

So could you please confirm that my understanding is correct?

[My understanding]

  1. If we send data using "Notify", Ack / Nack checks and retransmissions are handled by the lower link layer, automatically.

  2. The above process will continue until the retransmission succeeds, or until "Supervision timeout" expires.

  3. If above retransmission is not succeeds and "Supervision timeout" expires, "Disconnection" will occur. In this case, we need to reconnect.

  4. In steady state, if there is no data to send and there is no need to check the connection, we can specify the number of times we want to omit by using "Slave Latency".

  5. In steady state, the timing of data transmission is determined by both the timing of calling the API function "sd_ble_gatts_hvx" and the timing of the next boundary of the "Connection interval".

  6. After calling the API function "sd_ble_gatts_hvx", in order to request next data transmission again by calling the same API function, we will wait for the BLE_GATTS_EVT_HVN_TX_COMPLETE event. Or the other method is to repeat the same API function until NRF_ERROR_RESOURCES is not returned.

Regards, Senoo

Related