To attach different devices to the ICON in the real-time loop (hardware worker), we would like to standardize the interface to the hardware, such that we offer
- setting data (experiment sequences)
- getting status (during runtime -> contains flag, status and extra data)
- getting result (after runtime -> contains flag, results)
To correctly describe the form of both results and status data, readout metadata can be generalized / used, which also allows storing in HDF5.
Device connection should be separated from the main ICON configuration file and stored in a separate configuration file detailing
- Device Identifier
- Hardware Controller (device specific implemementation)
- Device / Controller Specific: IP / Device Name / Hostname / ...
This could be the same for slow (non-real time) devices such as pydase services, where the Client is then just pydase.
How the connection to the device is made and what other information is provided in the configuration is dependent on the device itself.
Now we need to map output products of an experiment to a device and results / status to the HDF file. For the second step, readout metadata (or a generalization) should be used. For the first step we have several options:
- Use Pycrystal Hardware description
- Use Experiment config (somewhat cumbersome, most likely the same over all experiments)
- Use decorators on experiment functions
- Create new metadata objects from each experiment
To attach different devices to the ICON in the real-time loop (hardware worker), we would like to standardize the interface to the hardware, such that we offer
To correctly describe the form of both results and status data, readout metadata can be generalized / used, which also allows storing in HDF5.
Device connection should be separated from the main ICON configuration file and stored in a separate configuration file detailing
This could be the same for slow (non-real time) devices such as pydase services, where the Client is then just pydase.
How the connection to the device is made and what other information is provided in the configuration is dependent on the device itself.
Now we need to map output products of an experiment to a device and results / status to the HDF file. For the second step, readout metadata (or a generalization) should be used. For the first step we have several options: