labscript-suite / labscript-devices

A modular and extensible plugin architecture to control experiment hardware using the 𝘭𝘒𝘣𝘴𝘀𝘳π˜ͺ𝘱𝘡 𝘴𝘢π˜ͺ𝘡𝘦.
http://labscriptsuite.org
Other
5 stars 58 forks source link

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

Open philipstarkey opened 5 years ago

philipstarkey commented 5 years ago

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


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)