4 Replies Latest reply on Sep 16, 2018 9:32 PM by abhishek.kumar_3704436

    Hibernate mode Problem.

    abhishek.kumar_3704436
      im working on psoc5 LP Cy8c5888LTI - LP097 controller, im trying to put it into Hibernate mode through command i used API CyPmSaveClocks(); CyPmHibernate(); my USB console stop working but my LED is still on. for wake up i use switch button with an interrupt . and in interrupt i reinitialize my USB and CyPmRestoreClocks(); and its working again. my main question is how to make sure that controller is in Hibernate Mode and why my LED is still on in that mode.
        • 1. Re: Hibernate mode Problem.
          ring

          1: You can use an ammeter to measure the current consumption of the PSoC 5 device.

          2: the GPIO states are retained, so led is still ON.

          • 2. Re: Hibernate mode Problem.
            abhishek.kumar_3704436

            hey..

             

            Thanks for the reply.. Is my code will work in this mode?
            coz Im blinking the Led, I am using it as a heartbeat and call it in every 1 sec.
            when i type command for Hibernate mode my console stop works but my heartbeat is still blink in every 1 sec in a same way it was doing before..

            I did try as it was mentioned in hibernate code example which is present in Psoc Creator.
            any example will be so useful.

            • 3. Re: Hibernate mode Problem.
              ring

              You can try to open a creator code eample, the example's name is "PowerManagement_Hibernate".

              • 4. Re: Hibernate mode Problem.
                abhishek.kumar_3704436

                I already tried it and it is working fine now. and tried with watchdog interrupt also and it is working good with that too.

                 

                I tried in my actual code with Rtos and USB uart but in that it is not working

                this is my function for hibernate:

                 

                void Jump2Hibernate()

                {  

                    StopSchedulerALL();

                    vTaskEndScheduler();

                    CySysTickDisableInterrupt();

                    CyPmSaveClocks();

                   

                    /* Switch to the Hibernate Mode */

                    CyPmHibernate();

                    /* Restore clocks' configuration */

                    CyPmRestoreClocks();
                }

                 

                this is my function.. do I need to stop anything other interrupt too.