Skip to content

Add tone sweep with controlled duty cycle#27816

Merged
rlubos merged 2 commits into
nrfconnect:mainfrom
thomas-m-johansen:add_tone_sweep_with_controlled_duty_cycle
Apr 8, 2026
Merged

Add tone sweep with controlled duty cycle#27816
rlubos merged 2 commits into
nrfconnect:mainfrom
thomas-m-johansen:add_tone_sweep_with_controlled_duty_cycle

Conversation

@thomas-m-johansen
Copy link
Copy Markdown
Contributor

added a new shell command in radio_test as well as some simple documentation for the command

@thomas-m-johansen thomas-m-johansen requested review from a team as code owners March 31, 2026 11:41
@NordicBuilder NordicBuilder added doc-required PR must not be merged without tech writer approval. changelog labels Mar 31, 2026
@NordicBuilder
Copy link
Copy Markdown
Contributor

NordicBuilder commented Mar 31, 2026

CI Information

To view the history of this post, click the 'edited' button above
Build number: 8

Inputs:

Sources:

sdk-nrf: PR head: 8dbf0517c722655d0669d641ccd08910d981a2e8

more details

sdk-nrf:

PR head: 8dbf0517c722655d0669d641ccd08910d981a2e8
merge base: 6daeae187dacb6f6dd283b1d58b4fa682918f789
target head (main): a6a49ed39038ec321d9d517a8ddad47164cac748
Diff

Github labels

Enabled Name Description
ci-disabled Disable the ci execution
ci-all-test Run all of ci, no test spec filtering will be done
ci-force-downstream Force execution of downstream even if twister fails
ci-run-twister Force run twister
ci-run-zephyr-twister Force run zephyr twister
List of changed files detected by CI (5)
doc
│  ├── nrf
│  │  ├── releases_and_maturity
│  │  │  ├── releases
│  │  │  │  │ release-notes-changelog.rst
samples
│  ├── peripheral
│  │  ├── radio_test
│  │  │  ├── README.rst
│  │  │  ├── src
│  │  │  │  ├── radio_cmd.c
│  │  │  │  ├── radio_test.c
│  │  │  │  │ radio_test.h

Outputs:

Toolchain

Version: 911f4c5c26
Build docker image: docker-dtr.nordicsemi.no/sw-production/ncs-build:911f4c5c26_5ea73affbf

Test Spec & Results: ✅ Success; ❌ Failure; 🟠 Queued; 🟡 Progress; ◻️ Skipped; ⚠️ Quarantine

  • ◻️ Toolchain - Skipped: existing toolchain is used
  • ✅ Build twister
    • sdk-nrf test count: 18
  • ✅ Integration tests
    • ✅ test-fw-nrfconnect-ble_samples
Disabled integration tests
    • test-fw-nrfconnect-nrf_lrcs_mosh
    • test-fw-nrfconnect-nrf_lrcs_positioning
    • desktop52_verification
    • test_ble_nrf_config
    • test-fw-nrfconnect-apps
    • test-fw-nrfconnect-ble_mesh
    • test-fw-nrfconnect-chip
    • test-fw-nrfconnect-fem
    • test-fw-nrfconnect-nfc
    • test-fw-nrfconnect-nrf-iot_libmodem-nrf
    • test-fw-nrfconnect-nrf-iot_lwm2m
    • test-fw-nrfconnect-nrf-iot_samples
    • test-fw-nrfconnect-nrf-iot_thingy91
    • test-fw-nrfconnect-nrf-iot_zephyr_lwm2m
    • test-fw-nrfconnect-nrf_crypto
    • test-fw-nrfconnect-ps-main
    • test-fw-nrfconnect-rpc
    • test-fw-nrfconnect-rs
    • test-fw-nrfconnect-tfm
    • test-fw-nrfconnect-thread-main
    • test-low-level
    • test-sdk-audio
    • test-sdk-dfu
    • test-sdk-find-my
    • test-sdk-mcuboot
    • test-sdk-wifi
    • test-secdom-samples-public

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

@Mirlenko Mirlenko self-requested a review March 31, 2026 12:01
@github-actions
Copy link
Copy Markdown

