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

Sending notification without response

I am trying to send a lot of data and I am trying to do this with notification. As I understood notification do not need acknowledgment and should not use que for messages or?
The problem I am facing is that it is actually waiting for acknowledgment from Android side to clear the que to send new notifications. Is it possible to send without response?

I know there is write without response. This means that it does not que but just writes to the characteristic?

How do I do this correctly?

Do I need a characteristic on Android side to which the device will write to without response?

Do I just read the characteristic with Android all the time?

Example, I am sending 500 consecutive messages with X ms delay between each. I measure how much I tried to send and how much time I got NRF_ERROR_RESOURCES, meaning that the que was full and could not send a new value. Sometimes it is 400/500 and sometimes 200/500, depending on ms between messages.

Parents
  • Hi,

    As I understood notification do not need acknowledgment and should not use que for messages or?

    All packets transmitted over a BLE link will be acknowledged on the Link Layer level. This ensures that a re-transmission happens if a packet is lost. So notifications uses a queue as well.

    If you are having issues with NRF_ERROR_RESOURCES, you could try to increase the value of NRF_SDH_BLE_GAP_EVENT_LENGTH in sdk_config.h

Reply
  • Hi,

    As I understood notification do not need acknowledgment and should not use que for messages or?

    All packets transmitted over a BLE link will be acknowledged on the Link Layer level. This ensures that a re-transmission happens if a packet is lost. So notifications uses a queue as well.

    If you are having issues with NRF_ERROR_RESOURCES, you could try to increase the value of NRF_SDH_BLE_GAP_EVENT_LENGTH in sdk_config.h

Children
No Data
Related