-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
Implement alarm-module for RP2350 #9965
base: main
Are you sure you want to change the base?
Conversation
Thanks for doing this! So this will disable some peripherals during light sleep now? Is the RP2350 sleep current high because it doesn't use POWMAN to shutdown ram? |
To be tested, but probably yes, due to the switch to dormant-state. For light-sleep with serial-connection, there should be no change.
I think so, dormant does nothing with other units than the cores. |
Please mark this as a draft PR. The Pico-W (and probably the Pico2-W) need some more investigation. In my tests, the CYW43 did complain with messages like:
There is a Pinging @eightycc: any ideas? |
@bablokb The I'll reproduce the failure here and get back with a more detailed analysis. |
The best source of technical specs for the CYW43439 that I've been able to find is the source code for Infineon's WHD driver: https://github.com/Infineon/wifi-host-driver. The KSO (Keep SDIO On) bit managed by |
In The CYW43439 does expose power management controls, but the best I say for the documentation is that it's murky. There might be an alternative to pulling the plug there? |
@eightycc thanks for your input. I will do some more analyses and tests next week. Maybe it makes more sense to put the driver into a quiescent state and leave the chip as is. Or I will try to reinitialize the chip. Although I don't really like the idea, because currently this is a lengthy process with a hard-coded delay of one whole second. |
Because It may be worthwhile to look into the power management features of the chip exposed by |
This PR implements the alarm-module for the RP2350 variant of the pico and fixes #9491.
Notes
light_sleep_until_alarms(maximize_power_save=True)
. But for real life use running on batteries, I cannot imagine that anybody really wants more than the absolute necessary stuff running during sleep.Light-Sleep/Deep-Sleep Current for RP2xxx
All measurements at 5V with Nordic PPKII powering via USB
(i.e. USB-serial not connected).
Notes:
time.sleep()
cpu.frequency = 25000000; time.sleep()
RP2040 (Pico)
RP2350A (Pico2)