Comment thread samples/peripheral/radio_test/src/radio_test.c
Comment thread samples/peripheral/radio_test/src/radio_cmd.c Outdated
Comment thread samples/peripheral/radio_test/src/radio_cmd.c Outdated
Comment thread samples/peripheral/radio_test/src/radio_cmd.c Outdated
Comment thread samples/peripheral/radio_test/src/radio_test.c Outdated
Comment thread samples/peripheral/radio_test/src/radio_test.c Outdated
Comment thread samples/peripheral/radio_test/src/radio_test.h Outdated
Comment thread samples/peripheral/radio_test/src/radio_cmd.c Outdated
Comment thread samples/peripheral/radio_test/src/radio_cmd.c Outdated
Comment thread samples/peripheral/radio_test/src/radio_test.c
Comment thread samples/peripheral/radio_test/README.rst Outdated
Comment thread samples/peripheral/radio_test/src/radio_cmd.c Outdated
@eriksandgren
Copy link
Copy Markdown
Contributor

Just fyi I tried this with pin debugging enabled (cherry picked from my PR) and this is what READY/DISABLED pin looks like for the new command

image

@thomas-m-johansen thomas-m-johansen force-pushed the add_tone_sweep_with_controlled_duty_cycle branch from a41e5e3 to f9c6c57 Compare April 1, 2026 07:29
Comment thread doc/nrf/releases_and_maturity/releases/release-notes-changelog.rst Outdated
Comment thread doc/nrf/releases_and_maturity/releases/release-notes-changelog.rst Outdated
Comment thread samples/peripheral/radio_test/src/radio_test.h Outdated
@thomas-m-johansen thomas-m-johansen force-pushed the add_tone_sweep_with_controlled_duty_cycle branch 2 times, most recently from 2b57586 to 4634dc8 Compare April 1, 2026 10:26
@thomas-m-johansen thomas-m-johansen force-pushed the add_tone_sweep_with_controlled_duty_cycle branch from 4634dc8 to a027e19 Compare April 1, 2026 10:58
@shanthanordic shanthanordic modified the milestones: 3.3.0, 3.3.1 Apr 2, 2026
@thomas-m-johansen thomas-m-johansen force-pushed the add_tone_sweep_with_controlled_duty_cycle branch 2 times, most recently from 4934c6c to 7e9b6dd Compare April 8, 2026 06:48
Comment thread samples/peripheral/radio_test/src/radio_test.c Outdated
Comment thread samples/peripheral/radio_test/src/radio_cmd.c Outdated
Comment thread samples/peripheral/radio_test/src/radio_cmd.c Outdated
Comment thread samples/peripheral/radio_test/src/radio_cmd.c Outdated
Comment thread samples/peripheral/radio_test/src/radio_cmd.c Outdated
Comment thread samples/peripheral/radio_test/src/radio_test.c Outdated
Comment thread samples/peripheral/radio_test/src/radio_test.c Outdated
Comment thread samples/peripheral/radio_test/src/radio_test.h Outdated
Comment thread samples/peripheral/radio_test/src/radio_test.h Outdated
Comment thread samples/peripheral/radio_test/src/radio_test.h Outdated
the current TX sweep command in the radio test uses a near 100% duty
cycle. Adding a new version of the TX sweep command that allows us to
set a TX time and a "wait" time to use controlled duty cycles.

Signed-off-by: Thomas Johansen <thomas.johansen@nordicsemi.no>
added documentation for the new radio_test command as well as a
changelog entry

Signed-off-by: Thomas Johansen <thomas.johansen@nordicsemi.no>
@thomas-m-johansen thomas-m-johansen force-pushed the add_tone_sweep_with_controlled_duty_cycle branch from 7e9b6dd to 8dbf051 Compare April 8, 2026 07:30
uint8_t tx_time = atoi(argv[1]);
uint8_t sleep_time = atoi(argv[2]);

const uint8_t min_tx_time_us = 20;
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Maybe you could make this variables global since we might want to use the same limits in other testing modes.

const uint8_t min_tx_time_us = 20;
const uint8_t min_sleep_time_us = 80;

if (sleep_time < min_sleep_time_us) {
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

In this function you handle the tx_time first, and then sleep_time. It might be more readable if you check the tx time provided first, and then sleep time, just to follow the same pattern.

@rlubos rlubos merged commit e76208f into nrfconnect:main Apr 8, 2026
21 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

changelog doc-required PR must not be merged without tech writer approval.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants