Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

nrf_modem: add dectphy flavour #1325

Merged
merged 1 commit into from
May 13, 2024
Merged

Conversation

lemrey
Copy link
Contributor

@lemrey lemrey commented May 7, 2024

Add libmodem dectphy flavour; update documentation.

@@ -1351,7 +1351,7 @@ int32_t nrf_modem_gnss_agnss_write(void *buf, int32_t buf_len, uint16_t type);
* @details Returns detailed information about the current GNSS A-GNSS data need. The data
* structure contains expiry times in seconds for different types of assistance data.
* This function can be called at any time. If GNSS doesn't know the current GPS
* system time, the expiry times cannot be calculated.
* system time, the expiry times can not be calculated
Copy link
Contributor

Choose a reason for hiding this comment

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

nit

Suggested change
* system time, the expiry times can not be calculated
* system time, the expiry times can not be calculated.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Let's fix this in libmodem repo instead.

Afterwards, the application can initialize the DECT PHY interface by calling the :c:func:`nrf_modem_dect_phy_init` function.
Upon successful initialization, both the DECT PHY interface and DECT NR+ physical layer in the modem are ready for operation.

The very first time the DECT PHY interface is initialized the DECT NR+ PHY firmware will perform a product locking procedure.
Copy link
Contributor

Choose a reason for hiding this comment

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

Should we add some explanation on what that means?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Thanks for reminding me, I will check with Jaakko.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Updated

Transmission length
-------------------

Transmissions take time, that is, they have a length.
Copy link
Contributor

Choose a reason for hiding this comment

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

This sentence seem a bit unnecessary

Copy link
Contributor Author

Choose a reason for hiding this comment

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

It introduces the fact that the length of a transmission has two dimensions, time and size. When talking about the "length of a transmission", you could mean two things, the time it takes to transmit and how much data you are transmitting, which is what this chapter explains.

Copy link
Contributor

@eivindj-nordic eivindj-nordic May 8, 2024

Choose a reason for hiding this comment

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

Ok, thanks for clarifying what you mean by it, though I still find the sentence a bit confusing.
What about incorporating it in the sentence below, e.g.

The *transmission* length is expressed in sub-slots, where each sub-slot has a size in time, given by the subcarrier scaling factor.
A transmission may take up to 15 sub-slots, where the number of bits per subslot is decided by the chosen modulation scheme. This is shown in the table below.
The length of the *data* being transmitted is expressed in bytes, and is specified by the :c:member:`nrf_modem_dect_phy_tx_params.data_size` parameter.

DECT NR+
========

* Added new interface for DECT NR+ PHY 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
* Added new interface for DECT NR+ PHY firmware.
* Added new :ref:`interface <nrf_modem_dect_phy>` for the DECT NR+ PHY firmware.

To link to the documentation.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Thanks, updated

@@ -9,6 +9,17 @@ Changelog

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

nrf_modem
Copy link
Contributor

Choose a reason for hiding this comment

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

Shouldn't the version be mentioned here.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Not anymore, we will put a number there once we tag NCS.

Regulations
***********

DECT NR+ operates on free but regulated radio channels. The availability of the channels and the exact regulation to use them varies in different countries.
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
DECT NR+ operates on free but regulated radio channels. The availability of the channels and the exact regulation to use them varies in different countries.
DECT NR+ operates on free but regulated radio channels.
The availability of the channels and the exact regulations for using them vary in different countries.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

ok


The physical layer is only one part of the DECT-2020 New Radio protocol stack (DECT NR+).

The whole DECT NR+ protocol stack consist of four layers:
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 whole DECT NR+ protocol stack consist of four layers:
The whole DECT NR+ protocol stack consists of four layers:

Copy link
Contributor Author

Choose a reason for hiding this comment

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

ok

Afterwards, the application can initialize the DECT PHY interface by calling the :c:func:`nrf_modem_dect_phy_init` function.
Upon successful initialization, both the DECT PHY interface and DECT NR+ physical layer in the modem are ready for operation.

The very first time the DECT PHY interface is initialized the DECT NR+ PHY firmware will perform a product locking procedure.
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 very first time the DECT PHY interface is initialized the DECT NR+ PHY firmware will perform a product locking procedure.
The very first time the DECT PHY interface is initialized, the DECT NR+ PHY firmware performs a product locking procedure.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

ok


