-
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
RTIO: Add Workqueue support for delayed work items #77100
Comments
@FlorianWeber1018 LMK if you have any additional inputs on this! |
This is an interesting addition for combining RTIO and this particular Video driver:
|
Thanks for sharing this! I'll find some time soon on this addition |
this would be a great addition since quite some hardware sensors do need a significant delay between triggering a new measurement and fetching the data. |
Is your enhancement proposal related to a problem? Please describe.
Based on a discussion in #74389, it was brought up that some RTIO users may need to perform transactions spaced by time-intervals. This is similar to how the Zephyr Workqueue works. Right now it is not possible as the RTIO Workqueue service does not have any means to achieve this.
Describe the solution you'd like
Add the ability to the RTIO Workqueue service to achieve this functionality.
This could be, for instance, achieved by adding an API
rtio_work_req_schedule()
similar tortio_work_req_submit
but with ak_timeout_t
parameter describing when this item is due for execution.Describe alternatives you've considered
Have users implement this functionality out of the RTIO workqueue service (e.g: have an additional delayed work item which in turn submits the RTIO workq item). This may be a short-term solution but does not seem scalable as more users re-invent the same functionality.
Additional considerations
This is a well-known feature already supported by the Zephyr workqueue, and that users are familiar with, which is why IMO it makes sense to include it under this service.
The text was updated successfully, but these errors were encountered: