nRF9151 use sys_poweroff()

I am working on a project with the nRF9151 chip. In this chip, I am using the LTE modem in eDRX mode.

Apart from eDRX mode, I also want to put the MCU into sleep mode.

I have tried several approaches:

  1. The simplest option – using k_sleep();.

  2. The second option – using pm_device_action_run(dev, PM_DEVICE_ACTION_TURN_OFF);

    • Here, dev refers to any peripheral device.
    • However, I couldn't figure out how to put the entire processor into sleep mode. Is this possible?
  3. The third option – I tried using the pm_state_force() function, but it is not available for this processor.

    • The error I get is:
      bash
      # CONFIG_PM was assigned the value y, but got the value n. Missing dependencies:
      # SOC_SERIES_EFR32BG22 || SOC_SERIES_EFR32BG27 || SOC_SERIES_EFR32MG24 || (SOC_SERIES_DA1469X && SOC_FAMILY_RENESAS_SMARTBOND) || (SYS_CLOCK_EXISTS && HAS_PM)

In both the first and second approaches, I did not see any difference in current consumption.
To measure power consumption, I am using PPK2 (Power Profiler Kit 2).

I found a reference in the documentation mentioning the sys_poweroff() function.
Using this function reduced power consumption.

However, I encountered issues with waking up from this mode.
To exit power-off mode, I use a GPIO interrupt, which works fine.

However, I want to use the RTC timer. I tried setting up an RTC-based interrupt,
but it does not trigger from power-off mode.

I haven't found an example of how to correctly use this function on this processor.
Do you have any information or an example of how to use it properly?

Parents Reply Children
No Data
Related