pcdsdevices.lxe._ScaledUnitConversionDerivedSignal

class pcdsdevices.lxe._ScaledUnitConversionDerivedSignal(derived_from, *, derived_units: str, original_units: str | None = None, user_offset: Real | None = 0, limits: tuple[Real, Real] | None = None, **kwargs)

Methods

describe()

Description based on the original signal description

forward(value)

Compute derived signal value -> original signal value

get(**kwargs)

Get the value from the original signal, with inverse applied to it

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?

scale = -1
subscriptions: ClassVar[FrozenSet[str]] = frozenset({'meta', 'value'})
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?

derived_units: str
original_units: str