pcdsdevices.signal.AggregateSignal

class pcdsdevices.signal.AggregateSignal(*, name, **kwargs)

Signal that is composed of a number of other signals.

This class exists to handle the group subscriptions without repeatedly getting the values of all the subsignals at all times.

_cache

Mapping from signal to last known value.

Type

dict

_sub_signals

Signals that contribute to this signal.

Type

list

Methods

describe()

Provide schema and meta-data for read()

This keys in the OrderedDict this method returns must match the keys in the OrderedDict return by read().

This provides schema related information, (ex shape, dtype), the source (ex PV name), and if available, units, limits, precision etc.

Returns

data_keys (OrderedDict) – The keys must be strings and the values must be dict-like with the event_model.event_descriptor.data_key schema.

get(**kwargs)

Update all values and recalculate.

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)

Set is like put, but is here for bluesky compatibility

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

Is the signal connected to its associated hardware, and ready to use?

high_limit

The high, inclusive control limit for the Signal

hints

Field hints for plotting

kind
limits

The control limits (low, high), such that low <= value <= high

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.

value

The signal’s value

write_access

Can the signal be written to?