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

nRF52832 Mesh SDK 4.0.0 SLEEP mode

Hi,

Greetings!

I am using following setup

1. Mesh SDK: 4.0.0

2. SDK 16.0.0.

3. Segger Embedded Studio on Windows 7

I had a look at "pwr_mgmt_pca10040 " example project and now I am trying to implement it in "light_switch_client_nrf52832" example

Can anyone suggest me steps to follow?

or

Guidelines for the same which can help me to implement it in SIG mesh example

Thanks in advance.

Regards,

Dinesh

  • Hi Dinesh, 

    Could you tell what exactly you want to achieve ? Please be aware that mesh application requires the node retain in radio RX mode all the time. Meaning you would need to plug the device to main power, not battery powered. 

    If you want low power mesh device you can have a look at the experimental_lpn low power node example. 

  • Hi Hung,

    Greetings!

    It will be OK for us if device gets disconnected from mesh on sleep and on wake-up it gets connected to mesh and sends data and again goes into sleep mode.

    We need to operate device on CR2032 coin cell battery.

    Request you to please guide us on nRF52832 sleep mode.

    Regards,

    Dinesh 

  • So you don't want to use the experimental_lpn low power node example ? 

    Putting the device to sleep is not what suggested in the spec. If you sleep for more than 96 hours you would need to update the IV index. Note that for mesh to works you still need a number of node acts that the backbone and those node can't be put to sleep. 

    If you want to put a device to sleep, you can first shutdown mesh and then put the CPU to sleep mode. When you wake up you can initialize the mesh network again. 
    To disable mesh you can call : nrf_mesh_disable() 

    To put CPU to sleep please refer to our examples in the nRF5 SDK. If the softdevice is active, you can call sd_app_evt_wait() if it's not you need to call the following to put CPU to sleep: 

    __SEV();
    __WFE();
    __WFE();

    Make sure you set up the timer to wake the CPU up. 

Related