labscript-suite / labscript

The 𝗹𝗮𝗯𝘀𝗰𝗿𝗶𝗽𝘁 library provides a translation from expressive Python code to low-level hardware instructions.
http://labscriptsuite.org
BSD 2-Clause "Simplified" License
9 stars 51 forks source link

Experiments do not work with no pseudoclock #14

Closed philipstarkey closed 10 years ago

philipstarkey commented 10 years ago

Original report (archived issue) by Chris Billington (Bitbucket: cbillington, GitHub: chrisjbillington).


It should be perfectly possible to have an experiment with no pseudoclocks, if it is using only toplevel devices, and none of them require clocking by a pseudoclock, or even triggering for that matter (anything that requires triggering should be a subclass of PseudoclockDevice).

So if there are no pseudoclocks labscript should still compile. it should store None as the master pseudoclock in the hdf5 file, and BLACS will need to check this.

BLACS normally uses this attribute to check which device tab to call start() on, but if it is None it can simply skip this line and consider the experiment already started.

We should store the experiment's stop time somewhere, and if there is no pseudoclok, BLACS should just time.sleep() for that long.

This would be the case for example for an experiment that contained static devices only like Zaber stages and these NewPort automatic mirror mounts we're implementing a labscript device for.

It is practical to run shots with static values, if only to automate a scan over parameter space and manually look at scopes and stuff.

philipstarkey commented 10 years ago

Original comment by Chris Billington (Bitbucket: cbillington, GitHub: chrisjbillington).


Resolves issue #14 and issue #12

→ \<\<cset 40ccc11bd0725d37c7800f8605f2ab194d07c31b>>