|
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 were 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 | + * `CONFIG_SLM_*` -> `CONFIG_SM_*` |
| 24 | + * Modem SLM library -> Serial Modem Host library |
| 25 | + * modem_slm -> sm_host |
| 26 | + * `CONFIG_MODEM_SLM_*` -> `CONFIG_SM_HOST_*` |
| 27 | + * SLM Shell sample -> Serial Modem Host Shell sample |
| 28 | + * slm_shell -> sm_host_shell |
| 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. NCS v3.1.x Serial LTE Modem documentation is still valid and can be used as a reference. |
| 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 Add-On. Here are the most important changes that are planned currently: |
| 39 | + |
| 40 | + * Power and indicate pins modified into DTR and RI pins |
| 41 | + * Default line termination changed from `<CRLF>` to `<CR>` |
| 42 | + * A `<socket_id>` field added for many socket operations as the first parameter |
| 43 | + * Support for multiple TCP/UDP clients |
| 44 | + * PPP will not start automatically with `AT+CFUN=1` but you need to issue `AT#XPPP=1` before or after `AT+CFUN=1` |
| 45 | + * Renaming: `AT#SLMVER` -> `AT#SMVER` |
| 46 | + * Renaming: `AT#GPS` -> `AT#GNSS` |
| 47 | + * Removing: `AT#XPOLL` (use `AT#XAPOLL`) |
| 48 | + |
| 49 | +## Migration Guide |
| 50 | + |
| 51 | +This section gives instructions on how to migrate from the NCS v3.1.x Serial LTE Modem to the Serial Modem Add-On: |
| 52 | + |
| 53 | + * API and functionality |
| 54 | + * There are no API change or functional changes |
| 55 | + * Even `AT#SLMVER` command has not been renamed yet |
| 56 | + * Compilation |
| 57 | + * 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 |
| 58 | + * Rename `CONFIG_SLM_*` -> `CONFIG_SM_*` |
| 59 | + * Rename `CONFIG_MODEM_SLM_*` -> `CONFIG_SM_HOST_*` |
| 60 | + * Code patches |
| 61 | + * Unfortunately, adapting your own code patches will require some work |
| 62 | + * Filenames have been renamed: `slm_`-> `sm_` and `modem_slm`-> `sm_host`. |
| 63 | + * Functions and other symbols in the code have been renamed accordingly making automatic patching to likely fail |
| 64 | + |
| 65 | +As the breaking changes to the Serial Modem Add-On are done, the migration guide will be updated. |
0 commit comments