Just as an FYI (and sorry to be pedantic):

The connection interval is the time between connection events. That is what 
itvl_min and itvl_max are referring to. The controller can pick a connection 
interval within those bounds and as Mark states the range is 7.5msecs to 4 
secs. The length of each connection event is basically determined by the 
controller. The min_ce_len and max_ce_len are merely “hints” to the controller 
and the controller does not have to honor them. I dont know why the spec allows 
them to be greater than the connection interval itself (although I do see why 
it could be 0).

The nimble controller basically ignores the min_ce_len and max_ce_len. What it 
does is the following: the controller knows when the next “event” is going to 
occur (this could be an advertising event or another connection event). As long 
as either the master or the slave has packets to send, the connection event 
continues until there is either an error, no more packets to send, or another 
event will occur. Obviously, the connection event will never exceed the 
connection interval. And yes, you are correct in saying that typically a 
connection event is just a few msecs long (unless you are queuing up a bunch of 
packets or sending large data packets).

Unfortunately I dont know what to say regarding your results. I will let our 
host expert chime in but I am sure we can figure out what is going on.


> On Aug 30, 2016, at 9:17 AM, Mike Ryan <[email protected]> wrote:
> 
> On Tue, Aug 30, 2016 at 04:10:58PM +0100, Tim Hutt wrote:
>>   .max_ce_len = 10,  // Units: 0.625 ms; min: 0; max 0xFFFF (40.9s)
>>   // I really have no idea what to put in min/max_ce_len. I thought a
>> connection event was sending a few packets, so should take a couple of
>> milliseconds.
>>   // Why would you ever have a 40s one?
> 
> The legal min/max connection intervals are 7.5 ms and 4.0 s. Reference:
> Bluetooth Core Specification v4.2 Vol 6 Part B Sec 4.5.1 (PDF page
> 2619).
> 
> Very long connection intervals and long supervision timeouts allow
> devices to remain connected while consuming extremely small amounts of
> power. I've used 4 second intervals with a temperature sensor running
> off a CR2032 for months.

Reply via email to