I am sending a square wave from the Fastino module and the ttl module in parallel with the following code
@kernel
def run(self):
self.core.reset()
self.core.break_realtime()
self.fastino.init()
self.fastino.set_dac(0, 0.0)
delay(2*s)
freq = 50*kHz
while True:
with parallel:
self.fastino.set_dac(0, 9.95)
self.ttl.on()
delay(1/(2*freq))
with parallel:
self.fastino.set_dac(0, 0.0)
self.ttl.off()
delay(1/(2*freq))
self.fastino.set_dac(0, 0.0)
I see the following on the scope (yellow is Fastino output and blue is the ttl, the output is triggered on ttl)


Here we notice two issues:
1) The ttl signal and the Fastino signals are not in phase. We used similar length cables. Is this phase delay deterministic? Can this be compensated for?
2) The bigger issue is that the Fastino output seems to have quite a significant jitter of 0.5 us. We verified this was indeed jitter by sending individual pulses and checking on shot to shot basis. Is this caused by some issue in my program or measurement? If not, why wasn't the jitter mentioned in the manual?