I'm trying to make 5 steppers travel through n sets of targets. The steppers need to reach their target at the same time.
I'm running a loop in a thread (C#) to calculate velocity and speed ramping for each stepper, to set the target of each stepper (to move the steppers) and to monitor when the steppers reach their target; a new set of targets is assigned when the steppers reach their target (roughly after more than 3 seconds).
This means that I do in the same iteration 3 requests per stepper (SetMaxVelocity, SetSpeedRamping, SetSteps/SetTargetPosition) and in total 15 requests per set of targets.
It works but after a few sets of targets one of the steppers does not execute the 'move'(SetTargetPosition) command (usually, the same stepper which is also last to be moved by the code).
What's going on? How many commands can I send to the steppers during the same iteration?
I tried calling the Tinkerforge API methods asynchronously and sleeping the thread for a brief time after every stepper command but there was no difference.