|
1 | | -# ncs-serial-modem |
2 | | -NCS serial modem application add-on |
| 1 | +# Serial Modem |
| 2 | + |
| 3 | +The Serial Modem Add-On contains the Serial Modem application for nRF91-based devices, and is built on nRF Connect SDK (NCS). |
| 4 | +It includes host examples in the form of the Serial Modem Host library and the Serial Modem Host Shell sample. |
| 5 | + |
| 6 | +## Background |
| 7 | + |
| 8 | +The base of the Serial Modem Add-On has been copied from NCS commit 437f372b37849fe215243f8de48847d578976c13 on 17th Sep 2025. |
| 9 | +The following files and folders where copied: |
| 10 | + |
| 11 | + * `applications/serial_lte_modem` |
| 12 | + * `lib/modem_slm` |
| 13 | + * `samples/cellular/slm_shell` |
| 14 | + * `include/modem/modm_slm.h` |
| 15 | + * `doc/nrf/libraries/modem/modem_slm.rst` |
| 16 | + |
| 17 | +All of the above content will be removed from the NCS before its 3.2.0 release. |
| 18 | + |
| 19 | +The following renaming has been done for filenames, Kconfig options, code symbols, etc.: |
| 20 | + |
| 21 | + * Serial LTE Modem -> Serial Modem |
| 22 | + * slm -> sm |
| 23 | + * Modem SLM library -> Serial Modem Host library |
| 24 | + * modem_slm -> sm_host |
| 25 | + * SLM Shell sample -> Serial Modem Host Shell sample |
| 26 | + * slm_shell -> sm_host_shell |
| 27 | + * `CONFIG_SLM_*` -> `CONFIG_SM_*` |
| 28 | + * `CONFIG_MODEM_SLM_*` -> `CONFIG_SM_HOST_*` |
| 29 | + |
| 30 | +## Documentation |
| 31 | + |
| 32 | +The documentation for the Serial Modem Add-On resides in the `/doc` folder. |
| 33 | +At the moment, the content is a direct copy of the NCS versions. This means that, the RST files are not processed into a human friendly format. This will be improved in the future. |
| 34 | +Documentation can be viewed in Github and it is rendered into some extent but the links are broken. |
| 35 | + |
| 36 | +## Upcoming breaking changes |
| 37 | + |
| 38 | +While majority of the Serial Modem application API remain unchanged from the NCS SLM, there will also be breaking changes from the host implementations perspective in the future releases of the Serial Modem. Here are the most important changes that are planned currently: |
| 39 | + |
| 40 | + * Power and indicate pins will be modified into DTR and RI pins |
| 41 | + * Change default line termination from `<CRLF>` to `<CR>` |
| 42 | + * A `<socket_id>` field added for many socket operations as the first parameter |
| 43 | + * PPP will not start automatically with `AT+CFUN=1` but you need to issue `AT#XPPP=1` before or after `AT+CFUN=1` |
| 44 | + * Renaming: `AT#SLMVER` -> `AT#SMVER` |
| 45 | + * Renaming: `AT#GPS` -> `AT#GNSS` |
| 46 | + * Removing: `AT#XPOLL` (use `AT#XAPOLL`) |
| 47 | + |
| 48 | +## Migration Guide |
| 49 | + |
| 50 | +This section gives instructions on how to migrate from the NCS v3.1.x Serial LTE Modem to the Serial Modem Add-On. |
| 51 | + |
| 52 | + * API and functionality |
| 53 | + * There are no API change or functional changes |
| 54 | + * Even `AT#SLMVER` command has not been renamed |
| 55 | + * Compilation |
| 56 | + * Same commands can be used but you need to do the following renaming if you are setting any Serial Modem related Kconfig options in overlays or command line |
| 57 | + * Rename `CONFIG_SLM_*` -> `CONFIG_SM_*` |
| 58 | + * Rename `CONFIG_MODEM_SLM_*` -> `CONFIG_SM_HOST_*` |
| 59 | + * Code patches |
| 60 | + * Unfortunately, adapting your own code patches will require some work |
| 61 | + * Filenames have been renamed from `slm_`-> `sm_` and `modem_slm`-> `sm_host`. |
| 62 | + * Functions and other symbols in the code have been renamed accordingly making automatic patching error-prone |
| 63 | + |
| 64 | +As the changes start coming the migration guide will be updated. |
0 commit comments