This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Disable Soft Device for low power?

What's the proper way to turn off BLE to conserve power?

I have a board with DC power input and battery backup.  When the DC power fails, I want to finish what I'm doing, notify the host that I've lost power, then go to sleep. If that notification fails, I want to periodically wake up and retry, so my RTC and Timer peripherals need to continue working.

Also, when the DC power returns I want to resume normally scheduled events, which means the real-time clock should continue working (implemented with LF XTAL, RTC, Timer).

I'm doing development on nRF52 DK board using buttonless DFU example and SDK 17.0.2, s132.  Running SES on Win10 and gnu compiler.

I've seen answers to this that reference functions that are no longer in the current SDK.  The shutdown request function in 17.0.2 ends up at system OFF, which is no good.  The suspend function doesn't look like it really stops much as the advertising LED keeps blinking and I can still connect to the device.

Thanks in advance for any advice.

Parents
  • Hi,

    What's the proper way to turn off BLE to conserve power?

    Disconnect any active BLE links you may have, and turn off any BLE advertising and/or scanning.

    You might also want to disable/uninitialize peripherals that you have turned on, e.g. SAADC, SPI,I2C, PWM, etc

    If that notification fails, I want to periodically wake up and retry, so my RTC and Timer peripherals need to continue working.

    The SoftDevice will try to send the notification until it get's a ACK from the other device. If it doesn't get a ACK, the link will get disconnected(Connection Supervision Timeout).

    Note that we have a Power-fail comparator that can provide an early warning to the CPU of an impending power supply failure.

Reply
  • Hi,

    What's the proper way to turn off BLE to conserve power?

    Disconnect any active BLE links you may have, and turn off any BLE advertising and/or scanning.

    You might also want to disable/uninitialize peripherals that you have turned on, e.g. SAADC, SPI,I2C, PWM, etc

    If that notification fails, I want to periodically wake up and retry, so my RTC and Timer peripherals need to continue working.

    The SoftDevice will try to send the notification until it get's a ACK from the other device. If it doesn't get a ACK, the link will get disconnected(Connection Supervision Timeout).

    Note that we have a Power-fail comparator that can provide an early warning to the CPU of an impending power supply failure.

Children
No Data
Related