Problem: the hardware interface waits on gripper status with the SDK's polling Robotiq::waitFor(predicate, timeout) in four places (activation echo, activation state, deactivation), polling getStatus() every 2 ms. The SDK now has an event-driven waitFor(gripper, predicate, timeout) that wakes on the exchange that satisfies the predicate and cannot miss a state the gripper only passes through, and the polling forms are being deprecated (robotiq/grippers#55). Once the SDK pin moves past that, these call sites warn.
Proposal: migrate the four waitFor calls in hardware_interface.cpp to the event-driven form. Predicates read the status of the exchange they are handed, not gripper_->getStatus(), so each wait is tied to the record it woke on. Behaviour is unchanged apart from waking on the cycle instead of up to a poll period later.
Blocked on the SDK deprecation landing on grippers main and the pin moving.
Problem: the hardware interface waits on gripper status with the SDK's polling
Robotiq::waitFor(predicate, timeout)in four places (activation echo, activation state, deactivation), pollinggetStatus()every 2 ms. The SDK now has an event-drivenwaitFor(gripper, predicate, timeout)that wakes on the exchange that satisfies the predicate and cannot miss a state the gripper only passes through, and the polling forms are being deprecated (robotiq/grippers#55). Once the SDK pin moves past that, these call sites warn.Proposal: migrate the four
waitForcalls inhardware_interface.cppto the event-driven form. Predicates read the status of the exchange they are handed, notgripper_->getStatus(), so each wait is tied to the record it woke on. Behaviour is unchanged apart from waking on the cycle instead of up to a poll period later.Blocked on the SDK deprecation landing on grippers main and the pin moving.