Skip to content

Commit

Permalink
nrf_modem: add dectphy flavour
Browse files Browse the repository at this point in the history
Add libmodem dectphy flavour.

Signed-off-by: Eivind Jølsgard <eivind.jolsgard@nordicsemi.no>
Signed-off-by: Emanuele Di Santo <emdi@nordicsemi.no>
  • Loading branch information
eivindj-nordic authored and lemrey committed May 7, 2024
1 parent 632aa46 commit 02eccf3
Show file tree
Hide file tree
Showing 36 changed files with 1,739 additions and 72 deletions.
12 changes: 10 additions & 2 deletions doc/links.txt
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,8 @@

.. ### Source: www.nordicsemi.com

.. _`nRF9161 DECT NR+ product specification`: https://docs.nordicsemi.com/bundle/ps_nrf9161/page/dect.html

.. _`nRF9160 modem firmware zip file`: https://www.nordicsemi.com/Products/Low-power-cellular-IoT/nRF9160/Download#0B34B59935AF4AFCB7AB93E9646C1F53

.. _`nRF91x1 LTE firmware zip file`: https://www.nordicsemi.com/Products/nRF9161/Download#636701B052474E5A8EB903C56678D26E
Expand Down Expand Up @@ -93,8 +95,6 @@
.. _`Mbed TLS backend`: https://tls.mbed.org/
.. _`article on reducing Mbed TLS memory and storage footprint`: https://tls.mbed.org/kb/how-to/reduce-mbedtls-memory-and-storage-footprint

.. _`Beej's Guide to Network Programming`: https://beej.us/guide/bgnet/

.. _`NMEA`: https://www.gpsworld.com/what-exactly-is-gps-nmea-data/

.. _`NMEA report sample`: http://aprs.gids.nl/nmea/#gsa
Expand All @@ -112,3 +112,11 @@
.. _`Wireshark`: https://www.wireshark.org/

.. _`3GPP TS 24.301 Technical Specification`: https://www.3gpp.org/DynaReport/24301.htm

.. _`ETSI EN 301 406-2`: https://etsi.org/deliver/etsi_en/301400_301499/30140602/03.01.01_60/en_30140602v030101p.pdf

.. _`ETSI TS 103 636-2`: https://www.etsi.org/deliver/etsi_ts/103600_103699/10363602/01.03.01_60/ts_10363602v010301p.pdf

.. _`47 CFR Part 15`: https://www.ecfr.gov/current/title-47/part-15

.. _`47 CFR Part 15.323`: https://www.ecfr.gov/current/title-47/section-15.323
10 changes: 8 additions & 2 deletions nrf_modem/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
#

if(CONFIG_NRF_MODEM_LINK_BINARY)
if(CONFIG_NRF_MODEM_LINK_BINARY_CELLULAR OR CONFIG_NRF_MODEM_LINK_BINARY_DECT_PHY)

