Closed jdavid closed 5 years ago
Discussion :
Basically the thing is 1st reduce frequency, 2nd stop. Starting with the network, following with the GPS, and finally the sensors.
For example:
This is how I would like it to work on the two stations that i install on austfonna.
Ok that means these changes:
I think we can do that for every mote, since this power-saving behaviour is coded. It looks to me better than what we've now.
Since we're changing thresholds for lithium-ion battery we change them as well for lead-acid batteries?
We don't use Lead-acid any more, so no need to adjust these values.
When reading the battery charge in every loop we set the static variable
battery
to one of these 3 values (seereadBattery()
inpower.cpp
):BATTERY_HIGH
BATTERY_MIDDLE
if less-than-equal 70% (lithium) or less-than-equal 11.6 (lead)BATTERY_LOW
if less-than-equal 35% (lithium) or less-than-equal 10.5 (lead)For instance, lets say we run loops once every 5 minutes.
If
BATTERY_MIDDLE
we run actions half as often (every 10 minutes in our example). IfBATTERY_LOW
then we run actions 1/3 as often (every 15 minutes in our example).Besides this there're some special cases:
BATTERY_MIDDLE
the XBee network will only run once every 3hBATTERY_LOW
the mote will not run networks (XBee, 4G, Iridium)BATTERY_LOW
the mote will immediately sleep after waking up, so really nothing will be done, except logging to disk. So the condition above never happens.