Skip to content

Commit 145e29b

Browse files
MirkoCovizzidivipillai
authored andcommitted
lib: lte_link_control: refactor into modules
Divides the LTE Link Controller into modules. Signed-off-by: Mirko Covizzi <[email protected]> Co-authored-by: divya pillai <[email protected]>
1 parent 09979cb commit 145e29b

File tree

70 files changed

+4920
-3754
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

70 files changed

+4920
-3754
lines changed

applications/asset_tracker_v2/overlay-lwm2m.conf

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ CONFIG_LWM2M_RD_CLIENT_STOP_POLLING_AT_IDLE=y
4545
CONFIG_LWM2M_QUEUE_MODE_UPTIME=30
4646

4747
# Configure PSM mode
48+
CONFIG_LTE_LC_PSM_MODULE=y
4849
CONFIG_LTE_PSM_REQ=y
4950
# Request periodic TAU of 3600 seconds (60 minutes)
5051
CONFIG_LTE_PSM_REQ_RPTAU="00000110"
@@ -56,6 +57,7 @@ CONFIG_LTE_PSM_REQ_RPTAU="00000110"
5657
CONFIG_LTE_PSM_REQ_RAT="00001111"
5758

5859
# Request eDRX mode
60+
CONFIG_LTE_LC_EDRX_MODULE=y
5961
CONFIG_LTE_EDRX_REQ=y
6062

6163
# Requested eDRX cycle length for LTE-M and NB-IoT
@@ -76,6 +78,7 @@ CONFIG_LTE_PTW_VALUE_NBIOT="0000"
7678

7779
# Get notification before Tracking Area Update (TAU). Notification triggers registration
7880
# update and TAU will be sent with the update which decreases power consumption.
81+
CONFIG_LTE_LC_TAU_PRE_WARNING_MODULE=y
7982
CONFIG_LTE_LC_TAU_PRE_WARNING_NOTIFICATIONS=y
8083

8184
# Optimize powersaving by using tickless mode in LwM2M engine

applications/asset_tracker_v2/prj.conf

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,11 @@ CONFIG_LTE_PSM_REQ=y
4646
CONFIG_LTE_PSM_REQ_RPTAU="11000001"
4747
### 20 seconds active time.
4848
CONFIG_LTE_PSM_REQ_RAT="00001010"
49+
### Enable required modules
50+
CONFIG_LTE_LC_EDRX_MODULE=y
51+
CONFIG_LTE_LC_NEIGHBOR_CELL_MEAS_MODULE=y
52+
CONFIG_LTE_LC_PSM_MODULE=y
53+
CONFIG_LTE_LC_MODEM_SLEEP_MODULE=y
4954

5055
# Settings - Used to store real-time device configuration to flash.
5156
CONFIG_SETTINGS=y

doc/nrf/libraries/modem/lte_lc.rst

Lines changed: 78 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,9 @@ Configuration
2020

2121
To enable the library, set the Kconfig option :kconfig:option:`CONFIG_LTE_LINK_CONTROL` to ``y`` in the project configuration file :file:`prj.conf`.
2222

23+
.. note::
24+
By default, the library enables only the core features related to the network connectivity.
25+
2326
Establishing an LTE connection
2427
==============================
2528

