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.
If the pseudoclock supports it, we should support nested loops.
This would especially be useful if two clocklines are ramping, where one ramps at an integer multiple of another.
This shouldn't be too hard to do, the question is if the ramp rates are not specified as integer multiples, which one do you up-sample. The "obvious" answer is to up-sample the one with more available instructions. In a perfect world we'd keep track of how many instructions were left on a device at any given time, but perhaps that is overkill!
Original report (archived issue) by Philip Starkey (Bitbucket: pstarkey, GitHub: pstarkey).
If the pseudoclock supports it, we should support nested loops.
This would especially be useful if two clocklines are ramping, where one ramps at an integer multiple of another.
This shouldn't be too hard to do, the question is if the ramp rates are not specified as integer multiples, which one do you up-sample. The "obvious" answer is to up-sample the one with more available instructions. In a perfect world we'd keep track of how many instructions were left on a device at any given time, but perhaps that is overkill!