I've been experimenting with using the RP2350 low power functions in the SDK. I believe I found an error in the SDK doc. It is the description of powman_set_power_state. It says:
The highlighted statement is not true. This function always returns. The processor does not actually power down until a __wfi() is executed. So when you call this function, at some point after the call you have to make the __wfi() call. This does not return. This is clear from the powman_example, but it never states this in the documentation that I've been able to find.powman_set_power_state
int powman_set_power_state (powman_power_state state)
Set the power state.
Check the desired state is valid. Powman will go to the state if it is valid and there are no pending power up requests.
Note that if you are turning off the switched core then this function will never return as the processor will have been turned off at the end.
Parameters
state
the power state to go to
Returns
PICO_OK if the state is valid. Misc PICO_ERRORs are returned if not
Statistics: Posted by jderickson — Wed Sep 10, 2025 9:22 pm — Replies 0 — Views 22