Autowakeup deep sleep and Start broadcasting for some interval

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
lock attach
Attachments are accessible only for community members.
Anonymous
Not applicable

Hi

   

I am trying to broadcast custom data for say 10 Sec and then go to deep sleep mode.

   

then Wake the after 8 Sec using WDT (counter 2) and then start broadcasting. continue doing the same forever.

   

 

   

but in the first time it broadcast for 10 sec. after timeout period. it go to Deepsleep mode. wakeup after 8 Sec( confirmed by toogling BLue LED in WDT ISR).

   

but does not Advertise furthur...

   

suggestions are most welcome.

   

i am attaching my project for Reference.

   

Thanks

   

 

   

Amol

0 Likes
1 Solution
ETRO_SSN583
Level 9
Level 9
250 likes received 100 sign-ins 5 likes given

These might be useful -

   

 

   

    

   

          

   

http://www.cypress.com/?rID=78797     AN86233 - PSoC® 4 Low-Power Modes and Power Reduction Techniques

   

http://www.cypress.com/?rID=96072     AN90114 - PSoC® 4000 Family Low-Power System Design Techniques

   

 

   

 

   

Regards, Dana.

View solution in original post

0 Likes
5 Replies
ETRO_SSN583
Level 9
Level 9
250 likes received 100 sign-ins 5 likes given

These might be useful -

   

 

   

    

   

          

   

http://www.cypress.com/?rID=78797     AN86233 - PSoC® 4 Low-Power Modes and Power Reduction Techniques

   

http://www.cypress.com/?rID=96072     AN90114 - PSoC® 4000 Family Low-Power System Design Techniques

   

 

   

 

   

Regards, Dana.

0 Likes
Anonymous
Not applicable

 Hi,

   

 

   

In your project you are not starting the advertisement after WDT interrupt

   

 

   

use api CyBle_GappStartAdvertisement(CYBLE_ADVERTISING_FAST) to start advertisement.

   

 

   

Regards,

   

Vikas.

Anonymous
Not applicable

Eventhhough i write  CyBle_GappStartAdvertisement(CYBLE_ADVERTISING_FAST); at the end of ISR it doesnt start advertisng.

   

Also there is no need to write it in the isr, because control should return to the point where i had left after executing the isr and continue normal operation. in that case it should advertise.

0 Likes
lock attach
Attachments are accessible only for community members.
Anonymous
Not applicable

 Hi,

   

 

   

Please try with the attached project.

   

 

   

Regards,

   

Vikas

0 Likes
Anonymous
Not applicable

Hi Vikas,

   

Finally your attachment is the answer to my problems. I have been searching for a solution for weeks. One thing I noted however, in the code below, when I comment out the commented bit, it works. Without commenting it out however, my system always stays in advertising mode. Is the a reason for this? I do not really understand it. 

   

else if(blessState != CYBLE_BLESS_STATE_EVENT_CLOSE)
        {
            /* If BLESS is active, then configure PSoC 4 BLE system in 
             * Sleep mode (~1.6mA current consumption) */
            //CySysClkWriteHfclkDirect(CY_SYS_CLK_HFCLK_ECO);
            //CySysClkImoStop();
            
             CySysPmSleep();  
            
             CySysClkImoStart();
             CySysClkWriteHfclkDirect(CY_SYS_CLK_HFCLK_IMO);
        }

   

Thanks for your help. 

   

 

   

Best regards,

   

Eugenia

0 Likes