Learn MoreFAQsTutorials

2 posts / 0 new
Last post
lionel_Avnet
Offline
Last seen:1 month 1 week ago
Joined:2016-11-14 10:22
RSSI节电DA14531

hello

Can we use the RSSI input signal, to save power (before going in RX mode during a long time)

on the DA14531 there is a BLE_RSSI_SEL register and value associated to this RSSI

In our application, most of the time the DA14531 is in deep sleep mode;

when we wake up the DA14531, and see if we receive some advertising data (so DA14531 is in RX), to save power, is the RSSI signal is too low, can we go directly in Deep Sleep mode ? (so save time on the processing).

bests regards

Lionel

Device:
PM_Dialog
Online
Last seen:5 min 55 sec ago
Staff
Joined:2018-02-08 11:03
Hi lionel_Avnet,

Hi lionel_Avnet,

Thanks for your post. You could use the advertising report, so that you can check the RSSI value. Please take a look at the adv_report structure in co_bt.h header file. I assume that the DA145431 is not connected to a peer device. If I misunderstood it, please let me know.

When a GAPM_ADV_REPORT_IND is received, the gapm_adv_report_ind_handler() will be triggered which executes the .app_on_adv_report_ind callback (in user_callback_config.h header file) . This handler has an input parameter the gapm_adv_report_ind structure, which includes the adv_report structure. To do so, if you want to handle the advertising report, you should create a new function namely user_on_adv_report_ind() and register it in the .app_on_adv_report_ind.

So, when the RSSI is lower that a predefined value, then the application will stop the BLE activity and put the device into deep sleep mode. Keep in mind that you will have to wake-it up via any of the following wake up from deep sleep mechanism:

- Wake up from POR pin

- Wake up from WakeUp Controller

- Wake up from RTC Timer

- Wake up from Timer1

http://lpccs-docs.dialog-semiconductor.com/DA14531_Sleep_Mode+/deepsleep...

Thanks, PM_Dialog