In the quest to reduce the latency of string measurements, it was discovered that there is significant sensor parallax due to each sensor measuring independently of one and other (clock drift over time, different start times). Notice the out of phase measurements below from two different sensors:
This means that it may take up to 20ms (at 100Hz) to be able to operate on the latest sensor measurements from all sensors when detecting strings.
To counter this, the MappyDot firmware required the addition of a synchronisation pulse to keep measurements in line with each other. The pulse is sent along the addressing lines from one device to the next (as soon as the pulse is received it sends it to the next device in the interrupt routine to reduce propagation delay).
The master device controls the firing of each measurement when in synchronisation mode. So if it is operating continuously, or in single shot mode, each subsequent device in the chain will also fire at the same time. It has the added benefit of only requiring a single "take measurement" command to be sent to the master, when in single shot mode.
So with this in place we get the following synchronised measurements without the parallax (measurement pulses shown from two random sensors):
Yay, 10ms string measurements!