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 =

Reply via email to