This allows the PC to send off a single command which will create an S-curve profile move. Because it's only one command from the PC, there will be a shorter minimum viable command length than the sum of the two T3 commands. Likely the TD command will be able to run continuously at a minimum duration of 4ms - this will be tested.
The idea here is to create a new command called 'TD' which will take
TD,Intervals,Rate1A,Rate1B,Accel1,Jerk1,Rate2A,Rate2B,Accel2,Jerk2[,Clear]
and create two T3 commands out of it which will then get scheduled into the FIFO as so:
T3,Intervals,Rate1A,0,Jerk1,Rate2A,0,Jerk2[,Clear] T3,Intervals,Rate1B,Accel1,-Jerk1,Rate2B,Accel2,-Jerk2
This allows the PC to send off a single command which will create an S-curve profile move. Because it's only one command from the PC, there will be a shorter minimum viable command length than the sum of the two T3 commands. Likely the TD command will be able to run continuously at a minimum duration of 4ms - this will be tested.