What is the timing of the indication retry mechanism (SDK14.2, nRF52832) ?
- App use sd_ble_gatts_hvx() to schedule message for sending
- At the next connection interval (T0) the message is xmitted (Peripheral-->Central)
- The Central's stack should ACQs (at GATT level?) the received message on T1. This triggers BLE_GATTS_EVT_HVC on peripheral side
- If the (GATT level) ACQ fails, the peripherals stack retries sending the message for 30 seconds (link1& link2)
My question are:
- What is the time limit (connection intervals) to receive the acknowledge before retrying sending?
e.g. - Does the peripheral expect 'GATT level ACQ' within 1/2/3/4/other connection intervals ? - If this time limit is reached, how/can the app be notified that the 1st xmit attempt failed ?
- Will the stack retry xmitting immediately (next CI) after the aforementioned time limit has reached?
- Referring to Kristin's answer in link2 above - is it correct that a single LINK LAYER ACK resets the supervision timeout counter?
(e.g. if supervision timeout is set to 10 sec, is it sufficient to have a single connection interval go through every 9.9 sec to keep the link connected forever?)