I have successfully been able to get into VLLSx mode from Run mode with the attached code. The problem is that it doesn't work the first try. I have to always do a number of things (random as far as I can tell), including running the demo power handling example (power_manager_hal_demo) first. Once it finally goes to VLLSx mode, it will happily stay there until I shut down and will work perfectly. Very strange!
As an example, I will have the attached code working before I leave for the day. I will shut down my computer and the FRDM-KL03Z and go home. When I come in the next morning, and run the exact code that is still on the board, it does not go to the VLLSx mode. Even when I re-download the exact, unchanged code, it still doesn't work. Only after some random playing around does it seem to eventually, magically, decide to start working. All other lower power modes (VLPR, VLPS) work just fine from first try.
The demo power handling example always works first try from Run to VLLSx without any issues. I have reviewed that code to try to find what is different. Of course there are lots of differences since that code is quite complex, but I feel like my code is executing the important details. I must be missing something...
Original Attachment has been moved to: main.c.zip