DAQ PolicyΒΆ

Not every parameter of a device is interesting to record, such as the provided scenes. As such, the policy for each individual property can be set, on a per-instance basis.

These are specified using the DAQPolicy enum:
  • OMIT: will not record the property to file;

  • SAVE: will record the property to file;

  • UNSPECIFIED: will adopt the global default DAQ policy. Currently, it is set to record, although this will eventually change to not recorded.

Legacy devices which do not specify a policy will have an UNSPECIFIED policy set to all their properties.

Note

This are applied to leaf properties. Nodes do not have DAQPolicy.

Developers should liaise with users to define which properties should be recorded. These can be set up programmatically:

from karabo.bound import DAQPolicy, MetricPrefix, UINT32_ELEMENT

@staticmethod
def expectedParameters(expected):
    (
        UINT32_ELEMENT(expected).key('enzymAssay')
            .displayedName("Assay")
            .descriptio("Enzym Activity")
            .unit(Unit.KATAL)
            .metricPrefix(MetricPrefix.MICRO)
            .daqPolicy(DAQPolicy.SAVE)
            .readOnly().initialValue(0)
            .commit(),
    )

The policy can be overwritten from the GUI, before instantiation, and saved in a project:

_images/daq_policy.png

Injected properties, however, can only define their policy at the time of injection.