Configuring PSM, eDRX, RAI for lowest possible power.

Environment

  • My hardware is the nRF9151DK dev kit and a custom board with nRF9151 (Monkeytronics Airsmart Cellular Beta 3).
  • Using nRF tools and SDK v3.1.1.
  • Using Onomondo and softsim - which incidentally is causing some trouble.
  • Based in New Zealand and currently on Spark network. 

Goal (simplified) - this is what I want to achieve.

  • Wake every hour, take some readings and send uplink packet of 100 - 500 bytes. 
  • Occasionally, a downlink packet will be sent upon receipt of uplink. Will be held pending in Monkeytronics cloud.
  • Achieve lowest possible average power consumption. 

Power Saving Plan

  • PSM enabled.
  • Periodic tau = 24 hours ("00111000")
  • Active time = 12 s ("00000110")
  • eDRX enabled.
  • eDRX period = 5.12 s ("0000")
  • PTW = 1.28 s ("0000")
  • RAI Enabled.

Questions

  1. Are the above settings sensible? And well suited to achieving lowest power consumption?
  2. Is there any reason why these settings might be unachievable with Spark NZ? I will also contact them to check.
    1. Note a): the lte event handler sees "network is rejecting the PSM paramaters (with active  time = -1)".
    2. Note b) the lte event handler see RAI event only once and logs: "MCC: 530, MNC: 5, AS RAI: false, CP RAI: false".
  3. Can you confirm if either or both of the following approaches will successfully implement the above power saving plan:

## PSM
CONFIG_LTE_PSM_REQ=y
CONFIG_LTE_LC_PSM_MODULE=y

## eDRX
CONFIG_LTE_EDRX_REQ=y
CONFIG_LTE_LC_EDRX_MODULE=y

## RAI
CONFIG_LTE_RAI_REQ=y
CONFIG_LTE_LC_RAI_MODULE=y

/* just after nrf_modem_lib_init() */

lte_lc_psm_param_set("00111000", "00000110"); // 24 hours &12 seconds
lte_lc_psm_req(true);

lte_lc_ptw_set(LTE_LC_LTE_MODE_LTEM, "0000"); // 1.28 seconds
lte_lc_edrx_param_set(LTE_LC_LTE_MODE_LTEM,"0000"); // 5.12 seconds
lte_lc_edrx_req(true);

rai_set();

Parents Reply Children
No Data
Related