Force BLE-Radio to sleep over connection interval

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Force BLE-Radio to sleep over connection interval

907 Views
cmu
Contributor I

Hello

I'm using the FRDM-KW40Z Freedom Board with with the Connectivity Framework, running on FreeRTOS. I was able to set the following connection parameters:

Connection Interval: 50-100ms

Slave Latency: 20

Supervision Timeout Multiplier: 1600

Now whenever a new BLE-Package arrives, the BLE Controller etc. are woken up, which can - depending on the number of messages from the server - consume a lot of power. Is there a way to force the controller and host task to sleep, for example for 500ms? This should not interfere with an active connection, as it is within the defined slave latency.

Thanks for your help!

Nachricht geändert durch Christian Müller

2 Replies

655 Views
miguel_reyes
NXP Employee
NXP Employee

Hello cmu​,

I guess you are using an example that is not setting Low power support by default. Since you are using a BLE master example, I recommend you to use example BLE temperature_collector included in the KW40Z Connectivity Software package. Please, see the BLEDAUG.pdf section 5.3 in order to understand how this application works.

Moreover, I recommend to take a look to the BLEADG.pdf chapter 10 to understand low power features implemented by default in the connectivity stack.

You can find the documentation under the doc folder of the KW40Z Connectivity Software. By default, it is located in the next path:

C:\Freescale\KW40Z_Connectivity_Software_1.0.1\ConnSw\doc

Please, let us know if this answer your question.

655 Views
cmu
Contributor I

Hello

Thank you very much for the hints! It seems the PWR_EnterLowPower is precisely what I'm looking for. Until now only FreeRTOS' vTaskSuspendAll was tested.

Unfortunately I can't test it right now, but I'll update this post as soon as I tried it.

Best regards