Hello,
I'm working on getting PSM mode in LTE-M working so I can go to very low current operation between transmits to the cloud. I have things working pretty well, but I'm confused about the current usage profile.
Here's my prj.conf
# # Copyright (c) 2019 Nordic Semiconductor ASA # # SPDX-License-Identifier: LicenseRef-BSD-5-Clause-Nordic # # Networking CONFIG_NETWORKING=y CONFIG_NET_NATIVE=n CONFIG_NET_SOCKETS_OFFLOAD=y CONFIG_NET_SOCKETS=y CONFIG_NET_SOCKETS_POSIX_NAMES=y CONFIG_NET_SOCKETS_SOCKOPT_TLS=y CONFIG_MQTT_LIB_TLS=y CONFIG_MQTT_CLIENT_ID="nrf9160dk" CONFIG_MQTT_PUB_TOPIC="publish/nrf9160dk" CONFIG_MQTT_SUB_TOPIC="subscribe/nrf9160dk" CONFIG_SEC_TAG=97749774 CONFIG_MQTT_BROKER_HOSTNAME="a21ja4pkq6bzwh-ats.iot.us-west-2.amazonaws.com" CONFIG_MQTT_BROKER_PORT=8883 CONFIG_PEER_VERIFY=1 # LTE link control CONFIG_LTE_LINK_CONTROL=y CONFIG_LTE_LINK_CONTROL_LOG_LEVEL_DBG=n CONFIG_LTE_AUTO_INIT_AND_CONNECT=n CONFIG_NRF_MODEM_LIB=y # CONFIG_LTE_NETWORK_MODE_LTE_M_GPS=y CONFIG_LTE_NETWORK_MODE_LTE_M=y CONFIG_LTE_PSM_REQ_RPTAU="01000010" # 10 hour unit, 20 hours total CONFIG_LTE_PSM_REQ_RAT="00000000" # 2 second unit, 24 seconds total # TELUS gives: # +CEREG notification: +CEREG: 1,"2B13","01ECBD0B",7,,,"00100011","01001011" # RAT: 001 00011 -> 1 minutes unit, 3 minutes total # RPTAU: 010 01011 -> 10 hours unit, 11 hours total # CONFIG_POWER_OPTIMIZATION_ENABLE=y # +CEREG notification: +CEREG: 1,"2B13","01ECC90C",7,,,"00100011","01001011" # TAU: 396000 sec, active time: 180 sec # "%XMONITOR: 1,\"TELUS\",\"TELUS\",\"302220\",\"2B13\",7,12,\"01ECC90C\",9,5145,44,27,\"\",\"00100011\",\"01001011\",\"01001010\"\r\n", # TAUEXT: 10 hours multiple, value is 11. 10*3600*11 = 396000 sec # ACTIVE TIMER: 1 minute multiple, value is 3. 3*60 = 180 sec # BSD library CONFIG_BSD_LIBRARY=y # AT Host CONFIG_UART_INTERRUPT_DRIVEN=y CONFIG_AT_HOST_LIBRARY=n # Enable SUPL client support CONFIG_SUPL_CLIENT_LIB=n # CONFIG_BSD_LIBRARY_TRACE_ENABLED=y # CONFIG_STDOUT_CONSOLE=n # CONFIG_LOG=n # CONFIG_SERIAL=n # CONFIG_GPIO=n CONFIG_LTE_LINK_CONTROL_LOG_LEVEL_DBG=y CONFIG_NEWLIB_LIBC=y CONFIG_NEWLIB_LIBC_FLOAT_PRINTF=n CONFIG_CJSON_LIB=y CONFIG_AT_CMD=y CONFIG_AT_NOTIF=y CONFIG_DK_LIBRARY=y CONFIG_DK_LIBRARY_INVERT_LEDS=n CONFIG_NET_LOG=y # CONFIG_MQTT_LOG_LEVEL_DBG=y # MQTT CONFIG_MQTT_LIB=y # Appliaction #CONFIG_MQTT_PUB_TOPIC="/my/publish/topic" #CONFIG_MQTT_SUB_TOPIC="/my/subscribe/topic" #CONFIG_MQTT_CLIENT_ID="my-client-id" #CONFIG_MQTT_BROKER_HOSTNAME="mqtt.eclipse.org" #CONFIG_MQTT_BROKER_PORT=1883 # Main thread CONFIG_MAIN_STACK_SIZE=4096 CONFIG_HEAP_MEM_POOL_SIZE=2048
You can see that my TAU timer is set to 20 hours and my RAT timer is set to 0 (no active time).
This works, and I observe the periodic TAU in the current profile.
However, when I transmit, I get this current profile:
The part highlighted in dark grey is what's confusing me. It's about 20 seconds long and is a series of impulses about 320ms apart. What is this? My RAT timer is zero and if I make it non-zero, the active time is just tagged onto the end of the profile above. Is there a way I can adjust or possibly remove this 20 seconds of impulses to keep current consumption low?
Thanks!