The labscript Python library provides a translation from simple Python code to complex hardware instructions. The library is used to construct a "connection table" containing information about what hardware is being used and how it is interconnected. Devices described in this connection table can then have their outputs set by using a range of functions, including arbitrary ramps.
For optimal experimental stability it is desired that shots be submitted as periodically as possible. I propose adding a new kwarg to "stop" in labscript so:
stop(t)
becomes
stop(t, shot_interval=20)
this would demand that the execution (not programming) of the next shot in the sequence start as close to 20 s after this one was executed as possible. If not currently present the h5 file will contain attributes marking both the start and completion time of the script along with a boolean reporting if the script was successfully started at the desired shot_interval (this might fail sometimes, owing to novatech programming for example), but we don't want to stop cycling because of this.
Original report (archived issue) by Ian B. Spielman (Bitbucket: Ian Spielman, GitHub: ispielma).
For optimal experimental stability it is desired that shots be submitted as periodically as possible. I propose adding a new kwarg to "stop" in labscript so:
stop(t)
becomes
stop(t, shot_interval=20)
this would demand that the execution (not programming) of the next shot in the sequence start as close to 20 s after this one was executed as possible. If not currently present the h5 file will contain attributes marking both the start and completion time of the script along with a boolean reporting if the script was successfully started at the desired shot_interval (this might fail sometimes, owing to novatech programming for example), but we don't want to stop cycling because of this.