-
Notifications
You must be signed in to change notification settings - Fork 3k
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
NRF52832 not going back to sleep completely after a wait_ms() call #7847
Comments
Could you give us the traces obtained if The function [Mirrored to Jira] |
See below: basically I get the "Sleep locks held:" print line at power-on and then again around each I will try
[Mirrored to Jira] |
FYI, calling |
I've tried making a direct call to |
@RobMeades - Please share your thoughts on #8189 |
I wanted to know if new proposed solution for wait_ms() is just the thread sleep (so rounding down). Not callable from interrupts, doesn't lock hardware sleep [Mirrored to Jira] |
It would solve the initial problem if all |
Internal Jira reference: https://jira.arm.com/browse/IOTDEV-1613 |
Description
I have a board on which I am using an NRF52832 (inside a u-blox NINA-B1 module). The board is for use in an energy harvesting application and hence low power consumption is absolutely critical.
The software behaviour is to run a timed
EventQueue
callback in which the main operations are performed. I can normally achieve ~2 uA current consumption for the NRF52832 outside theEventQueue
callback unless I callwait_ms()
inside theEventQueue
callback; as soon as I callwait_ms()
in theEventQueue
callback (or elsewhere, for that matter) the current consumption jumps to ~7 uA and never, ever, comes down again.You can see the effect in trace A:
...whereas in trace B I have commented out the
wait_ms()
call and the power consumption recovers:My question is: how do I make the current consumption return to what it was before the
wait_ms()
call?Here is my complete code (built for
UBLOX_EVK_NINA_B1
and ARM tools), where the meat is in thewakeup()
EventQueue
callback. FYI,init_used_pins()
calls into the Nordic HAL to set specific pins on our board for very specific purposes, which can be ignored;gpio16
is just wired to an LED to make it obvious where theEventQueue
call occurs in the trace.Issue request type
[x] Question
[ ] Enhancement
[ ] Bug
The text was updated successfully, but these errors were encountered: