-
Notifications
You must be signed in to change notification settings - Fork 6.6k
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
net: openthread: support WC and WED #80132
Conversation
a0bf64f
to
b2cef71
Compare
Hi @fgrandel could you please have a look on this draft PR? I would like to ask you if this proposal is compliant with adopted rules, especially #61227 . I think only the commit with title The new introduced capability |
Hi, sure. As CST is not specified by the IEEE 802.15.4 standard (or is it?), it needs to be encapsulated in OT-specific files, exactly as you did. That's what we have zephyr/include/zephyr/net/ieee802154_radio_openthread.h for. The only problem I see is the lack of documentation. Please orient yourself to the exact timing diagrams and context that has been documented for the CSL feature. This is the level you should achieve. The reason is to make it obvious to other driver implementers what they have to do to implement this features. As OT is not public any more we cannot even point them to an external spec. Unfortunately I don't have access to the Thread documents that describe DST. So I cannot be 100% sure that it isn't just another name for an otherwise standard feature. But as you have access to both, OT and IEEE standards, you can check that of course. I guess, though, that it's just the inverse of CSL and that doesn't exist in the standard IIRC. |
b2cef71
to
56d2880
Compare
|
||
/** Capability to support CST-related features. | ||
* | ||
* The CST-related features are described by "Specification changes for Thread-in-Mobile" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Worth documenting somewhere that this indicates the point of time when the end of SFD/start of PHR for the next transmission will occur.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please have a look on doc for IEEE802154_OPENTHREAD_CONFIG_EXPECTED_TX_TIME
, it's mentioned there.
2d6f833
to
811fcbf
Compare
Updated commit metadata |
The new capability `IEEE802154_OPENTHREAD_HW_CST` is added. The option MAY be implemented as an extension to IEEE 802.15.4 drivers allowing to inject CST related Information Elements. Signed-off-by: Damian Krolik <[email protected]> Co-authored-by: Andrzej Kuroś <[email protected]>
The new Kconfig option `IEEE802154_NRF5_CST_ENDPOINT` is added. When it is enabled, then capability `IEE802154_OPENTHREAD_HW_CST` is supported by the ieee802154_nrf5 driver and allows to set the CST period and CST expected transmission time point. This feature is an OpenThread-specific extention to the ieee802154_nrf5 driver. Signed-off-by: Damian Krolik <[email protected]> Co-authored-by: Andrzej Kuroś <[email protected]>
Add Kconfig option `OPENTHREAD_WAKEUP_COORDINATOR` to enable the Wake-up Coordinator role. Implement API to set Coordinated Sampled Transmitting sample time and period for a driver that supports `IEE802154_OPENTHREAD_HW_CST` capability. The feature is be enabled on with ieee802154_nrf5 driver with option by setting default value of CONFIG_IEEE802154_NRF5_CST_ENDPOINT. Signed-off-by: Damian Krolik <[email protected]> Co-authored-by: Andrzej Kuroś <[email protected]>
Add Kconfig option to enable the Wake-up End Device role. Signed-off-by: Eduardo Montoya <[email protected]> Signed-off-by: Damian Krolik <[email protected]> Co-authored-by: Andrzej Kuroś <[email protected]>
Make it possible to enable Wake-up End Device feature with CSL receiver disabled (to receive wake-up frames on MED). Signed-off-by: Damian Krolik <[email protected]>
811fcbf
to
151a421
Compare
This PR adds support code for new roles Wake-Up Coordinator and Wake-Up End Device developed in OpenThread.
Related Thread Specification changes named collectively as Thread-In-Mobile (SPEC-1267).
The features require additional Information Elements (OpenThread-specific) to be sent, what's covered by the SPEC-1267.
The driver supporting the new feature CST (Coordinated Sampled Transmitting) has the capability
IEE802154_OPENTHREAD_HW_CST
which is OpenThread's extension to a ieee802154 driver. This capability allows to configure CST period and CST expected transmission time point.No driver has the duty to support the capability.
The support for IEE802154_OPENTHREAD_HW_CST capability is added to the ieee802154_nrf5 driver.
The new Kconfig options
OPENTHREAD_WAKEUP_COORDINATOR
andOPENTHREAD_WAKEUP_END_DEVICE
are added to configure the OpenThread. WhenOPENTHREAD_WAKEUP_COORDINATOR
is enabled it enables theIEE802154_OPENTHREAD_HW_CST
within the ieee802154_nrf5 driver by default.Refs:
7ec824602518060a19b7ba851435f043b5ca8a8d
f59ec0e8af9f1c373752bdf1324befb27de1f493
a3dcf1c536387a0f9ba662436ce37617cf9cedf7