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
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.
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.
which version of SDK are you using?
1.3.9
Have you tried the same test on 9020 MiniDK?
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...
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
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
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.
Not yet, I will try it.