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

[DRAFT] Get rid of FEM gain #14553

Conversation

ankuns
Copy link
Contributor

@ankuns ankuns commented Mar 18, 2024

DO NOT MERGE.

This PR brings in sdc,mpsl,nrf_802154 with change to FEM API.

The MPSL FEM public API is changed. The mpsl_fem_pa_gain_set has been replaced by mpsl_fem_pa_tx_control_set. There is no more possibility of setting "gain". The real gain of FEM depends on many factors including but not limited to input power of the FEM, frequency, temperature, and the way the FEM is controlled.
The "gain" (attempted to be FEM type-independent) is turned into "pa_power_control" parameter which is FEM type-specific.

The SDC & nrf_802154 are aligned and are not affected in their public interface in any way (just aligned to mentioned API change).

The radio_test and direct_test_mode are changed only when CONFIG_RADIO_TEST_POWER_CONTROL_AUTOMATIC=n
The radio_test sample changes: the cli command
fem tx_gain <gain> makes no more sense and is turned into:
fem tx_power_control <tx_power_control> which is FEM type-specific.

The direct_test_mode sample is changed:
FEM_GAIN_SET which attempted to set FEM type-independent "gain" of the FEM makes no more sense and is turned into:
FEM_TX_POWER_CONTROL_SET allowing to set the FEM tx power control signalling which is again FEM type-specific.

The MPSL FEM public API is changed. The `mpsl_fem_pa_gain_set`
has been replaced by `mpsl_fem_pa_tx_control_set`. There is no more
possibility of setting "gain". The real gain of FEM depends on
many factors including but not limited to input power of the FEM,
frequency, temperature, and the way the FEM is controlled.

The fem_al API is changed so that the concept of generic "gain"
of the front-end module is replaced by "tx_power_control" which
is FEM type-specific.

`fem_tx_power_control` type is introduced.
`fem_tx_gain_set` is replaced by `fem_tx_power_control_set`
`fem_default_tx_gain_get` is replaced by 'fem_default_tx_output_power_get'

`fem_interface_api` is changed to reflect these changes along with
implementations nrf21540.c and generic_fem.c

Signed-off-by: Andrzej Kuros <[email protected]>
In the fem_al the "gain" of FEM is changed to "tx_power_control".
This commit aligns to these changes.

Due to these changes, the cli command
`fem tx_gain <gain>`
makes no more sense and is turned into:
`fem tx_power_control <tx_power_control>`

Signed-off-by: Andrzej Kuros <[email protected]>
In the fem_al the "gain" of FEM is changed to "tx_power_control".
This commit aligns to these changes.

Due to these changes, the DTM command
FEM_GAIN_SET allowing to set "gain" of the FEM makes no more sense
and is turned into:
FEM_TX_POWER_CONTROL_SET allowing to set the FEM tx power control
which is FEM type-specific.

Signed-off-by: Andrzej Kuros <[email protected]>
This commit brings in softdevice_controller and MPSL with changed
FEM public API. The `mpsl_fem_pa_gain_set` is replaced by
`mpsl_fem_pa_control_set`. The concept of FEM "gain" is replaced by
"pa_power_control" which is FEM type-specific.

Signed-off-by: Andrzej Kuros <[email protected]>
This commit brings in nRF 802.15.4 Radio Driver aligned to changes
made to MPSL FEM API.

Signed-off-by: Andrzej Kuros <[email protected]>
@ankuns ankuns added the DNM label Mar 18, 2024
@github-actions github-actions bot added doc-required PR must not be merged without tech writer approval. manifest changelog-entry-required Update changelog before merge. Remove label if entry is not needed or already added. labels Mar 18, 2024
@NordicBuilder
Copy link
Contributor

The following west manifest projects have been modified in this Pull Request:

Name Old Revision New Revision Diff
nrf-802154 nrfconnect/[email protected] https://github.com/nrfconnect/sdk-nrf-802154/pull/463 nrfconnect/sdk-nrf-802154#463/files
nrfxlib nrfconnect/sdk-nrfxlib@167fa43 nrfconnect/sdk-nrfxlib#1264 nrfconnect/sdk-nrfxlib#1264/files

Note: This message is automatically posted and updated by the Manifest GitHub Action.

@NordicBuilder
Copy link
Contributor

Test specification

CI/Jenkins/NRF

  • Integration Platforms

CI/Jenkins/integration

Test Module File based changes Manually selected West overwrite
test-fw-nrfconnect-ble X
test-fw-nrfconnect-ble_samples X
test-fw-nrfconnect-fem X
test-fw-nrfconnect-rs X
test-fw-nrfconnect-thread X
test-fw-nrfconnect-zigbee X
test-sdk-audio X

Detailed information of selected test modules

Note: This message is automatically posted and updated by the CI

@ankuns ankuns closed this Mar 27, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
changelog-entry-required Update changelog before merge. Remove label if entry is not needed or already added. DNM doc-required PR must not be merged without tech writer approval. manifest manifest-nrf-802154 manifest-nrfxlib
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants