labscript-suite-temp / labscript_devices

Module containing labscript suite hardware compatibility, separate from the main programs. Device compatibility is implemented with a plugin architecture, for modularity and extensibility. Each file in this module contains a labscript device class, a BLACS tab class, a BLACS worker class and a runviewer parser class for a particular device. These implement functionality for the device which the programs in question call on when they encounter each device in user labscript code, hdf5 files, or connection tables.
0 stars 0 forks source link

Device base classes should save class attributes in device/connection table properties #29

Open philipstarkey opened 6 years ago

philipstarkey commented 6 years ago

Original report (archived issue) by Philip Starkey (Bitbucket: pstarkey, GitHub: pstarkey).


We should save all of the device attributes if they are relevant down stream. For example, things like clock_resolution, wait_delay, trigger_delay, etc. of PseudoclockDevices should be stored so that they can be accessed by runmanager. I think these should probably be stored in the device properties in the base class definitions (PseudoclockDevice and IntermediateDevice), leaving it up to the device class maintainer to decide if they should also be saved in the connection table properties (which would force connection table recompilation and prevention of old shots from being re-run if something in the class was updated).

runviewer and BLACS would then access this information rather than relying on the labscript using the same version of the device class, with the same parameters, as runviewer and BLACS (which could even be running on separate PC's)