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

BLE Peripheral Delayed Communication

Hello,
We have designed a PLE peripheral based on nRF52840, SDK16.0, Softdevice v7.0.1. We have having an issue where,
occasionally, we send a certain data (a command) to the peripheral and it receives the data after extended delays like
5-10 seconds. This particularly happen when central is far away from the peripheral. Please guide us:
1. What is the root cause of this problem?
2. Does it have to do anything with minimum and maximum acceptable connection interval or connection supervisory timeout?
3. Does making changes to these variable (or any other variables) will improve this situation?
4. Can you tell about any way we can set a timeout on mobile app end which would make sure that after lets say X amount of seconds command will not reach or will be discarded by peripheral after that X amount of seconds?
5. Is it possible to set a variable to control the maximum amount of time the central (mobile app) can tell the peripheral to execute a command. For example, if the app tells the peripheral to do something that it only has N seconds to do this before timing out?

  • This particularly happen when central is far away from the peripheral.

    Doesn't this explain all your problems? When at the edge of the link the packet loss increase rapidly, you barely have some communication, moving a few meters further away and the link is lost, moving a few meters closer and there is no packet loss. All packets will be retried until link is lost or packet is sent successfully.

    Best regards,
    Kenneth

Related