light-scattering-io / caqtus

Package that provides tools to control an experiment
MIT License
0 stars 0 forks source link

Add dedicated sequencer instruction to compensate delays #3

Closed damienBloch closed 3 months ago

damienBloch commented 6 months ago

While it is possible to shift a sequencer channel by some time, this is not enough to deal with shutter delay. Instead we'd like to garantee that the shutter will be open for a given step (arbitrarly short), so we need to "expand" the trigger of the shutter

light-scattering-io commented 4 months ago

Don't have a good idea how to do this.

A possible solution is to do a logical or with the signal shifted in time by the duration T for the shutter to open:

y(t) = x(t+T) | x(t)

As long as x is high for a duration longer than T, this would cause the signal to become high before required, thus leaving enough time for the shutter to open.

This is straightforward to implement, but will not work if we request the shutter to be open for a duration shorter than the shutter opening time.

Probably need some sort of edge detection + dragging, but it is difficult to implement efficiently.