pcdsdevices.signal.UnitConversionDerivedSignal
- class pcdsdevices.signal.UnitConversionDerivedSignal(derived_from, *, derived_units: str, original_units: str | None = None, user_offset: Real | None = 0, limits: tuple[Real, Real] | None = None, **kwargs)
A DerivedSignal which performs unit conversion.
Custom units may be specified for the original signal, or if specified, the original signal’s units may be retrieved upon first connection.
- Parameters:
derived_from (Signal or str) – The signal from which this one is derived. This may be a string attribute name that indicates a sibling to use. When used in a
Device
, this is then simply the attribute name of anotherComponent
.derived_units (str) – The desired units to use for this signal. These can also be referred to as the “user-facing” units.
original_units (str, optional) – The units from the original signal. If not specified, control system information regarding units will be retrieved upon first connection.
user_offset (any, optional) –
An optional user offset that will be subtracted when updating the original signal, and added when calculating the derived value. This offset should be supplied in
derived_units
and notoriginal_units
.For example, if the original signal updates to a converted value of 500
derived_units
and theuser_offset
is set to 100, thisDerivedSignal
will show a value of 600. When providing a new setpoint, theuser_offset
will be subtracted.write_access (bool, optional) – Write access may be disabled by setting this to
False
, regardless of the write access of the underlying signal.name (str, optional) – The signal name.
parent (Device, optional) – The parent device. Required if
derived_from
is an attribute name.limits (2-tuple, optional) – Ophyd signal-level limits in derived units. DerivedSignal defaults to converting the original signal’s limits, but these may be overridden here without modifying the original signal.
**kwargs – Keyword arguments are passed to the superclass.
Methods
- describe()
Description based on the original signal description
- forward(value)
Compute derived signal value -> original signal value
- inverse(value)
Compute original signal value -> derived signal value
- read()
Put the status of the signal into a simple dictionary format for data acquisition
- Returns:
dict
- read_configuration()
Dictionary mapping names to value dicts with keys: value, timestamp
- set(value, *, timeout=None, settle_time=None, **kwargs)
Set the value of the Signal and return a Status object.
- Returns:
st (Status) – This status object will be finished upon return in the case of basic soft Signals
- trigger()
Call that is used by bluesky prior to read()
Attributes
- SUB_META = 'meta'
- connected
Mirrors the connection state of the original signal
- derived_from
Signal that this one is derived from
- high_limit
The high, inclusive control limit for the Signal
- hints
Field hints for plotting
- kind
- limits
Defaults to limits from the original signal (low, high).
Limit values may be reversed such that
low <= value <= high
after performing the calculation.Limits may also be overridden here without affecting the original signal.
- low_limit
The low, inclusive control limit for the Signal
- metadata
A copy of the metadata dictionary associated with the signal
- metadata_keys
Metadata keys that will be passed along on value subscriptions
- read_access
Can the signal be read?
- timestamp
Timestamp of the readback value
- tolerance
The absolute tolerance associated with the value.
- user_offset
A user-specified offset in derived, user-facing units.
- value
The signal’s value
- write_access
Can the signal be written to?