if(NOT ${CONFIG_SOC} MATCHES "^nrf9160$" AND NOT ${CONFIG_SOC} MATCHES "^nrf91[356]1$")
message(FATAL_ERROR "Unknown SOC. Expected (nrf9160, nrf9131, nrf9151, nrf9161), "
Expand All @@ -26,7 +26,11 @@ if(CONFIG_NRF_MODEM_LINK_BINARY)
set(float_dir soft-float)
endif()

set(NRF_MODEM_LIB_DIR "lib/${arch_soc_dir}/${float_dir}")
if(CONFIG_NRF_MODEM_LINK_BINARY_CELLULAR)
set(NRF_MODEM_LIB_DIR "lib/cellular/${arch_soc_dir}/${float_dir}")
elseif(CONFIG_NRF_MODEM_LINK_BINARY_DECT_PHY)
set(NRF_MODEM_LIB_DIR "lib/dect_phy/${arch_soc_dir}/${float_dir}")
endif()

if(CONFIG_NRF_MODEM_LOG)
zephyr_library_import(modem ${CMAKE_CURRENT_SOURCE_DIR}/${NRF_MODEM_LIB_DIR}/libmodem_log.a)
Expand All @@ -36,4 +40,6 @@ if(CONFIG_NRF_MODEM_LINK_BINARY)

zephyr_include_directories(include)

target_sources(app PRIVATE shmem.c)

endif()
14 changes: 8 additions & 6 deletions nrf_modem/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -15,21 +15,23 @@ choice NRF_MODEM_BUILD_STRATEGY
depends on NRF_MODEM
prompt "Build strategy"

config NRF_MODEM_LINK_BINARY
bool "Link binary"
config NRF_MODEM_LINK_BINARY_CELLULAR
bool "Link cellular binary"

config NRF_MODEM_LINK_BINARY_DECT_PHY
bool "Link DECT PHY binary"
endchoice

config NRF_MODEM_LOG
depends on NRF_MODEM_LINK_BINARY
depends on NRF_MODEM_LINK_BINARY_CELLULAR || NRF_MODEM_LINK_BINARY_DECT_PHY
bool "Link binary with logs"
help
Links the application with the library version capable of emitting logs.
This increases the final size of the application.

endmenu

# This configuration is auto-generated.
# Do not edit.
config NRF_MODEM_SHMEM_CTRL_SIZE
hex
default 0x4e8 # import
default 0x728 if NRF_MODEM_LINK_BINARY_DECT_PHY
default 0x4e8
10 changes: 4 additions & 6 deletions nrf_modem/README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,25 +3,23 @@
Modem library
#############

The Modem library is the primary interface for operating the nRF91 Series modem, establishing the LTE-M and NB-IoT connections, and receiving the position data (GPS).
The library aims to be compatible with the POSIX socket APIs to simplify writing and porting of existing networking applications.

To get started with socket programming, you can check out some introductions and tutorials, such as `Beej's Guide to Network Programming`_.
The Modem library is a binary library that provides a set of APIs that enable the use of the nRF91 Series modem by the application processor of the nRF91 Series SiP.

The Modem library is portable, you can use it with any RTOS.
For more information, see :ref:`nrf_modem_ug_porting`.
For more information about porting, see :ref:`nrf_modem_ug_porting`.

.. toctree::
:maxdepth: 1
:caption: Subpages:

doc/architecture
doc/supported_features
doc/variant_features
doc/sockets
doc/at_interface
doc/gnss_interface
doc/bootloader
doc/delta_dfu
doc/dectphy
doc/softsim_interface
doc/fault_handling
doc/modem_trace
Expand Down
11 changes: 11 additions & 0 deletions nrf_modem/doc/CHANGELOG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,17 @@ Changelog

All notable changes to this project are documented in this file.

nrf_modem
*********

The library is now released in two variants, with different feature sets and support for different variants of the nRF91 Series firmware.

DECT NR+
========

* Added new interface for DECT NR+ PHY firmware.


nrf_modem 2.6.1
***************

Expand Down
14 changes: 11 additions & 3 deletions nrf_modem/doc/api.rst
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ nrf_modem_init() return values for modem firmware updates
:project: nrfxlib
:members:

.. _nrf_modem_trace:
.. _nrf_modem_trace_api:

Modem traces
============
Expand All @@ -30,7 +30,7 @@ Modem traces
:project: nrfxlib
:members:

.. _nrf_modem_fault:
.. _nrf_modem_fault_api_reasons:

Modem fault reasons
===================
Expand Down Expand Up @@ -202,7 +202,6 @@ AT API
:members:

.. _nrf_modem_bootloader_api:
.. _nrf_modem_full_dfu_api:

Bootloader API
**************
Expand All @@ -224,6 +223,15 @@ Delta DFU API
:project: nrfxlib
:members:

.. _nrf_modem_dect_phy_api:

DECT NR+ PHY API
****************

.. doxygengroup:: nrf_modem_dect_phy
:project: nrfxlib
:members:

.. _nrf_modem_gnss_api:

GNSS API
Expand Down
7 changes: 2 additions & 5 deletions nrf_modem/doc/at_interface.rst
Original file line number Diff line number Diff line change
@@ -1,16 +1,13 @@
.. _nrf_modem_at:

AT interface
AT commands
############

.. contents::
:local:
:depth: 2

The Modem library supports sending AT commands to the modem, reading responses, and receiving AT notifications using the :ref:`nrf_modem_at_api` found in :file:`nrfxlib/nrf_modem/include/nrf_modem_at.h`.

AT commands
***********
The AT interface in the Modem library is used to send AT commands to the cellular modem, read AT command responses, and receive AT notifications.

AT commands are essentially a set of modem instructions that are used to configure the modem, establish a network connection (or in general, execute operations), and retrieve modem and connection status information.
For the full set of supported AT commands, see the `nRF91x1 AT Commands Reference Guide`_ or `nRF9160 AT Commands Reference Guide`_ depending on the SiP you are using.
Expand Down
4 changes: 2 additions & 2 deletions nrf_modem/doc/bootloader.rst
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
.. _nrf_modem_bootloader:

Full firmware updates
#####################
Modem bootloader
################

.. contents::
:local:
Expand Down
Loading

0 comments on commit 02eccf3

Please sign in to comment.