-
Notifications
You must be signed in to change notification settings - Fork 1.3k
modules: openthread: Implement radio_nrf5 OpenThread platform. #21882
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
base: main
Are you sure you want to change the base?
modules: openthread: Implement radio_nrf5 OpenThread platform. #21882
Conversation
4ddfba4
to
3f13949
Compare
CI InformationTo view the history of this post, clich the 'edited' button above Inputs:Sources:more detailsGithub labels
List of changed files detected by CI (0)
Outputs:ToolchainVersion: Test Spec & Results: ✅ Success; ❌ Failure; 🟠 Queued; 🟡 Progress; ◻️ Skipped;
|
To start working with a new implementation of the OpenThread radio platform, we need to have the dedicated radio_nrf5.c file and kconfig to switch between legacy Zephyr's IEEE802.15.4 shim layer and direct nrf5 radio driver implementations. Signed-off-by: Arkadiusz Balys <[email protected]>
3f13949
to
0a1013d
Compare
The following west manifest projects have changed revision in this Pull Request:
⛔ DNM label due to: 2 projects with PR revision Note: This message is automatically posted and updated by the Manifest GitHub Action. |
0a1013d
to
91adf20
Compare
You can find the documentation preview for this PR here. |
7cab044
to
35b97ad
Compare
35b97ad
to
82b5166
Compare
Prepared build environment to support building OpenThread without Zephyr's L2 and IEEE802.15.4 shim layers. To do it, some of Kconfigs must be cloned into the new Kconfig file (dedicated to nRF5-driver-based approach) to meet all OpenThread requirements while NET_L2_OPENTHREAD is disabled. Signed-off-by: Arkadiusz Balys <[email protected]>
82b5166
to
42da834
Compare
bd28b58
to
140193d
Compare
@@ -0,0 +1,483 @@ | |||
/* |
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.
This file should be moved out of OpenThread platform, as it does not implement it. Would move it one level up.
140193d
to
2401932
Compare
Updated modules/openthread/platform after latest changes in Zephyr. Aligned openthread implementation to the new approach. Signed-off-by: Arkadiusz Balys <[email protected]>
2401932
to
0e3d1ae
Compare
Remove Zephyr L2 related code. Signed-off-by: Adrian Gielniewski <[email protected]>
Add alternative radio implementation that does not use Zephyr L2. Signed-off-by: Adrian Gielniewski <[email protected]>
Stop using L2 log level in platform files. Signed-off-by: Arkadiusz Balys <[email protected]>
The new CONFIG_OPENTHREAD_SYS_INIT Kconfig option allows OpenThread to be automatically initialised during the Zephyr POST_KERNEL initialisation stage. If Zephyr's L2 layer OpenThread implementation is enabled, the IEEE802.15.4 shim layer initialises OpenThread in the POST_KERNEL phase. However, since Openthread may work without Zephyr's L2 layer, in this case, no object can initialise it automatically. This new Kconfig option may help start OpenThread automatically if the L2 Layer is disabled. Signed-off-by: Arkadiusz Balys <[email protected]> Signed-off-by: Adrian Gielniewski <[email protected]>
21d9e9a
to
3e301f9
Compare
Add nrf5 radio implementation. Signed-off-by: Adrian Gielniewski <[email protected]>
Signed-off-by: Adrian Gielniewski <[email protected]>
Signed-off-by: Adrian Gielniewski <[email protected]>
Signed-off-by: Adrian Gielniewski <[email protected]>
Signed-off-by: Adrian Gielniewski <[email protected]>
1a51717
to
b5a9dae
Compare
Introduce radio_nrf5 OpenThread radio platform which uses nRF radio driver directly. The Zephyr L2 layer, IEEE802.15.4 shim layer and net packets are not used in this implementation.
To build without Zephyr's L2 layer add:
-DCONFIG_OPENTHREAD=y -DCONFIG_NET_L2_OPENTHREAD=n -DCONFIG_NETWORKING=n
TODO:
Do not review while it is in draft.