7 Replies Latest reply on Jun 17, 2015 8:47 PM by user_14586677

    PSoC/PRoC BLE - Components cannot be _Start()ed after DeepSleep

    user_460425683

       Hello,

         

      I have run into a problem.  I find that after calling CySysPmDeepSleep(), I am unable to _Start a component that I stopped prior to going to sleep.  I do not experience this problem is I _Sleep() and than _Wakeup() the component, or if I CySysPmSleep() instead of using DeepSleep.

         

      I have attached a project that demonstrates this issue.  It can be tested directly against the PRoC or PSoC on the CY8CKIT-042-BLE test kit, or with some minor changes, on the regular PSoC 4.  This problem does not exist on the regular PSoC 4.

         

      In a nut shell, here is the problem:

         

              /* Prepare for sleep */
              PWM_Sleep();   // Sleeping the PWM works
              //PWM_Stop();    // Stopping the PWM causes it to not be restartable after Deep Sleep

         

              /* Go into deep sleep */
              //CySysPmSleep();      // Both Stop/Start and Sleep/Wakeup work after a standard sleep
              CySysPmDeepSleep();  // Only Sleep/Wakeup works after a deep sleep        

         

              /* Wake up */
              PWM_Wakeup();  // Waking up the PWM after sleep works
              //PWM_Start();   // Starting the PWM after sleep does not work after Deep Sleep

         

      Any thoughts would be appreciated.  If there is a piece of documentation describing this behavior I am missing, I would appreciate that being pointed out to me as well.  I've been unable to locate anything.

         

      Thank you.

         

      - Chris