You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: doc/nrf/libraries/modem/lte_lc.rst
+78-19Lines changed: 78 additions & 19 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -20,6 +20,9 @@ Configuration
20
20
21
21
To enable the library, set the Kconfig option :kconfig:option:`CONFIG_LTE_LINK_CONTROL` to ``y`` in the project configuration file :file:`prj.conf`.
22
22
23
+
.. note::
24
+
By default, the library enables only the core features related to the network connectivity.
25
+
23
26
Establishing an LTE connection
24
27
==============================
25
28
@@ -50,18 +53,11 @@ The following block of code shows how you can use the API to establish an LTE co
50
53
k_sem_give(<e_connected);
51
54
break;
52
55
53
-
case LTE_LC_EVT_PSM_UPDATE:
54
-
case LTE_LC_EVT_EDRX_UPDATE:
55
56
case LTE_LC_EVT_RRC_UPDATE:
56
57
case LTE_LC_EVT_CELL_UPDATE:
57
58
case LTE_LC_EVT_LTE_MODE_UPDATE:
58
-
case LTE_LC_EVT_TAU_PRE_WARNING:
59
-
case LTE_LC_EVT_NEIGHBOR_CELL_MEAS:
60
-
case LTE_LC_EVT_MODEM_SLEEP_EXIT_PRE_WARNING:
61
-
case LTE_LC_EVT_MODEM_SLEEP_EXIT:
62
-
case LTE_LC_EVT_MODEM_SLEEP_ENTER:
63
59
case LTE_LC_EVT_MODEM_EVENT:
64
-
/* Handle LTE events */
60
+
/* Handle LTE events that are enabled by default. */
65
61
break;
66
62
67
63
default:
@@ -87,17 +83,72 @@ The following block of code shows how you can use the API to establish an LTE co
87
83
}
88
84
89
85
The code block demonstrates how you can use the library to asynchronously set up an LTE connection.
90
-
For more information on the callback events received in :c:type:`lte_lc_evt_handler_t` and data associated with each event, see the documentation on :c:struct:`lte_lc_evt`.
91
86
92
-
The following list mentions some of the information that can be extracted from the received callback events:
87
+
Additionally, to enable specific functionalities and receive specific events from the library, you must enable the corresponding modules through their respective Kconfig options:
88
+
89
+
Connection Parameters Evaluation:
90
+
Use the :kconfig:option:`CONFIG_LTE_LC_CONN_EVAL_MODULE` Kconfig option to enable the following functionality related to Connection Parameters Evaluation:
91
+
92
+
* :c:func:`lte_lc_conn_eval_params_get`
93
+
94
+
eDRX (Extended Discontinuous Reception):
95
+
Use the :kconfig:option:`CONFIG_LTE_LC_EDRX_MODULE` Kconfig option to enable all the following functionalities related to eDRX:
96
+
97
+
* :c:enumerator:`LTE_LC_EVT_EDRX_UPDATE` events
98
+
* :c:func:`lte_lc_ptw_set`
99
+
* :c:func:`lte_lc_edrx_param_set`
100
+
* :c:func:`lte_lc_edrx_req`
101
+
* :c:func:`lte_lc_edrx_get`
102
+
* :kconfig:option:`CONFIG_LTE_EDRX_REQ`
103
+
104
+
Neighboring Cell Measurements:
105
+
Use the :kconfig:option:`CONFIG_LTE_LC_NEIGHBOR_CELL_MEAS_MODULE` Kconfig option to enable all the following functionalities related to Neighboring Cell Measurements:
Use the :kconfig:option:`CONFIG_LTE_LC_PERIODIC_SEARCH_MODULE` Kconfig option to enable all the following functionalities related to Periodic Search Configuration:
113
+
114
+
* :c:func:`lte_lc_periodic_search_request`
115
+
* :c:func:`lte_lc_periodic_search_clear`
116
+
* :c:func:`lte_lc_periodic_search_get`
117
+
* :c:func:`lte_lc_periodic_search_set`
93
118
94
-
* Network registration status
95
-
* PSM parameters
96
-
* eDRX parameters
97
-
* RRC connection state
98
-
* Cell information
99
-
* TAU pre-warning notifications
100
-
* Modem sleep notifications
119
+
PSM (Power Saving Mode):
120
+
Use the :kconfig:option:`CONFIG_LTE_LC_PSM_MODULE` Kconfig option to enable all the following functionalities related to PSM:
121
+
122
+
* :c:enumerator:`LTE_LC_EVT_PSM_UPDATE` events
123
+
* :c:func:`lte_lc_psm_param_set`
124
+
* :c:func:`lte_lc_psm_param_set_seconds`
125
+
* :c:func:`lte_lc_psm_req`
126
+
* :c:func:`lte_lc_psm_get`
127
+
* :c:func:`lte_lc_proprietary_psm_req`
128
+
* :kconfig:option:`CONFIG_LTE_PSM_REQ`
129
+
130
+
Release Assistance Indication (RAI):
131
+
Use the :kconfig:option:`CONFIG_LTE_LC_RAI_MODULE` Kconfig option to enable the following functionalities related to RAI:
132
+
133
+
* :c:enumerator:`LTE_LC_EVT_RAI_UPDATE` events
134
+
* :kconfig:option:`CONFIG_LTE_RAI_REQ`
135
+
136
+
Modem Sleep Notifications:
137
+
Use the :kconfig:option:`CONFIG_LTE_LC_MODEM_SLEEP_MODULE` Kconfig option to enable all the following functionalities related to Modem Sleep Notifications:
For more information on the callback events received in :c:type:`lte_lc_evt_handler_t` and data associated with each event, see the documentation on :c:struct:`lte_lc_evt`.
151
+
For more information on the functions and data associated with each, refer to the API documentation.
101
152
102
153
.. note::
103
154
Some of the functionalities might not be compatible with certain modem firmware versions.
@@ -108,7 +159,12 @@ The following list mentions some of the information that can be extracted from t
108
159
Enabling power-saving features
109
160
==============================
110
161
111
-
The recommended way of enabling power saving features is to use the Kconfig options :kconfig:option:`CONFIG_LTE_PSM_REQ` and :kconfig:option:`CONFIG_LTE_EDRX_REQ`.
162
+
To enable power-saving features, use the following options:
163
+
164
+
* :kconfig:option:`CONFIG_LTE_LC_PSM_MODULE`
165
+
* :kconfig:option:`CONFIG_LTE_LC_EDRX_MODULE`
166
+
* :kconfig:option:`CONFIG_LTE_LC_PSM_REQ`
167
+
* :kconfig:option:`CONFIG_LTE_LC_EDRX_REQ`
112
168
113
169
PSM and eDRX can also be requested at run time using the :c:func:`lte_lc_psm_req` and :c:func:`lte_lc_edrx_req` function calls.
114
170
However, calling the functions during modem initialization can lead to conflicts with the value set by the Kconfig options.
@@ -131,6 +187,7 @@ Connection pre-evaluation
131
187
132
188
Modem firmware version 1.3.0 and higher supports connection a pre-evaluation feature that allows the application to get information about a cell that is likely to be used for an RRC connection.
133
189
Based on the parameters received in the function call, the application can decide whether to send application data or not.
190
+
To enable this module, use the :kconfig:option:`CONFIG_LTE_LC_CONN_EVAL_MODULE` Kconfig option.
134
191
The function :c:func:`lte_lc_conn_eval_params_get` populates a structure of type :c:struct:`lte_lc_conn_eval_params` that includes information on the current consumption cost by the data transmission when utilizing the given cell.
135
192
The following code snippet shows a basic implementation of :c:func:`lte_lc_conn_eval_params_get`:
136
193
@@ -177,8 +234,10 @@ For instance, TAU pre-warning notifications can be used to schedule data transfe
177
234
178
235
Modem sleep notifications can be used to schedule processing in the same operational window as the modem to limit the overall computation time of the nRF91 Series SiP.
179
236
180
-
To enable modem sleep and TAU pre-warning notifications, enable the following options:
237
+
To enable modem sleep and TAU pre-warning notifications, use the following options:
Copy file name to clipboardExpand all lines: doc/nrf/releases_and_maturity/releases/release-notes-changelog.rst
+40-17Lines changed: 40 additions & 17 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -853,24 +853,18 @@ Modem libraries
853
853
854
854
* :ref:`lte_lc_readme` library:
855
855
856
-
* Removed:
857
-
858
-
* The :c:func:`lte_lc_init` function.
859
-
All instances of this function can be removed without any additional actions.
860
-
* The :c:func:`lte_lc_deinit` function.
861
-
Use the :c:func:`lte_lc_power_off` function instead.
862
-
* The :c:func:`lte_lc_init_and_connect` function.
863
-
Use the :c:func:`lte_lc_connect` function instead.
864
-
* The :c:func:`lte_lc_init_and_connect_async` function.
865
-
Use the :c:func:`lte_lc_connect_async` function instead.
866
-
* The ``CONFIG_LTE_NETWORK_USE_FALLBACK`` Kconfig option.
867
-
Use the :kconfig:option:`CONFIG_LTE_NETWORK_MODE_LTE_M_NBIOT` or :kconfig:option:`CONFIG_LTE_NETWORK_MODE_LTE_M_NBIOT_GPS` Kconfig option instead.
868
-
In addition, you can control the priority between LTE-M and NB-IoT using the :kconfig:option:`CONFIG_LTE_MODE_PREFERENCE` Kconfig option.
869
-
870
-
* Deprecated the :c:macro:`LTE_LC_ON_CFUN` macro.
871
-
Use the :c:macro:`NRF_MODEM_LIB_ON_CFUN` macro instead.
856
+
* Added:
872
857
873
-
* Added a new :c:enumerator:`LTE_LC_EVT_RAI_UPDATE` event that is enabled with the :kconfig:option:`CONFIG_LTE_RAI_REQ` Kconfig option.
858
+
* The :kconfig:option:`CONFIG_LTE_LC_CONN_EVAL_MODULE` Kconfig option to enable the Connection Parameters Evaluation module.
859
+
* The :kconfig:option:`CONFIG_LTE_LC_EDRX_MODULE` Kconfig option to enable the eDRX module.
860
+
* The :kconfig:option:`CONFIG_LTE_LC_NEIGHBOR_CELL_MEAS_MODULE` Kconfig option to enable the Neighboring Cell Measurements module.
861
+
* The :kconfig:option:`CONFIG_LTE_LC_PERIODIC_SEARCH_MODULE` Kconfig option to enable the Periodic Search Configuration module.
862
+
* The :kconfig:option:`CONFIG_LTE_LC_PSM_MODULE` Kconfig option to enable the PSM module.
863
+
* The :kconfig:option:`CONFIG_LTE_LC_RAI_MODULE` Kconfig option to enable the RAI module.
864
+
* The :kconfig:option:`CONFIG_LTE_LC_MODEM_SLEEP_MODULE` Kconfig option to enable the Modem Sleep Notifications module.
865
+
* The :kconfig:option:`CONFIG_LTE_LC_TAU_PRE_WARNING_MODULE` Kconfig option to enable the TAU Pre-warning module.
866
+
* The :c:enumerator:`LTE_LC_EVT_RAI_UPDATE` event that is enabled with the :kconfig:option:`CONFIG_LTE_RAI_REQ` Kconfig option.
867
+
This requires the :kconfig:option:`CONFIG_LTE_LC_RAI_MODULE` Kconfig option to be enabled.
874
868
875
869
* Updated:
876
870
@@ -884,6 +878,35 @@ Modem libraries
884
878
Refer to the :ref:`migration guide <migration_2.8>` for more details.
885
879
* The :c:enum:`lte_lc_reduced_mobility_mode` type has been deprecated.
886
880
Refer to the :ref:`migration guide <migration_2.8>` for more details.
881
+
* The library was reorganized into modules that are enabled through their respective Kconfig options.
882
+
By default, the library now enables only the core features related to the network connectivity.
883
+
This reorganization reduces flash memory consumption for applications that only use the core features of the library related to network connectivity.
884
+
For more information on how to update your project, see the :ref:`migration guide <migration_2.8_required>`.
885
+
886
+
* The :c:func:`lte_lc_conn_eval_params_get` function now requires the new :kconfig:option:`CONFIG_LTE_LC_CONN_EVAL_MODULE` Kconfig option to be enabled.
887
+
* The :c:enumerator:`LTE_LC_EVT_EDRX_UPDATE` event and the :c:func:`lte_lc_ptw_set`, :c:func:`lte_lc_edrx_param_set`, :c:func:`lte_lc_edrx_req`, and :c:func:`lte_lc_edrx_get` functions require the new :kconfig:option:`CONFIG_LTE_LC_EDRX_MODULE` Kconfig option to be enabled.
888
+
* The :c:enumerator:`LTE_LC_EVT_NEIGHBOR_CELL_MEAS` event and the :c:func:`lte_lc_neighbor_cell_measurement_cancel`, and :c:func:`lte_lc_neighbor_cell_measurement` functions require the new :kconfig:option:`CONFIG_LTE_LC_NEIGHBOR_CELL_MEAS_MODULE` Kconfig option to be enabled.
889
+
* The :c:func:`lte_lc_periodic_search_request`, :c:func:`lte_lc_periodic_search_clear`, :c:func:`lte_lc_periodic_search_get`, and :c:func:`lte_lc_periodic_search_set` functions require the new :kconfig:option:`CONFIG_LTE_LC_PERIODIC_SEARCH_MODULE` Kconfig option to be enabled.
890
+
* The :c:enumerator:`LTE_LC_EVT_PSM_UPDATE` event and the :c:func:`lte_lc_psm_param_set`, :c:func:`lte_lc_psm_param_set_seconds`, :c:func:`lte_lc_psm_req`, :c:func:`lte_lc_psm_get`, and :c:func:`lte_lc_proprietary_psm_req` functions require the new :kconfig:option:`CONFIG_LTE_LC_PSM_MODULE` Kconfig option to be enabled.
891
+
* The :c:enumerator:`LTE_LC_EVT_MODEM_SLEEP_EXIT_PRE_WARNING`, :c:enumerator:`LTE_LC_EVT_MODEM_SLEEP_ENTER`, and :c:enumerator:`LTE_LC_EVT_MODEM_SLEEP_EXIT` events require the new :kconfig:option:`CONFIG_LTE_LC_MODEM_SLEEP_MODULE` Kconfig option to be enabled.
892
+
* The :c:enumerator:`LTE_LC_EVT_TAU_PRE_WARNING` event requires the new :kconfig:option:`CONFIG_LTE_LC_TAU_PRE_WARNING_MODULE` Kconfig option to be enabled.
893
+
894
+
* Deprecated the :c:macro:`LTE_LC_ON_CFUN` macro.
895
+
Use the :c:macro:`NRF_MODEM_LIB_ON_CFUN` macro instead.
896
+
897
+
* Removed:
898
+
899
+
* The :c:func:`lte_lc_init` function.
900
+
All instances of this function can be removed without any additional actions.
901
+
* The :c:func:`lte_lc_deinit` function.
902
+
Use the :c:func:`lte_lc_power_off` function instead.
903
+
* The :c:func:`lte_lc_init_and_connect` function.
904
+
Use the :c:func:`lte_lc_connect` function instead.
905
+
* The :c:func:`lte_lc_init_and_connect_async` function.
906
+
Use the :c:func:`lte_lc_connect_async` function instead.
907
+
* The ``CONFIG_LTE_NETWORK_USE_FALLBACK`` Kconfig option.
908
+
Use the :kconfig:option:`CONFIG_LTE_NETWORK_MODE_LTE_M_NBIOT` or :kconfig:option:`CONFIG_LTE_NETWORK_MODE_LTE_M_NBIOT_GPS` Kconfig option instead.
909
+
In addition, you can control the priority between LTE-M and NB-IoT using the :kconfig:option:`CONFIG_LTE_MODE_PREFERENCE` Kconfig option.
0 commit comments