-
Notifications
You must be signed in to change notification settings - Fork 6.8k
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
RFC: Architecting a sensor subsystem #62223
Comments
@yperess have you guys consider using ZBus to share the data and control sensor subsystem? I can help with that. |
Yes, most likely the internal implementation will end up using zbus. Also, yes please, I'll be happy to get any help you can offer on that |
@yperess How would you like to proceed? |
Architecture WG notes:
|
I'm trying to better understand if this proposal has been implemented since all PRs that I found to be related seem to be merged. If so, could you let me know since which release version it is included? |
Introduction
Sensor improvements are underway for kernel level drivers. But they assume a single consumer. A sensor subsystem has been proposed in #36963 and has been under development under
subsys/sensing
. The goals of the subsystem is to provide higher level functionality:Problem description
The current path of the implementation does not appear to be in the best interest of Zephyr as a whole. The implementation:
Proposed change
I'm proposing we stick to the engineering principle of Single Responsibility Principal (as much as possible).
What this boils down to is that we should finish the work that's ongoing for updating the sensor driver API structs. These structs will be used both in the kernel level drivers AND in the subsystem's virtual sensors. It will be a single API for "sensors". Regardless of how the sensor gets the data.
Next, the subsystem should be responsible for the fanout. This means sending data to consumers and arbitrating configurations. Most likely, sending the data will leverage the zbus subsystem.
Links:
Related issues/PRs
The text was updated successfully, but these errors were encountered: