Would it be possible to add a way to sync the commutation across multiple vescs? So that they all move at the same time. This would be good for multiple motors on the same belt.
Was thinking this would be possible by having one vesc (master) output a pulse on an I/O line when it is about to commutate and the others wait for it. A bit like a barrier in c.
BLDC (PMSM) motors run with closed loop commutation, so when to commutate is decided by the position of the motor and not by when the controller decides to as with stepper motors. FOC does actually not commutate in the same sense at all, it generates continuous sine currents that turn smoothly, also with position feedback. When commutation happens depends on the applied current, inertia and load. Position control for example is something that controls the current based on position feedback to achieve a desired position.
If your goal is to run several motors on the same belt (in "parallel") it should work fine with just current control as it is. Then every motor applies a torque proportional to the current and synchronization happens automatically as they are linked mechanically and the commutation is done by feedback from the motor positions.