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

cross mob
Anonymous
Not applicable

Using the evaluation board CYBLE-212019-EVAL I'm developing an application that has two mode of working: one uses Bluetooth radio and the other one no. The Bluetooth component version is 2.30.

   

I've written the application starting from the HID_Keyboard template where the module goes in Deep sleep mode when is not sending data and is in ADVERTISING or CONNECTED status. I want to do the same while I don't use Bluetooth radio stopping it and calling CySysPmDeepSleep() function. The system is awakened by WDT.

   

The problem is that when Bluetooth is on the average current is more or less 0.7 mA and is very low between two transmissions while is 1.5mA when BT it's off and it doesn't go to zero when CySysPmDeepSleep() is called.

   

If I call CySysPmHibernate() function the current is very low but to awake the system a reset is needed so for my application is only useful to shutdown it after some time it's not used.

   

Why this happens and how I can put in Deep sleep mode the system when Bluetooth is not used?

0 Likes
1 Reply
Anonymous
Not applicable

Hello,

   

could it be that you have enabled the ECO clock in Design Wide Resources?

   

ECO clock is needed by the BLE component in active mode!

   

If you don´t need ECO clock to be enabled, disable it in Design Wide Resources or call CySysClkEcoStop() somewhere in your code.

   

If you need ECO clock enabled in active mode call CySysClkEcoStop() before and CySysClkEcoStart(2000u) after calling CySysPmDeepSleep().

   

If this solution doesn´t work, check for other HW that prevents your MCU to enter deep sleep.

0 Likes