Using Galactic here.
The Dynamic reconfigure plugin is able to detect if some parameters have been declared with bound constraints. In this case, rqt displays a slider instead of a text input and the bounds are well-detected.
However constraints can also contain a step size. It seems that this value is ignored in the slider, which (seems to) defaults to:
1 for int (can access any value with the mouse, though jumping with the keyboard indeed jumps by the correct parameter step)
(max-min)/1000 for double (with mouse only, keyboard does not jump at all)
If this step is not compliant with the one configured in the parameter then requested changes are ignored, as they do not satisfy the constraints. This is typically the case for step > 1 for int (with step == 2, slider still allows odd values but they are ignored by the node).
For double parameters this is very unlikely that the constraints are set such that step = (max-min)/1000, in this case the slider is unusable as it will not produce any value that is allowed by the node.
Hi,
Using Galactic here. The
Dynamic reconfigure
plugin is able to detect if some parameters have been declared with bound constraints. In this case, rqt displays a slider instead of a text input and the bounds are well-detected.However constraints can also contain a step size. It seems that this value is ignored in the slider, which (seems to) defaults to:
int
(can access any value with the mouse, though jumping with the keyboard indeed jumps by the correct parameter step)(max-min)/1000
for double (with mouse only, keyboard does not jump at all)If this step is not compliant with the one configured in the parameter then requested changes are ignored, as they do not satisfy the constraints. This is typically the case for step > 1 for
int
(with step == 2, slider still allows odd values but they are ignored by the node). Fordouble
parameters this is very unlikely that the constraints are set such thatstep = (max-min)/1000
, in this case the slider is unusable as it will not produce any value that is allowed by the node.Here is a basic node that describes the issue: