malcolm.modules.ca.util¶
- class malcolm.modules.ca.util.CABase(meta: malcolm.core.models.VMeta, datatype: Any, writeable: bool, min_delta: Anno(name='AMinDelta', typ=<class 'float'>, description='Minimum time between attribute updates in seconds') = 0.05, timeout: Anno(name='ATimeout', typ=<class 'float'>, description='Max time to wait for puts to complete, <0 is forever') = 10.0, sink_port: Optional[Anno(name='ASinkPort', typ=<enum 'Port'>, description='If given, mark this as a Sink Port of the given type')] = None, widget: Optional[Anno(name='AWidget', typ=<enum 'Widget'>, description='If given, use this widget instead of the default')] = None, group: Optional[Anno(name='AGroup', typ=<class 'str'>, description='If given, which GUI group should we attach to')] = None, config: Anno(name='AConfig', typ=<class 'int'>, description='If writeable, which iteration should this field be loaded/saved in? 0 means do not restore') = 1, on_connect: Optional[Callable[[Any], None]] = None, throw: Anno(name='AThrow', typ=<class 'bool'>, description='throw error if PV not found') = True, callback: Optional[Callable[[Any], None]] = None, port_badge: Optional[Anno(name='APortBadge', typ=<class 'str'>, description='If given, mark this Sink Port as having a badge value [tag constructed by badge_value_tag()]')] = None)[source]¶
- class malcolm.modules.ca.util.CAAttribute(meta: malcolm.core.models.VMeta, datatype: Any, pv: Anno(name='APv', typ=<class 'str'>, description='Full pv of demand and default for rbv') = '', rbv: Anno(name='ARbv', typ=<class 'str'>, description='Override for rbv') = '', rbv_suffix: Anno(name='ARbvSuffix', typ=<class 'str'>, description='Set rbv to pv + rbv_suffix') = '', min_delta: Anno(name='AMinDelta', typ=<class 'float'>, description='Minimum time between attribute updates in seconds') = 0.05, timeout: Anno(name='ATimeout', typ=<class 'float'>, description='Max time to wait for puts to complete, <0 is forever') = 10.0, sink_port: Optional[Anno(name='ASinkPort', typ=<enum 'Port'>, description='If given, mark this as a Sink Port of the given type')] = None, widget: Optional[Anno(name='AWidget', typ=<enum 'Widget'>, description='If given, use this widget instead of the default')] = None, group: Optional[Anno(name='AGroup', typ=<class 'str'>, description='If given, which GUI group should we attach to')] = None, config: Anno(name='AConfig', typ=<class 'int'>, description='If writeable, which iteration should this field be loaded/saved in? 0 means do not restore') = 1, on_connect: Optional[Callable[[Any], None]] = None, throw: Anno(name='AThrow', typ=<class 'bool'>, description='throw error if PV not found') = True, callback: Optional[Callable[[Any], None]] = None, port_badge: Optional[Anno(name='APortBadge', typ=<class 'str'>, description='If given, mark this Sink Port as having a badge value [tag constructed by badge_value_tag()]')] = None)[source]¶
- class malcolm.modules.ca.util.WaveformTableAttribute(meta: malcolm.core.models.VMeta, datatype: Any, pv_list: Anno(name='APvList', typ=<class 'str'>, description='List of PVs to monitor') = (), name_list: Anno(name='ANameList', typ=<class 'str'>, description='List of names to give to monitored PVs') = (), min_delta: Anno(name='AMinDelta', typ=<class 'float'>, description='Minimum time between attribute updates in seconds') = 0.05, timeout: Anno(name='ATimeout', typ=<class 'float'>, description='Max time to wait for puts to complete, <0 is forever') = 10.0, widget: Optional[Anno(name='AWidget', typ=<enum 'Widget'>, description='If given, use this widget instead of the default')] = None, group: Optional[Anno(name='AGroup', typ=<class 'str'>, description='If given, which GUI group should we attach to')] = None, config: Anno(name='AConfig', typ=<class 'int'>, description='If writeable, which iteration should this field be loaded/saved in? 0 means do not restore') = 1, limits_from_pv: Anno(name='AGetLimits', typ=<class 'bool'>, description='Get limits from PV (HOPR & LOPR)') = False, on_connect: Optional[Callable[[Any], None]] = None, throw: Anno(name='AThrow', typ=<class 'bool'>, description='throw error if PV not found') = True, callback: Optional[Callable[[Any], None]] = None, port_badge: Optional[Anno(name='APortBadge', typ=<class 'str'>, description='If given, mark this Sink Port as having a badge value [tag constructed by badge_value_tag()]')] = None)[source]¶