On Thu, Nov 24, 2016 at 12:10 AM, Srinivas, Raghavendra (IntlAssoc)
<[email protected]> wrote:
> Just out of curiosity, ttl.pulse(t) is essentially,
>
> ttl.on()
> delay(t)
> ttl.off()
>
> How would ttl.pulse_off(t) be different from
>
> ttl.off()
> delay(t)
> ttl.on()
>
> to avoid the problem when t=0 that back to back pulses have?

As explained earlier, they would be
if t:
    ttl.on()
    delay(t)
ttl.off()

and

if t:
    ttl.off()
    delay(t)
ttl.on()

respectively.

And as you can see, the behavior with zero-length pulses is
surprising. You would expect a zero-length pulse to "do nothing". But
it does:

ttl.on()
ttl.pulse(0)

is not the same as

ttl.on()

In fact and maybe surprising it is equivalent to the same as the exact
opposite, namely:

ttl.off()

Furthermore, and as explained earlier as well, it is confusing because
you can always do both:

ttl.pulse(0)

and

ttl.pulse(10*ns)

though they have very different results. But sometimes you can't do:

ttl.pulse(5*ns)

That raises an exception depending on the exact fine timestamp.

-- 
Robert Jördens.
_______________________________________________
ARTIQ mailing list
https://ssl.serverraum.org/lists/listinfo/artiq

Reply via email to