Description
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 to rtio_work_req_submit
but with a k_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.