Low power mode #623
Replies: 4 comments 3 replies
-
Hi, thanks for starting this topic. |
Beta Was this translation helpful? Give feedback.
-
Yes, RCX had big input caps to allow battery change without loosing memory contents (https://brickshelf.com/gallery/Philo/RCX-comp/rcx1-top.jpg, bottom right). BTW, these were an efficient way to kill your RCX: if you accidentally shorten power terminals while changing the battery, the caps discharged through input fuse, instantly blowing it! |
Beta Was this translation helpful? Give feedback.
-
Yes, but this is somehow expected if the hub was fully active. But I definitely have some concerns if care was not taken to create an electronics able to have a real low power mode. And that was clearly not the target of the PUP hubs! |
Beta Was this translation helpful? Give feedback.
-
It looks cool, but I dislike not being able to remove batteries for long periods. |
Beta Was this translation helpful? Give feedback.
-
We occasionally get requests to store some runtime data on the City Hub, Technic Hub, and Move Hub.
Since we are not currently enabling flash access for safety reasons, an alternative would be to allocate some static memory and have a getter/setter to read/write some bytes from/to it from a user program. This would be easy enough to do.
This would allow keeping some data between programs. Use cases:
For example, a program counter could look like this:
A one-off motor initialization could look like this:
But it would be even more useful if the data could be preserved for longer, while the hub is "off".
In addition to the above, this could then be used to store things like user settings.
A use case could look like this:
hub.system.sleep()
would do everythingsystem.shutdown()
does, but it keeps thestm32
running, so preserving RAM.With all external resources off, the stm32 itself might not even need to enter a low power mode to make this useable, but it might be a nice touch.
The key thing that makes this simple, is that we're not trying to keep the MicroPython program running. So it would work and feel just like a normal shutdown, it's just that
data_storage()
remains populated.Beta Was this translation helpful? Give feedback.
All reactions