The DECT physical layer (PHY) interface in the Modem library is used to control the DECT NR+ PHY in the DECT NR+ PHY firmware.

The DECT NR+ PHY firmware is a variant of the nRF9161 firmware with a different feature set than the cellular firmware.
Copy link
Contributor

Choose a reason for hiding this comment

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

Should we refer as nRF91x1 modem firmware, considering this will be also applicable for nRF9151 as well?

Comment on lines 44 to 47
* Physical layer (PHY)
* Medium Access Control (MAC) layer, including co-existing and channel access operation
* Data link control (DLC), including routing, segmentation and re-assembly of messages
* Convergence layer (CVG), including message flow control, multiplexing and transmission service level control
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
* Physical layer (PHY)
* Medium Access Control (MAC) layer, including co-existing and channel access operation
* Data link control (DLC), including routing, segmentation and re-assembly of messages
* Convergence layer (CVG), including message flow control, multiplexing and transmission service level control
* Physical layer (PHY).
* Medium Access Control (MAC) layer, including co-existing and channel access operation.
* Data link control (DLC), including routing, segmentation and re-assembly of messages.
* Convergence layer (CVG), including message flow control, multiplexing and transmission service level control.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

updated!

@lemrey lemrey force-pushed the libmodem-v2.7.0 branch from 02eccf3 to b94f51b Compare May 10, 2024 09:08
Afterwards, the application can initialize the DECT PHY interface by calling the :c:func:`nrf_modem_dect_phy_init` function.
Upon successful initialization, both the DECT PHY interface and DECT NR+ physical layer in the modem are ready for operation.

The very first time the DECT PHY interface is initialized the DECT NR+ PHY firmware performs a product locking procedure.
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 very first time the DECT PHY interface is initialized the DECT NR+ PHY firmware performs a product locking procedure.
The very first time the DECT PHY interface is initialized, the DECT NR+ PHY firmware performs a product locking procedure.

nit

Copy link
Contributor

@eivindj-nordic eivindj-nordic left a comment

Choose a reason for hiding this comment

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

Looks good! I think it would be nice with a description of the product locking procedure, though that can be added to the documentation later.

@lemrey lemrey force-pushed the libmodem-v2.7.0 branch 2 times, most recently from d9e286d to 092b7c5 Compare May 10, 2024 14:43
Add libmodem dectphy flavour.

Signed-off-by: Eivind Jølsgard <eivind.jolsgard@nordicsemi.no>
Signed-off-by: Emanuele Di Santo <emdi@nordicsemi.no>
@rlubos rlubos merged commit 1e3850d into nrfconnect:main May 13, 2024
4 checks passed
@@ -26,7 +26,11 @@ if(CONFIG_NRF_MODEM_LINK_BINARY)
set(float_dir soft-float)
Copy link
Contributor

Choose a reason for hiding this comment

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

other boards are using lowercase letters, these should be aligned:

../nrfxlib/gzll/lib/nrf52810
../nrfxlib/gzll/lib/nrf52811
../nrfxlib/gzll/lib/nrf52820
../nrfxlib/gzll/lib/nrf52832
../nrfxlib/gzll/lib/nrf52833
../nrfxlib/gzll/lib/nrf52840
../nrfxlib/nrf_802154/sl/sl/lib/nrf52833
../nrfxlib/nrf_802154/sl/sl/lib/nrf52840
../nrfxlib/nrf_dm/lib/nrf52832
../nrfxlib/nrf_dm/lib/nrf52833
../nrfxlib/nrf_dm/lib/nrf52840
../nrfxlib/gzll/lib/nrf5340_cpunet
../nrfxlib/nrf_802154/sl/sl/lib/nrf5340_cpunet
../nrfxlib/nrf_dm/lib/nrf5340_cpuapp
../nrfxlib/nrf_dm/lib/nrf5340_cpunet

Comment on lines 9 to 10
if(NOT ${CONFIG_SOC} MATCHES "^nrf9160$" AND NOT ${CONFIG_SOC} MATCHES "^nrf91[356]1$")
message(FATAL_ERROR "Unknown SOC. Expected (nrf9160, nrf9131, nrf9151, nrf9161), "
Copy link
Contributor

Choose a reason for hiding this comment

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

this should be using Kconfig symbols instead

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
doc-required PR must not be merged without tech writer approval.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants