QN9021 - Combining BLE and RTC functionality with low power

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

QN9021 - Combining BLE and RTC functionality with low power

1,334 Views
jiri_pelant
Contributor I

Is there any way how to combine BLE and RTC and low power mode? I need to use the processor in low power mode and use both of the peripherials.

If there is CFG_BLE_SLEEP directive defined and at the same time QN_32K_LOW_POWER_MODE_EN is FALSE, BLE runs, but RTC counter in sleep mode stops and doesn't run.

Defining CFG_BLE_SLEEP directive and setting QN_32K_LOW_POWER_MODE_EN to TRUE RTC runs with no problems, but BLE doesn't work (GAP connection request seems to be successful, but enabling profile fails).

Third option is no CFG_BLE_SLEEP define, but in this case is comsumption too high.

Thanks

0 Kudos
10 Replies

1,130 Views
james_zhang
NXP Employee
NXP Employee

Enable low power mode by QN_32K_LOW_POWER_MODE_EN with CFG_BLE_SLEEP defined is right way for your requirement. There is customer using QN902x in the same way. Enabling profile failure may be caused by other issue.

0 Kudos

1,130 Views
jiri_pelant
Contributor I

Thanks, but this is one of the cases I have tried out. I don't know, why is enabling profile unsuccessful, when with the same code, but only QN_32K_LOW_POWER_MODE_EN disabled works.

0 Kudos

1,130 Views
james_zhang
NXP Employee
NXP Employee

which version of SDK are you using?

0 Kudos

1,130 Views
jiri_pelant
Contributor I

1.3.9

0 Kudos

1,130 Views
james_zhang
NXP Employee
NXP Employee

Have you tried the same test on 9020 MiniDK?

0 Kudos

1,131 Views
jiri_pelant
Contributor I

I have just tried it on QN9020_MINIDK_V8. Eapi example code, enabling RTC driver, QN_32K_LOW_POWER_MODE_EN, with CFG_BLE_SLEEP doesn't work, without yes. Mabye there is something I have overlook...

0 Kudos

1,131 Views
james_zhang
NXP Employee
NXP Employee

Two steps to fix the issue:

1) add the sentences below into function app_gap_reset_req_cmp_handler(), the position is just at above the sentence "rerurn (KE_MSG_CONSUMED);"

2) Adjust wakeup time by NVDS_Configurator of QBlue, the values are as the below:

External wake-up time: 0xBB8

Oscillator wake-up time: 0xBB8

0 Kudos

1,131 Views
jiri_pelant
Contributor I

I'm sorry, but I don't completely understand first point. What sentences should I add?

And for the second one - is there any way how to accomplish it in the final application over SWD?

Thanks

0 Kudos

1,131 Views
james_zhang
NXP Employee
NXP Employee

sorry, the sentence to be added in step 1 is :

#if QN_LOW_POWER_MODE_EN==TRUE

   *(uint8_t*)(0x1000f2ee) += 3;

#endif

the step2 can't use SWD to acomplish.

0 Kudos

1,131 Views
jiri_pelant
Contributor I

Not yet, I will try it.

0 Kudos