Consider exposing services to update Parameter Descriptor ranges at runtime
@wjwwood is already working on this.
Since Mar 16, 2023.
- Dominant language
- C++
- Stars
- 805
- Forks
- 564
- Avg merge
- 1d 17h
- Merged PRs (30d)
- 27
Description
Feature description
It's great that parameter descriptors exist so they can be used for validating values -- however, we have encountered a use case where it would be useful to be able to SET parameter descriptors at runtime in addition to at declaration time.
Our use case is specifically to have UI sliders for parameter values where users can pre-configure their desired min and max values at the UI level. In other words, it's just the bounds we care about, which happen to be in the descriptor.
So, would it be beneficial to expose a similar service / service type to update parameter descriptors at runtime?
Implementation considerations
Think of the rcl_interfaces types available.
- For parameter values, we have
/get_parametersand/set_parametersservices available - For parameter descriptors, we have
/describe_parametersfor reading, but nothing for updating the descriptions should we want to.
I understand if there are concerns about the string description, type, and read-onlyness changing, but our use case at least is only concerned with the ranges. So even a service that allows modifying these for floating-point / integer-valued parameters would go a long way.
Thoughts?
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.