@@ -50,18 +53,11 @@ The following block of code shows how you can use the API to establish an LTE co
5053
k_sem_give(&lte_connected);
5154
break;
5255
53-
case LTE_LC_EVT_PSM_UPDATE:
54-
case LTE_LC_EVT_EDRX_UPDATE:
5556
case LTE_LC_EVT_RRC_UPDATE:
5657
case LTE_LC_EVT_CELL_UPDATE:
5758
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:
6359
case LTE_LC_EVT_MODEM_EVENT:
64-
/* Handle LTE events */
60+
/* Handle LTE events that are enabled by default. */
6561
break;
6662
6763
default:
@@ -87,17 +83,72 @@ The following block of code shows how you can use the API to establish an LTE co
8783
}
8884
8985
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`.
9186

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:
106+
107+
* :c:enumerator:`LTE_LC_EVT_NEIGHBOR_CELL_MEAS` events
108+
* :c:func:`lte_lc_neighbor_cell_measurement_cancel`
109+
* :c:func:`lte_lc_neighbor_cell_measurement`
110+
111+
Periodic Search Configuration:
112+
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`
93118

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:
138+
139+
* :c:enumerator:`LTE_LC_EVT_MODEM_SLEEP_EXIT_PRE_WARNING` events
140+
* :c:enumerator:`LTE_LC_EVT_MODEM_SLEEP_ENTER` events
141+
* :c:enumerator:`LTE_LC_EVT_MODEM_SLEEP_EXIT` events
142+
* :kconfig:option:`CONFIG_LTE_LC_MODEM_SLEEP_NOTIFICATIONS`
143+
144+
Tracking Area Update (TAU) Pre-warning:
145+
Use the :kconfig:option:`CONFIG_LTE_LC_TAU_PRE_WARNING_MODULE` Kconfig option to enable the following functionalities related to TAU Pre-warning:
146+
147+
* :c:enumerator:`LTE_LC_EVT_TAU_PRE_WARNING` events
148+
* :kconfig:option:`CONFIG_LTE_LC_TAU_PRE_WARNING_NOTIFICATIONS`
149+
150+
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.
101152

