to contain a percentage (ie: int) and no longer the float we transmit in the simple message msg. The check in the motionControl task (which calls interpolateVel(..)) checks for mDesc.vel == 0.1, which can never be true if I understand things correctly.
As noted in the quote above: mDesc.vel isn't actually between (0, 1] here any more, but is converted to a percentage (ie: (0, 100]). As such, the condition will never be true, causing the quoted code snippet to never actually be executed.
@gavanderhoorn wrote in https://github.com/ros-industrial/staubli_val3_driver/issues/16#issuecomment-601833239:
The conditional is here:
https://github.com/ros-industrial/staubli_val3_driver/blob/17fd14a7b07e17e9c081ab2b033a2f94031f1332/staubli_val3_driver/val3/ros_server/interpolateVel.pgx#L14-L17
As noted in the quote above:
mDesc.vel
isn't actually between(0, 1]
here any more, but is converted to a percentage (ie:(0, 100]
). As such, the condition will never be true, causing the quoted code snippet to never actually be executed.