Skip to content

drivers: model IEEE 802.15.4 devices in Kconfig #17789

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

Merged

Conversation

leandrolanzieri
Copy link
Contributor

@leandrolanzieri leandrolanzieri commented Mar 10, 2022

Contribution description

This models all IEEE 802.15.4 device drivers and the related modules (mostly netdev). Similarly to #17739, this modifies the related tests to avoid using the full GNRC stack. Some tests allow access to device-specific features (e.g., batmon in at86rf215), all these are kept.

A question regarding modelling + UI (maybe @jia200x has some insight): currently a radio can implement netdev or the radio HAL. In the second case, when the top level user (e.g. a network stack or the current tests) requires to interact via the netdev interface, the netdev_ieee802154_submac module is required to fill the gap. So far, I added a symbol that indicates the presence of a radio HAL implementer (selected by the specific driver). Depending on whether netdev is used, the submac module is used (if netdev is used, and a driver implements radio HAL -> bring submac). This has a shortcoming: if an application (or other module) wants to use two devices implementing different interfaces (netdev vs. HAL), the submac will be pulled. We could create an extra symbol (e.g., USE_NETDEV_INTERFACE) that indicates that whatever network device you have, you want to interact using netdev, but I'm not sure that's the way. Thoughts?

Testing procedure

  • Green CI

Issues/PRs references

Depends on #17790
Depends on #17791
Depends on #17792

@leandrolanzieri leandrolanzieri added the Type: new feature The issue requests / The PR implemements a new feature for RIOT label Mar 10, 2022
@github-actions github-actions bot added Area: boards Area: Board ports Area: cpu Area: CPU/MCU ports Area: doc Area: Documentation Area: drivers Area: Device drivers Area: Kconfig Area: Kconfig integration Area: network Area: Networking Area: sys Area: System Area: tests Area: tests and testing framework Platform: ARM Platform: This PR/issue effects ARM-based platforms Platform: native Platform: This PR/issue effects the native platform labels Mar 10, 2022
@leandrolanzieri
Copy link
Contributor Author

I split some dependencies

@leandrolanzieri leandrolanzieri force-pushed the pr/drivers/ieee802154/model_kconfig branch from a08dcb6 to 1a3081e Compare July 25, 2022 12:46
@leandrolanzieri
Copy link
Contributor Author

CI passed with the limited build, I'll remove the last commit now and give it another run

@leandrolanzieri leandrolanzieri force-pushed the pr/drivers/ieee802154/model_kconfig branch from 1a3081e to 1b21ee3 Compare July 26, 2022 14:20
@github-actions github-actions bot removed the Area: CI Area: Continuous Integration of RIOT components label Jul 26, 2022
@leandrolanzieri
Copy link
Contributor Author

Looking good @MrKevinWeiss

@MrKevinWeiss
Copy link
Contributor

Can we rerun 1 more time now that the kconfig checks are actually working?

Copy link
Contributor

@MrKevinWeiss MrKevinWeiss left a comment

Choose a reason for hiding this comment

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

I will pre ack though!

@MrKevinWeiss MrKevinWeiss added CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR and removed CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR labels Jul 27, 2022
@MrKevinWeiss MrKevinWeiss enabled auto-merge July 27, 2022 13:53
@MrKevinWeiss
Copy link
Contributor

And that is why we check 😄

@leandrolanzieri leandrolanzieri force-pushed the pr/drivers/ieee802154/model_kconfig branch from 1b21ee3 to b3ac6b7 Compare July 28, 2022 07:32
@github-actions github-actions bot removed Area: network Area: Networking Area: sys Area: System labels Jul 28, 2022
@MrKevinWeiss MrKevinWeiss merged commit aff151b into RIOT-OS:master Jul 28, 2022
@leandrolanzieri leandrolanzieri deleted the pr/drivers/ieee802154/model_kconfig branch July 28, 2022 09:57
@maribu maribu added this to the Release 2022.10 milestone Oct 14, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area: boards Area: Board ports Area: cpu Area: CPU/MCU ports Area: drivers Area: Device drivers Area: Kconfig Area: Kconfig integration CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR Platform: ARM Platform: This PR/issue effects ARM-based platforms Platform: native Platform: This PR/issue effects the native platform Type: new feature The issue requests / The PR implemements a new feature for RIOT
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants