The Nordic-proprietary %XMODEMSLEEP command subscribes modem sleep notifications. Based on the %XMODEMSLEEP indications, the application can optimize its power efficiency by synchronizing its operations to the modem’s sleeps and wake-ups and radio activity and inactivity.v1.3.x
The application can use modem sleep notifications to get information about inactive periods in modem radio usage and to get a prewarning at a desired time before radio activity happens. The modem API works normally, and radio inactivity is interrupted if a command requires the use of the radio or the modem is requested to send data.
When the modem is inactive, certain hardware components can be deactivated, and hardware resources, such as the antenna or battery, can be used for other purposes. Before the predicted end of sleep or before requesting an operation that requires the use of the modem’s radio resources, the application must activate the components that are needed for LTE connections if they have been switched off to save power during modem inactivity.
Some LTE connection use cases are not known on the application domain. For example, an operator applet on Universal Integrated Circuit Card (UICC) can request the modem to set up a data connection. If the LTE connection use case is not known, the modem sends a sleep interrupted notification and has a hardcoded 500 ms delay before it proceeds to set up the connection. If an application has switched off some components, it must handle the notification promptly and switch on the needed components during the delay.
After subscribing the sleep notifications, the first notification is sent when the modem goes to sleep except when the modem is already in deactivated state, which is notified immediately.
For more information on the use of the %XMODEMSLEEP command, see nWP041 - nRF9160 Modem Sleep Notifications.