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

Cherry pick upstream PR #79919 #2119

Draft
wants to merge 4 commits into
base: main
Choose a base branch
from

Conversation

ankuns
Copy link
Contributor

@ankuns ankuns commented Oct 16, 2024

cherry-picks from upstream zephyr pr 79919

…TXCHANNEL

The Kconfig `IEEE802154_SELECTIVE_TXCHANNEL` is added along with
the new capability `IEEE802154_HW_SELECTIVE_TXCHANNEL`.
The new capability of the ieee802154 drivers allows to schedule
CSL transmissions as stated in IEEE 802.15.4-2020 chapter 6.12.2.7
CSL over multiple channels. The benefit of the new API is that
additional call to `ieee802154_radio_api::set_channel()` is not
required. The drivers will switch to the new channel as late as
possible for CSL transmissions thus will not interrupt any reception
that might be in progress until the very late moment when the
transmission actually starts.
This improves reception performance when CSL transmissions are used.

Upstream PR: zephyrproject-rtos/zephyr#79919

Signed-off-by: Damian Krolik <[email protected]>
Signed-off-by: Andrzej Kuroś <[email protected]>
…_TXCHANNEL

The ieee802154_nrf5 supports the IEEE802154_SELECTIVE_TXCHANNEL
Kconfig option and advertises the IEEE802154_HW_SELECTIVE_TXCHANNEL
capability.
The ieee802154_nrf5 driver now allows to schedule timed transmission
requests with selective tx channel, that is set at the latest
possible moment. This improves reception performance when the
timed transmissions are requested.

Upstream PR: zephyrproject-rtos/zephyr#79919

Signed-off-by: Damian Krolik <[email protected]>
Signed-off-by: Andrzej Kuroś <[email protected]>
The capabilities returned by radio_api->get_capabilities do not change.
The result is cached in a variable to improve performance.

Upstream PR: zephyrproject-rtos/zephyr#79919

Signed-off-by: Andrzej Kuroś <[email protected]>
…TXCHANNEL

For transmit_message if the transmission is timed and underlying
driver supports `IEEE802154_HW_SELECTIVE_TXCHANNEL` then use
the selective txchannel feature for transmission.
This does not change the current `channel` at the moment of call,
the driver will transmit the message on the channel selected through
`net_pkt_set_ieee802154_txchannel` then (after receiving an ACK
if requested) it will return to the original channel.
When Kconfig option IEEE802154_SELECTIVE_TXCHANNEL is turned on,
the timed transmissions scheduled some time ahead on different
channel will not abort ongoing reception until the exact moment
of transmission comes.

Upstream PR: zephyrproject-rtos/zephyr#79919

Signed-off-by: Andrzej Kuroś <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant