Hi all,
I am developing a low power product based on the nrf52840 module, using the openthread stack from NCS (v1.4.99). Since the device is powered by battery only and needs to save energy, it is usually better to let the device sleep and then it will only be woken up by interrupts.
I think setting the device to MTD seems to meet my needs, so i tried to turn off the transceiver with this official guide for the purpose of reducing sleep power consumption. I found that after pressing button2 on MTD_COAP_CLIENT, LED4 of COAP_SERVER will light up immediately regardless of whether the device state is switched to SED or MED. I think this example doesn't reflect the state of putting the transceiver to sleep.
I have also tried turning on the following option on NCS:
CONFIG_OPENTHREAD_MTD=y
CONFIG_OPENTHREAD_MTD_SED=y
CONFIG_OPENTHREAD_POLL_PERIOD=30000
I have set a program that will send a message out for 15S and then the POLL_PERIOD is 30000. I think in the POLL_PERIOD, no message should be sent out, but I can still catch the message every 15 seconds. So I think the method of setting MTD doesn't seem to meet my needs or current MTD example does not work as expected.
Therefore, I also want to ask how to call the function to put the CPU into hibernate state when needed? I didn't find a good example that works, please give me some advice.
Thanks in advance.
Best,
Tao