ArC2Control UI Signals
During ArC2Control startup a set of Qt signals will be initialised. These
are used to pass messages between the UI and various constituent components as
well as internal and external modules. Current set of signals includes arc2
status changes (connection and configuration) as well as data updates to be
propagated to the UI. Modules can connect and trigger all modules here although
practically connection and configuration signals need not be triggered
explicitly. If you are subclassing BaseModule
then all the required signals are preconnected and the values they correspond
to are exposed directly as object properties or methods. You can still connect
to them but it’s not recommended to emit them explicitly.
To trigger a signal call its emit
method with the correct configuration
of arguments (see Signature on each signal for details).
- arc2control.signals.arc2ConfigChanged = <bound PYQT_SIGNAL arc2ConfigChanged of __Signals object>
Current ArC2 configuration changed. This typically means that either idle mode or default connection configuration (ground or idle) has changed.
Caution
It’s not recommended to emit this signal from modules.
Signature:
arc2ConfigChanged(status: bool, arc: pyarc2.ArC2Config, /)
- arc2control.signals.arc2ConnectionChanged = <bound PYQT_SIGNAL arc2ConnectionChanged of __Signals object>
Current connection to ArC2 changed. This means that an instrument has been connected or disconnected.
Signature:
arc2ConnectionChanged(connected: bool, arc: weakref(pyarc2.Instrument), /)
- arc2control.signals.crossbarSelectionChanged = <bound PYQT_SIGNAL crossbarSelectionChanged of __Signals object>
Current crosspoint selection changed. This is typically emitted after a user selected a different set of crosspoints. Please not that this is not triggered when the same devices have been selected.
Caution
It’s not recommended to emit this signal from modules.
Signature:
crossbarSelectionChanged(selection: set)
- arc2control.signals.dataDisplayUpdate = <bound PYQT_SIGNAL dataDisplayUpdate of __Signals object>
Data display update request on specific crosspoint. Emit this signal to request a plot update for the specific crosspoint. Note that this operation is independent of the data storage facility that is triggered by the valueUpdate and valueBulkUpdate signals. When doing fast operation it’s recommended that you cap your data display update requests to about 5-10 per second otherwise delays will be incurred.
Signature:
dataDisplayUpdate(word: int, bit: int)
- arc2control.signals.datastoreReplaced = <bound PYQT_SIGNAL datastoreReplaced of __Signals object>
The current HDF5 datast has been replaced with a new one. This signal should only really be used internally and it’s triggered when a new dataset is opened or when a new dataset is created
Signature:
datastoreReplaced(dataset: weakref)
- arc2control.signals.readoutVoltageChanged = <bound PYQT_SIGNAL readoutVoltageChanged of __Signals object>
Selected read-out voltage changed. This is emitted when the global read-out voltage has been altered.
Caution
It’s not recommended to emit this signal from modules, unluess you want to change the global read-out voltage (which is, of course, not recommended).
Signature:
readoutVoltageChanged(voltage: float)
- arc2control.signals.valueBulkUpdate = <bound PYQT_SIGNAL valueBulkUpdate of __Signals object>
Specified crosspoint status changed (multiple values). Emit this signal to store multiple values in the timeseries data of the selected crosspoint.
Signature:
valueUpdate(word: int, bit: int, current: ndarray, vpulse: ndarray, pulse_width: ndarray, vread: ndarray, optype: ndarray)
- arc2control.signals.valueUpdate = <bound PYQT_SIGNAL valueUpdate of __Signals object>
Specified crosspoint status changed (single update). Emit this signal to store a value in the timeseries data of the selected crosspoint.
Signature:
valueUpdate(word: int, bit: int, current: float, vpulse: float, pulse_width: float, vread: float, optype: arc2control.h5utils.OpType)