SSC32U commands pipeline

Hi everyone,

I am currently developing a quadruped (picture below, on its stand), equipped with a Teensy 3.6, a SSC32U, ESP8266 wifi and a IMU. I coded a motion sequencer for programming gaits, but I noticed a behaviour from the SSC32U board that I find a bit annoying : when I program a motion with several segments to allow a curved trajectory and a acceleration/deceleration pattern, I have to wait for the motion end before I send the next command string. If not, the SSC32U immediately executes the new command and supersedes the previous ones, even if they have not been executed yet. I think that would make more sense if the SSC32U was “stacking” the commands and performing them in sequence, at least in my case where I want to move several legs simultaneously.
You may argue that this allows to update a motion “on the fly” but at least we could have the choice with some status bit.
Do you guys know if there is some way to change this behaviour ? If not, I will have to change my sequencer and first compute the motion segments for all legs at once so I execute each segments for all 4 legs at the same time.

thanks in advance for your inputs,
Philippe

I’ve never used the servo controller, but I took a look at the manual . There are a couple of things that may help you out. First, there is the multiple servo command that will command several servos to move at once in a coordinated fashion. It is explained on page 25. Second is the Query Movement Status command that will tell you if the previous movement has completed. It is shown on page 33. You can always query to see if the last command has finished before sending the next.

Finally, starting on page 27 is a description of the hex sequencer that is a pre-programmed gait for a hexapod. It may be possible to use that, as well.

Hope this helps.