We are making a processing app thats synchronises video and movements, so the code is a bit long.
The problem might be because we are using curves to edit the animation, so the data is constantly updated from the curve (like every 20 ms or 100ms). Setting acceleration and deceleration make it more smooth, but not perfect.
Maybe it should be better to have few targets rather than updating the curve frequently, or add another curve that update acceleration/deceleration during time…
Can you verify the actual serial string you output?
Note that the modifier T25 represents 25 milliseconds, which is not enough for a move.
You also need to change to EM0 (since EM1 has a built-in motion profile). Within EM0 (after firmware v368) you can also edit the position filter / count.
The next thing you can experiment with is the filter, which will likely smooth out the motion considerably (though there are some points / additional considerations to watch out for given that it’s taking an average of points).