Skip to content

Autoconfig for BLISS hardware

Valentin Valls requested to merge autoconfig-hardware into master

Closes #35 (closed)

This MR allow hardware object to describe sub object configuration

  • HardwareObject can override get_subobject_configs
  • BlissObject implements get_subobject_configs checking ObjectRef[List]Property properties. If the compose attribute is True, the configuration is automatically generated.
  • Update hardware description to specify where the compose is expected
  • Rework the hardware initialization from hardware.yml

Hardware initialization

  • A first pass read the hardware defined in the hardware.yml file
  • A second pass register the sub objects, skipping object id which are already registered

This allows to define manually an hardware by id, which is supposed to be initialized from another object.

Tomo hardware

It is used for tomo hardware to reach recursively every expected objects

  • The tomo tomoconfig is defined in the hardware.ynl
    • Auto reach each motors
    • Auto reach tomodetectors
      • Auto reach each tomodetector
        • Auto reach optic
        • Auto reach lima device

As result

  • This single line is needed in beamline
  • There is no need to change anything if the detector list from BLISS is changed (except restarting Daiquiri server)
- url: bliss://tomoconfig

Future

There is way to improve the feature in order to dynamically register object from changes of references.

This could be useful to change the detector list from BLISS without the need of restarting Daiquiri service.

But for now it's not needed.

Edited by Valentin Valls

Merge request reports