One correction... On Tue, Apr 14, 2020 at 11:31 AM Andrzej Kaczmarek < andrzej.kaczma...@codecoup.pl> wrote: (...)
> You need to take NimBLE scheduling into account here. Each connection > event is preallocated a fixed amount of time in 1250us slots - see > BLE_LL_CONN_INIT_SLOTS. This means effectively connection events cannot be > scheduled less than 1250us apart. Also, scheduler overhead is ~200us (for > nRF52, may be different for nRF51) for each connection event so effective > connection event time with 1 slot allocated is 1050us. Note that this is > min time since connection events can be extended pretty much indefinitely > as long as there is no other activity scheduled so e.g. until another > connection event. > (...) > I do not know if "20B packet" means "20 bytes of LL payload", but will > assume so since we are talking LL level here. This can fit into a single > scheduled slot: 240us + 150us + 80us = 470us < 1050us. Let's assume 1ms for > each connection event including scheduler overhead so you need 18ms to > serve all 18 devices in one direction. > Obviously 18ms is not a proper number since we need to count it as 1.25ms slots mentioned earlier - should be 22.5ms for 1 connection event per device and 45ms for 2 events. Best, Andrzej