I am obviously not understanding the advertising setup for my CYBLE-416045-02.
What I want is for the advertisement packet to be sent every 5 seconds or so and have the device deep sleep in between if nothing responds.
I have set the 'Discovery Mode' to "Limited", the 'Fast Advertising interval' to "Minimum" of 5000ms, maximum of 5100ms and a timeout of 30 seconds. With that configuration I see on a scanning program I have written (on a separate device) the advertising packet is picked up, a connection made and the data transferred, and the connection dropped - all as expected. The scanning program only checks every 15 seconds or so (hence why I want the advertising period to be 5 seconds) but if the timing is just a bit out, 30 seconds after the last connection, everything stops (see later for how I can tell).
I want the advertising to continue ad infinitum. Therefore I tried using the 'General' discovery mode and no timeout. This works the same but without the timeout (which is as expected I suppose.
Is the last configuration the one I want? If not then how should I set the various options?
What is the purpose of the 'fast' vs the 'slow' advertising period?
I have an ammeter in the supply line between the miniprog 3 and my circuit as I want to make sure that the current draw while the processors are in deep sleep is minimal (this is a battery driven device so current draw must be minimal). I'm using the code as generated for CM0 and for CM4 I do into 'deep sleep' when there are no events.
The ammeter shows about 8.6mA while programming and then sits at 10.8mA for most of the time. When a connection is made it jumps to 11.4mA during the connection (my DVM could be missing the peak current - the point is that it does increase the current draw during the connection as I would expect). It then drops back to 10.8mA.
If the 'timeout' is in use, the current drops to about 6.4mA and never changes from there.
I'm happy (relatively!) with the current draw during the connection period. However my expectation is that the current draw should be in the uA range while both processors as in deep sleep, only jumping up for the advertising burst (ms at most) and perhaps a bit linger if the advertisement results in a connection.
Is my expectation wrong? If so what should I expect?
How should I adjust things to that the deep sleep results in a current draw the is more in line with that of the data sheet for deep sleep operation?