Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
88 changes: 56 additions & 32 deletions nrf_modem/doc/variant_features.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,42 +3,66 @@
Variants and features
#####################

The Modem library comes in two variants, each with a specific feature set and support for a specific variant of the nRF91 Series firmware.
The Modem library comes in two *variants*, each with a specific feature set and support for the equivalent *modem firmware*.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
The Modem library comes in two *variants*, each with a specific feature set and support for the equivalent *modem firmware*.
The Modem library comes in two variants, each with a specific feature set and support for the equivalent modem firmware.

I think these need not be in italics as these are normal terms used in the docs.


The cellular variant of the Modem library supports the nRF91 Series cellular firmware.
The DECT PHY variant of the Modem library supports the nRF91 Series DECT NR+ PHY firmware.
The cellular variant of the Modem library supports the following modem firmware:

The features of the nRF91 Series firmware that are common across firmware variants, are also common across Modem library variants, for example, SoC management, bootloader, AT commands, and others.
* mfw_nrf9160
* mfw_nrf91x1
* mfw_nrf9151-ntn

The DECT NR+ variant of the Modem library supports the following modem firmware:

* mfw-nr+_nrf91x1

Features that are common across *modem firmware*, are also common across *Modem library variants*.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Features that are common across *modem firmware*, are also common across *Modem library variants*.
Features that are common across modem firmware are also common across Modem library variants.

The table below shows which feature and API is supported in which Modem library variant:

+---------------------------------+--------------------------------+----------+--------------+
| Feature | API header | Cellular | DECT NR+ PHY |
+=================================+================================+==========+==============+
| Modem SoC management | :file:`nrf_modem.h` | Yes | Yes |
+---------------------------------+--------------------------------+----------+--------------+
| :ref:`nrf_modem_fault` | :file:`nrf_modem.h` | Yes | Yes |
+---------------------------------+--------------------------------+----------+--------------+
| :ref:`nrf_modem_trace` | :file:`nrf_modem_trace.h` | Yes | Yes |
+---------------------------------+--------------------------------+----------+--------------+
| :ref:`nrf_modem_bootloader` | :file:`nrf_modem_bootloader.h` | Yes | Yes |
+---------------------------------+--------------------------------+----------+--------------+
| :ref:`nrf_modem_delta_dfu` | :file:`nrf_modem_delta_dfu.h` | Yes | Yes |
+---------------------------------+--------------------------------+----------+--------------+
| :ref:`nrf_modem_log` | :file:`nrf_modem_os.h` | Yes | Yes |
+---------------------------------+--------------------------------+----------+--------------+
| :ref:`nrf_modem_at` | :file:`nrf_modem_at.h` | Yes | Yes |
+---------------------------------+--------------------------------+----------+--------------+
| :ref:`nrf_modem_dect_phy` | :file:`nrf_modem_dect_phy.h` | No | Yes |
+---------------------------------+--------------------------------+----------+--------------+
| :ref:`nrf_sockets` | :file:`nrf_socket.h` | Yes | No |
+---------------------------------+--------------------------------+----------+--------------+
| :ref:`nrf_modem_gnss` | :file:`nrf_modem_gnss.h` | Yes | No |
+---------------------------------+--------------------------------+----------+--------------+
| :ref:`nrf_modem_softsim` | :file:`nrf_modem_softsim.h` | Yes | No |
+---------------------------------+--------------------------------+----------+--------------+
| :ref:`nrf_modem_rs_capture_api` | :file:`nrf_modem_rs_capture.h` | Yes | No |
+---------------------------------+--------------------------------+----------+--------------+
.. table:: Supported features by Modem library variant and modem firmware.

