5 Replies Latest reply on Aug 18, 2015 11:14 PM by rohit.kumar

    Project#38:BLE Power Measurement not working

    robert.seczkowski

      The project started as is on PROCBLE is not working.

         

      I'm not surprised.Application is switched into deep sleep mode, but WDT ( the only one who can wake up) is not started.

         

      Does anyone know how this project supposed to work?

         

      LowPower.c:

         

      line62: inline void System_ManagePower()

         

      interruptStatus  = CyEnterCriticalSection();

         

      CySysPmDeepSleep();

         

      CyExitCriticalSection(interruptStatus );

         

      This will never wakup

        • 1. Re: Project#38:BLE Power Measurement not working
          robert.seczkowski

          Project number is wrong. it's day27_BLE_POWER.....

          • 2. Re: Project#38:BLE Power Measurement not working
            rohit.kumar

            Assuming the project you are talking about is the Project #27 BLE_Power_Measurement.

               

            WDT is not the source of wakeup here, but the BLE Link Layer (LL) timer. It is responsible for waking up the system at the pre-calculated time before advertising or next connection interval.

               

            So when you put the system to low power mode, the BLE LL timer is still running and will cause an interrupt to the system whenever the counter value is received.

               

            The cases when the BLE LL timer will not be running are:

               

            1) The advertisement has timed out. I see that the project has ADV timeout set as 65000 seconds, which is a big value (about 18 hours).

               

            2) This device was connected to another BLE device and then it got disconnected as well as the BLE advertisement was not restarted before calling the low power code.

               

            3) BLE component is stopped or was never started.

               

            Have you done any kind of change in the project? Did you enable the 'DEEPSLEEP_ONLY' or 'SLEEP_ONLY 'macro in the project?

            • 3. Re: Project#38:BLE Power Measurement not working
              robert.seczkowski

              Thanks for info. I was partially aware what this example is doing, because of no description (except the details of current measurement).

                 

              I didn't connect the device over BLE link. I'm just trying what You've already answered what is the source of deep sleep wake up.

                 

              I'm doing the same with Project 38.  And after deep sleep, the only code I can stop during debugging are CySysPmSleep(void) andCY_ISR(CyBLE_Bless_Interrupt)

                 

              It looks, that chip don't get woken up in both of these projects OR the debugger gets lost

              • 4. Re: Project#38:BLE Power Measurement not working
                robert.seczkowski

                No I haven't makde any changes . Except in project #38 ( change published here on this forum)

                • 5. Re: Project#38:BLE Power Measurement not working
                  rohit.kumar

                  Ahh, so it seems you running the project in debugger mode and then checking the operation.

                     

                  The breakpoints in debugger mode do hit the CyPmSleep code when used along with low power project. I don't remember the exact reason now, but Bob had provided a really good explanation on this. I''ll try to find and post that here.

                     

                  For now, use CySmart PC tool to detect advertising as well as connection.

                  1 of 1 people found this helpful