nimble/ll: Fix scheduling adv PDUs

We schedule consecutive PDUs in advertising event at "now" timestamp,
but to make sure we do not miss the slow we should account for an extra
tick that can happen during processing.
This commit is contained in:
Andrzej Kaczmarek
2022-09-12 12:16:47 +02:00
parent fbeb4b7506
commit 084eb382c5
+4 -4
View File
@@ -4842,12 +4842,12 @@ ble_ll_adv_done(struct ble_ll_adv_sm *advsm)
++advsm->adv_chan;
}
/*
* We will transmit right away. Set next pdu start time to now
* plus a xcvr start delay just so we dont count late adv starts
/* We want to send next PDU right away so start time is set to "now"
* plus scheduling offset. Add an extra tick since LL timer may tick
* when we calculate other things in the meantime.
*/
advsm->adv_pdu_start_time = ble_ll_tmr_get() +
g_ble_ll_sched_offset_ticks;
g_ble_ll_sched_offset_ticks + 1;
#if MYNEWT_VAL(BLE_LL_CFG_FEAT_LL_EXT_ADV)
/* If we're past aux (unlikely, but can happen), just drop an event */