-
Notifications
You must be signed in to change notification settings - Fork 1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Tracker role wakeup and sleep cycle when power.is_power_saving true #2846
Conversation
Addresses part of #2845 NRF's low power mode (NRF_POWER_MODE_LOWPWR) which @andrekir discovered I believe, turned out to be a really neat find. I was able to get the RAK down to between 0.8-0.9mA after it went through normal the shutdown sequence to turn off peripherals and drop into this mode. I'm curious to see how the T-Echo might fare with the same sequence. Also, would like someone to test on T-Beam and other hardware as well. A good configuration is: |
wow! well done! ran a quick test on a T-Echo with suggested settings and power cycle works perfect. only issue is when the GPS fix is quick, it enters deep sleep before broadcasting the position:
|
Thanks! 😄 |
🤖 Pull request artifacts
|
…s3 because user button press doubles as bootloader mode trigger?)
…2846) * WIP * Sleepy sleepy low power tracker * Sleepy tracker clear * NRF52 PoC * Simplify NRF52 "sleep" * Trackers aren't polite * Remove unnecessary include * Removed accidental commit * Fixed not-so-sleepy T-Beam due to button gpio mask precendence * Added sleepOnNextExecution for allowing fulfillment of pending messages before shutting down * Cleanup * Don't wantResponse for trackers * Heltec wireless tracker doesn't like the button interrupt (maybe all s3 because user button press doubles as bootloader mode trigger?)
Just updated one TBeam with above mentioned pr-2.2.10 and it seems to go properly DeepSleep. I wil let it run longer time to see that also devicetelemetry comes to my MQTT-server. If that one works I can plot a battery curve for different position_broadcast_secs values |
This pull request has been mentioned on Meshtastic. There might be relevant details there: https://meshtastic.discourse.group/t/hardware-for-an-animal-tracker-dog-collar/10924/14 |
Current flow if device is Tracker role and power.is_power_saving is enabled is as follows:
Remove delayed startup for PositionModule so that we start the thread immediately
Clear last node->position.lat / lon to zero, so that we don't just immediately broadcast the last (stale) position
Upon valid position and successful send (which should happen as soon as we get a fix), go to sleep for position_broadcast_secs.
Wake up and start the process over again.