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

Is there a way to reduce the link loss detection time?

ble_gap.hHi, At the moment, when a link loss is detected (in a connected mode), it takes around 3 seconds for it to be identified (with DISCONNECTED event). Is there a way to reduce this link loss detection time from 3 seconds to less than a second? Thanks.

Parents Reply Children
  • Hi Endnode, thanks for the response. Following are my connection interval parameters set at the master: HASH define MIN_CONNECTION_INTERVAL MSEC_TO_UNITS(7.5, UNIT_1_25_MS)
    HASH define MAX_CONNECTION_INTERVAL MSEC_TO_UNITS(30, UNIT_1_25_MS)
    One side of the link is peripheral (nrf51822: ble_app_hrs example) and the other side is central (nrf51822: ble_app_hrs_c example). I am not sure if this has answered your question.

  • We are talking about Supervision Timeout not connection interval here. That's why I asked you not for defines in your source code but actual content of Connection Request. Have you read anything about that time-out procedure e.g. in BT SIG Core specification?

  • Also MIN and MIX values are useless, there must be ACTUAL value which is really used on Master side. What is that? Because Supervision Timeout has also certain limits which depend on other things like connection interval and latency. See more in that specification or shorter extract in comments from Nordic in SDk file \components\softdevice\s132\headers\ble_gap.h.

  • Hi Endnode, thanks for the reply. The ble_gap.h in the central side is the same as in the example code provided for ble_app_hrs_c. I am not sure which hash define to look for. I have attached my ble_gap.h (which is the same as provided by the example code) herewith. I thought it would be as simple as changing the value of a hash defined. Sorry, I am not very familiar with BT SIG Core spec. Which chapter do you recommend I should have a read in the BT SIG Core spec?

  • No, you've misunderstood. Indeed your ble_gap.h file is intact, otherwise (most probably) Soft Device API calls stop working. You should SEARCH for Supervision Timeout and READ what is explained there. Moreover what you write in your original question isn't precise: if link timeouts because there are no answers from the peer (being Slave or Master, doesn't matter) then you should get different event then DISCONNECTED.

Related