pcdsdevices.signal.AvgSignal
- class pcdsdevices.signal.AvgSignal(signal, averages, *, name, parent=None, **kwargs)
Signal that acts as a rolling average of another signal.
This will subscribe to a signal, and fill an internal buffer with values from
SUB_VALUE
. It will update its own value to be the mean of the last n accumulated values, up to the buffer size. If we haven’t filled this buffer, this will still report a mean value composed of all the values we’ve receieved so far.Warning: this means that if we only have recieved ONE value, the mean will just be the mean of a single value!
- Parameters:
signal (Signal) – Any subclass of
ophyd.signal.Signal
that returns a numeric value. This signal will be subscribed to be AvgSignal to calculate the mean.averages (int) – The number of
SUB_VALUE
updates to include in the average. New values after this number is reached will begin overriding old values.
Methods
- describe()
Provide schema and meta-data for
read()
This keys in the
OrderedDict
this method returns must match the keys in theOrderedDict
return byread()
.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)
The readback 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'
- averages
The size of the internal buffer of values to average over.
- connected
- 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?