diff --git a/TODO.md b/TODO.md index cd9d6e0b7..3189208e3 100644 --- a/TODO.md +++ b/TODO.md @@ -9,7 +9,7 @@ Items to complete before the first alpha release. for it (because it will redownload the nodedb when it comes back) * don't enter light sleep while the screen is on * any time we wake from light sleep, briefly blink the led - +* Use Neo-M8M API to put it in sleep mode * turn light sleep on aggressively (while lora is on but BLE off) * retest BLE software update for both board types * default to enter deep sleep if no LORA received for two hours (indicates user has probably left the meshS) diff --git a/docs/sw-design.md b/docs/sw-design.md index 2a8b9f794..56be154fe 100644 --- a/docs/sw-design.md +++ b/docs/sw-design.md @@ -52,7 +52,8 @@ off during light sleep, but there is a TODO item to fix this. * While in ON: If it has been more than screen_on_secs since a press, lower to DARK * While in DARK: If time since last contact by our phone exceeds phone_timeout_secs (15 minutes), we transition down into NB mode * While in DARK or NB: If nothing above is forcing us to stay in a higher mode (wait_bluetooth_secs, min_wake_secs) we will lower down to LS state -into either LS or SDS levels. If either phone_sds_timeout_secs (default 1 hr) or mesh_sds_timeout_secs (default 1 hr) are exceeded we will lower into SDS mode for sds_secs (default 1 hr) (or a button press). Otherwise we will lower into LS mode for ls_secs (default 1 hr) (or until an interrupt, button press) +* While in into LS: If either phone_sds_timeout_secs (default 1 hr) or mesh_sds_timeout_secs (default 1 hr) are exceeded we will lower into SDS mode for sds_secs (default 1 hr) (or a button press). +* Any time we enter LS mode: We stay in that mode for ls_secs (default 1 hr) (or until an interrupt, button press) TODO: Eventually these scheduled intervals should be synchronized to the GPS clock, so that we can consider leaving the lora receiver off to save even more power. TODO: In NB mode we should put cpu into light sleep any time we really aren't that busy (without declaring LS state) - i.e. we should leave GPS on etc...