This is an automated email from the ASF dual-hosted git repository. xiaoxiang781216 pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/nuttx.git
commit 1b600bd282dd058be40232ca6c989e651f83f09e Author: raiden00pl <[email protected]> AuthorDate: Fri Jun 12 14:20:46 2026 +0200 arch/arm/nrf91: add support for LTE_CMDID_GETCELL add support for LTE_CMDID_GETCELL ioctl call Signed-off-by: raiden00pl <[email protected]> --- arch/arm/src/nrf91/nrf91_modem_sock.c | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/arch/arm/src/nrf91/nrf91_modem_sock.c b/arch/arm/src/nrf91/nrf91_modem_sock.c index 5b89201fc11..4a10e1e9b4d 100644 --- a/arch/arm/src/nrf91/nrf91_modem_sock.c +++ b/arch/arm/src/nrf91/nrf91_modem_sock.c @@ -848,6 +848,38 @@ static int nrf91_ioctl_ltecmd(int fd, int cmd, unsigned long arg) break; } + case LTE_CMDID_GETCELL: + { + lte_cellinfo_t **cell = + (lte_cellinfo_t **)(ltecmd->outparam + 1); + int band = 0; + + (*cell)->valid = false; + (*cell)->phycell_id = 0; + (*cell)->earfcn = 0; + (*cell)->option = 0; + (*cell)->nr_neighbor = 0; + + /* The modem AT set does not expose the raw EARFCN in a form the + * scanf parser here can extract from AT%XMONITOR (quoted fields), so + * report the serving band number via AT%XCBAND in the earfcn field. + */ + + ret = nrf_modem_at_scanf("AT%XCBAND", "%%XCBAND: %d", &band); + if (ret > 0) + { + (*cell)->earfcn = (uint32_t)band; + (*cell)->valid = true; + } + else + { + nerr("AT%%XCBAND failed %d\n", ret); + } + + ret = OK; + break; + } + case LTE_CMDID_SETPSM: { lte_psm_setting_t **psm =