102153
.. note::
103154
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
108159
Enabling power-saving features
109160
==============================
110161

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`
112168

113169
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.
114170
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
131187

132188
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.
133189
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.
134191
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.
135192
The following code snippet shows a basic implementation of :c:func:`lte_lc_conn_eval_params_get`:
136193

@@ -177,8 +234,10 @@ For instance, TAU pre-warning notifications can be used to schedule data transfe
177234

178235
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.
179236

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:
181238

239+
* :kconfig:option:`CONFIG_LTE_LC_MODEM_SLEEP_MODULE`
240+
* :kconfig:option:`CONFIG_LTE_LC_TAU_PRE_WARNING_MODULE`
182241
* :kconfig:option:`CONFIG_LTE_LC_MODEM_SLEEP_NOTIFICATIONS`
183242
* :kconfig:option:`CONFIG_LTE_LC_TAU_PRE_WARNING_NOTIFICATIONS`
184243

doc/nrf/nrf.doxyfile.in

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2464,7 +2464,15 @@ PREDEFINED = __DOXYGEN__ \
24642464
"CONFIG_ZIGBEE_ROLE_END_DEVICE=y" \
24652465
"CONFIG_ZIGBEE_FACTORY_RESET=y" \
24662466
"CONFIG_NRF_CLOUD_GATEWAY=y" \
2467-
"CONFIG_BT_CENTRAL"
2467+
"CONFIG_BT_CENTRAL" \
2468+
"CONFIG_LTE_LC_CONN_EVAL_MODULE=y" \
2469+
"CONFIG_LTE_LC_EDRX_MODULE=y" \
2470+
"CONFIG_LTE_LC_NEIGHBOR_CELL_MEAS_MODULE=y" \
2471+
"CONFIG_LTE_LC_PERIODIC_SEARCH_MODULE=y" \
2472+
"CONFIG_LTE_LC_PSM_MODULE=y" \
2473+
"CONFIG_LTE_LC_RAI_MODULE=y" \
2474+
"CONFIG_LTE_LC_MODEM_SLEEP_MODULE=y" \
2475+
"CONFIG_LTE_LC_TAU_PRE_WARNING_MODULE=y"
24682476

24692477
# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then this
24702478
# tag can be used to specify a list of macro names that should be expanded. The

doc/nrf/releases_and_maturity/migration/migration_guide_2.8.rst

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,71 @@ LTE link control library
139139
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.
140140
In addition, you can control the priority between LTE-M and NB-IoT using the :kconfig:option:`CONFIG_LTE_MODE_PREFERENCE` Kconfig option.
141141

142+
* The library has been reorganized into modules that are enabled via their respective Kconfig options.
143+
This change requires the following updates:
144+
145+
* If your application uses:
146+
147+
* :c:func:`lte_lc_conn_eval_params_get`
148+
149+
You must use the new :kconfig:option:`CONFIG_LTE_LC_CONN_EVAL_MODULE` Kconfig option.
150+
151+
* If your application uses:
152+
153+
* :c:enumerator:`LTE_LC_EVT_EDRX_UPDATE`
154+
* :c:func:`lte_lc_ptw_set`
155+
* :c:func:`lte_lc_edrx_param_set`
156+
* :c:func:`lte_lc_edrx_req`
157+
* :c:func:`lte_lc_edrx_get`
158+
* :kconfig:option:`CONFIG_LTE_EDRX_REQ`
159+
160+
You must use the new :kconfig:option:`CONFIG_LTE_LC_EDRX_MODULE` Kconfig option.
161+
162+
* If your application uses:
163+
164+
* :c:enumerator:`LTE_LC_EVT_NEIGHBOR_CELL_MEAS`
165+
* :c:func:`lte_lc_neighbor_cell_measurement_cancel`
166+
* :c:func:`lte_lc_neighbor_cell_measurement`
167+
168+
You must use the new :kconfig:option:`CONFIG_LTE_LC_NEIGHBOR_CELL_MEAS_MODULE` Kconfig option.
169+
170+
* If your application uses:
171+
172+
* :c:func:`lte_lc_periodic_search_request`
173+
* :c:func:`lte_lc_periodic_search_clear`
174+
* :c:func:`lte_lc_periodic_search_get`
175+
* :c:func:`lte_lc_periodic_search_set`
176+
177+
You must use the new :kconfig:option:`CONFIG_LTE_LC_PERIODIC_SEARCH_MODULE` Kconfig option.
178+
179+
* If your application uses:
180+
181+
* :c:enumerator:`LTE_LC_EVT_PSM_UPDATE`
182+
* :c:func:`lte_lc_psm_param_set`
183+
* :c:func:`lte_lc_psm_param_set_seconds`
184+
* :c:func:`lte_lc_psm_req`
185+
* :c:func:`lte_lc_psm_get`
186+
* :c:func:`lte_lc_proprietary_psm_req`
187+
* :kconfig:option:`CONFIG_LTE_PSM_REQ`
188+
189+
You must use the new :kconfig:option:`CONFIG_LTE_LC_PSM_MODULE` Kconfig option.
190+
191+
* If your application uses:
192+
193+
* :c:enumerator:`LTE_LC_EVT_MODEM_SLEEP_EXIT_PRE_WARNING`
194+
* :c:enumerator:`LTE_LC_EVT_MODEM_SLEEP_ENTER`
195+
* :c:enumerator:`LTE_LC_EVT_MODEM_SLEEP_EXIT`
196+
* :kconfig:option:`CONFIG_LTE_LC_MODEM_SLEEP_NOTIFICATIONS`
197+
198+
You must use the new :kconfig:option:`CONFIG_LTE_LC_MODEM_SLEEP_MODULE` Kconfig option.
199+
200+
* If your application uses:
201+
202+
* :c:enumerator:`LTE_LC_EVT_TAU_PRE_WARNING`
203+
* :kconfig:option:`CONFIG_LTE_LC_TAU_PRE_WARNING_NOTIFICATIONS`
204+
205+
You must use the new :kconfig:option:`CONFIG_LTE_LC_TAU_PRE_WARNING_MODULE` Kconfig option.
206+
142207
AT command parser
143208
-----------------
144209

doc/nrf/releases_and_maturity/releases/release-notes-changelog.rst

Lines changed: 40 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -853,24 +853,18 @@ Modem libraries
853853

854854
* :ref:`lte_lc_readme` library:
855855

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:
872857

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.
874868

875869
* Updated:
876870

@@ -884,6 +878,35 @@ Modem libraries
884878
Refer to the :ref:`migration guide <migration_2.8>` for more details.
885879
* The :c:enum:`lte_lc_reduced_mobility_mode` type has been deprecated.
886880
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.
887910

888911
* :ref:`lib_location` library:
889912

0 commit comments

Comments
 (0)