This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CC3230SF: How to implement Hibernate/LPDS mode

Part Number: CC3230SF

Tool/software:

I am attempting to implement a 10-second hibernation period in my code, after which the system should reset. However, while the system successfully enters hibernation, it does not perform the subsequent reset as intended.

void setupHibernateWakeup(void) {

PRCMHibernateWakeupSourceEnable(PRCM_HIB_SLOW_CLK_CTR);


PRCMHibernateIntervalSet(327680ULL);
}

void enterHibernateMode(void){

setupHibernateWakeup();

PRCMHibernateEnter();
}

void mainThread(void *pvParameters)
{
Power_disablePolicy();

LteModemPowerON();
setupLTEConnection();
configMQTT();
connectToMQTTBroker();
MQTTpublish("Hibernate mode...");

Power_enablePolicy();


enterHibernateMode();

}

In the above example, I expect the code to reset again after waking up from hibernate mode. 

Moreover, power_management example for cc3230sf example does not use the API's that I am using and it gets confusing to follow.

Any help in this regard will be much appreciated.

Thanks

  • Hi,

    When looking into the power_measurement example in the SDK, and specifically into the UseCase_HIB case, you can see that it uses APIs in platform.c to wrap power related operations. Specifically, if you look into powerShutdown(), you can see that few additional steps are taken before actually using the PRCM APIs you use. For example, notifying registered clients, shutting down the SFLASH, etc.

    Any reason you call directly APIs instead using this wrapper?

    Can you use it and retest?

    Shlomi

  • Hi,


    I have integrated both the platform.c and platform.h files into my project and am calling powerShutdown(5000) exactly as demonstrated in the power_measurement example provided in the SDK. However, the device still does not wake up as expected. I would appreciate any guidance or insight to help troubleshoot this issue.

  • Hi,

    So now you are using the power_measure example "out of the box" and it is still not working?

    the reason I ask is because in the original post you didn't used the APIs and instead broke it down.

    With LP and the power_measure example, I am able to wake up from hibernate (I choose from the table option #1 (for Hibernate).

    Do you do the same?

    what do you see on the terminal?

    Shlomi

  • Hi,

    Thanks to the help I received earlier, I’ve got hibernate mode working on the CC3230SF, including successful wakeup. However, I’ve noticed that when I set a hibernate duration (e.g., 5 minutes), the device wakes up earlier than expected.

    How can I resolve the inaccurate wakeup timing?

    Thanks

  • Hi,

    By how much? is there a maximum value it wakes up on in case you set it to high value?

    can you say for what range of timeouts it works and for what range it doesn't?

    Shlomi

  • Hi,

    There was a conversion error on my end. 

    Thanks for your help.