Tool/software: TI-RTOS
Hi Team,
This query was raised around 9 months ago but i did not get a confirm answer for that.
So I am posting again with reference to the same query.
I am using the SimpleLink MSP432 SDK -V 1.40.00.28 version.
Initially I tried to run the "powerdeepsleep" example and found the when the msp432 goes into deepsleep mode by pressing the SW1 on the launchpad the value of "sleepstate" variable in the function "int_fast16_t Power_sleep(uint_fast16_t sleepState)" found in the PowerMSP432.c file changes to 4 (which is the macro value of PowerMSP432_DEEPSLEEP_1 as defined in the PowerMSP432.h file.
The current still is in milliamps (over 2 mA) as compare to 1.6uA that was mentioned in the post for which I have attached the link above.I have also attached screen shot for the current drawn measured and also when the state is changed.
Now I tried to execute the same concept in my firmware written which also has a watchdog timer based wakeup of unit every 6 hours.
The concept is that every 6 hours the mcu wakes up and does some work and once that task is done I am calling the "Power_setPolicy((Power_PolicyFxn)PowerMSP432_deepSleepPolicy);" which is the same function called in the powerdeepsleep example when the switch SW1 is pressed.
But in my case, the value of the sleepState variable never changes to 4 and always stays 1.
As a result the MCU neither goes into LPM3 nor in LPM4 mode.
Due to this the idle mode current drawn in my application shows 20 mA which is too much since ours is battery operated application.
I am attaching the code for reference.
Please if someone can help me out to get this confusion cleared would be great.
Thank you
VikramDemo code for Production board getting into Deepsleep.zip
Many thanks in advance.