heimenge for NB_IoT i use the modem/lte_lc.h with modem/nrf_modem_lib.h.
If you use NCS 3.2.4, you select NTN in the same ways as NB-IoT or LTE-M. Additionally you need to set your position with AT%LOCATION and it’s also recommended to select the bands 255 and 256 with AT%XBANDLOCK.
For lte_lc_system_mode_set use the new value LTE_LC_SYSTEM_MODE_NTN_NBIOT
#include <modem/ntn.h>
#include <modem/lte_lc.h>
...
ntn_location_set(...)
lte_lc_system_mode_set(LTE_LC_SYSTEM_MODE_NTN_NBIOT, LTE_LC_SYSTEM_MODE_PREFER_AUTO);
(Using ntn_location_set requires to set CONFIG_NTN in prj.conf.)
Statically with prj.conf it’s also a new value
CONFIG_LTE_NETWORK_MODE_NTN_NBIOT=y
CONFIG_LTE_LOCK_BAND_MASK="255,256"
(Don’t select a second CONFIG_LTE_NETWORK_MODE_???)
And also with the %XSYSTEMMODE at-cmd, it’s a new value:
%XSYSTEMMODE=<LTE_M_support>,<NB_IoT_support>,<GNSS_support>,<LTE_preference>[,<NTN_NB_IoT_support>]
...
<NTN_NB_IoT_support> Optional. Sets support for NTN NB-IoT (satellite E-UTRAN in NB-S1 mode).
0 – NTN NB-IoT is not supported.
1 – NTN NB-IoT is supported. Requires all other parameters to be set to 0.
(see nrf91×1_ntn_at_commands_v0.8.1.pdf)
In sum:
For me it looks like the current NCS 3.2.4 C-api only covers some of the required configuration for NTN. But it’s easy to add the missing with AT-cmds and nrf_modem_at_cmd.