+---------------------------------+--------------------------------+---------------------------------------------+-----------------+
| Feature | API header | Cellular | DECT NR+ |
| | | | |
| | | | |
| | +-------------+-------------+-----------------+-----------------+
| | | mfw_nrf9160 | mfw_nrf91x1 | mfw_nrf9151-ntn | mfw-nr+_nrf91x1 |
+=================================+================================+=============+=============+=================+=================+
| Modem SoC management | :file:`nrf_modem.h` | Yes | Yes |
+---------------------------------+--------------------------------+---------------------------------------------+-----------------+
| :ref:`nrf_modem_fault` | :file:`nrf_modem.h` | Yes | Yes |
+---------------------------------+--------------------------------+---------------------------------------------+-----------------+
| :ref:`nrf_modem_trace` | :file:`nrf_modem_trace.h` | Yes | Yes |
+---------------------------------+--------------------------------+---------------------------------------------+-----------------+
| :ref:`nrf_modem_bootloader` | :file:`nrf_modem_bootloader.h` | Yes | Yes |
+---------------------------------+--------------------------------+---------------------------------------------+-----------------+
| :ref:`nrf_modem_delta_dfu` | :file:`nrf_modem_delta_dfu.h` | Yes | Yes |
+---------------------------------+--------------------------------+---------------------------------------------+-----------------+
| :ref:`nrf_modem_log` | :file:`nrf_modem_os.h` | Yes | Yes |
+---------------------------------+--------------------------------+---------------------------------------------+-----------------+
| :ref:`nrf_modem_at` [#at-note]_ | :file:`nrf_modem_at.h` | Yes | Yes |
+---------------------------------+--------------------------------+---------------------------------------------+-----------------+
| :ref:`nrf_modem_dect_phy` | :file:`nrf_modem_dect_phy.h` | No | Yes |
+---------------------------------+--------------------------------+---------------------------------------------+-----------------+
| :ref:`nrf_sockets` | :file:`nrf_socket.h` | Yes | No |
+---------------------------------+--------------------------------+---------------------------------------------+-----------------+
| :ref:`nrf_modem_gnss` | :file:`nrf_modem_gnss.h` | Yes | No |
+---------------------------------+--------------------------------+-------------+-------------+-----------------+-----------------+
| :ref:`nrf_modem_softsim` | :file:`nrf_modem_softsim.h` | No | Yes | Yes | No |
+---------------------------------+--------------------------------+-------------+-------------+-----------------+-----------------+
| :ref:`nrf_modem_rs_capture_api` | :file:`nrf_modem_rs_capture.h` | No | Yes | Yes | No |
+---------------------------------+--------------------------------+-------------+-------------+-----------------+-----------------+

.. [#at-note] Although the Modem library AT interface is fully supported by both Modem library variants, the AT command set supported by the cellular modem firmware and the DECT NR+ modem firmware is different.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could remove the footnote as it is not used in the table.

.. note::
Although the Modem library AT interface is fully supported by both Modem library variants, the AT command set supported by the cellular and DECT NR+ PHY firmware is different.
The different APIs may have certain subsets of functionality that are only supported by certain modem firmware and modem firmware versions.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
The different APIs may have certain subsets of functionality that are only supported by certain modem firmware and modem firmware versions.
The different APIs might have certain subsets of functionality that are only supported by certain modem firmware and modem firmware versions.

For example, :ref:`nrf_sockets` is supported for all cellular firmware products (and Modem library variants), but the socket option ``NRF_SO_SEC_CIPHERSUITE_USED`` is not suported by mfw_nrf9160.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
For example, :ref:`nrf_sockets` is supported for all cellular firmware products (and Modem library variants), but the socket option ``NRF_SO_SEC_CIPHERSUITE_USED`` is not suported by mfw_nrf9160.
For example, :ref:`nrf_sockets` is supported for all cellular firmware (and Modem library variants), but the socket option ``NRF_SO_SEC_CIPHERSUITE_USED`` is not supported by mfw_nrf9160.

Exceptions like this are documented with notes like the one below:

.. code-block:: c
/**
* @note This is only supported by the following modem firmware products:
Comment on lines +60 to +65
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Exceptions like this are documented with notes like the one below:
.. code-block:: c
/**
* @note This is only supported by the following modem firmware products:
Exceptions like this are documented with notes like the following in the header files:
.. code-block:: c
/**
* @note This is only supported by the following modem firmware:

Maybe we could mention that it is documented in the header file?

* - mfw_nrf91x1
* - mfw_nrf9151-ntn
*/