caproto._data.ChannelData¶

- class caproto._data.ChannelData(*, alarm=None, value=None, timestamp=None, max_length=None, string_encoding='latin-1', reported_record_type='caproto', max_subscription_backlog: int = 1000)[source]¶
 Base class holding data and metadata which can be sent across a Channel.
- Parameters:
 - value
 Data which has to match with this class’s
data_type.- timestampfloat, TimeStamp, or 2-tuple, optional
 Timestamp associated with the value. Defaults to
time.time(). Raw EPICS timestamps are also supported in the form ofTimeStampor(seconds_since_epoch, nanoseconds).- max_lengthint, optional
 Maximum array length of the data.
- string_encodingstr, optional
 Encoding to use for strings, used when serializing and deserializing data.
- reported_record_typestr, optional
 Though this is not a record, the channel access protocol supports querying the record type. This can be set to mimic an actual record or be set to something arbitrary. Defaults to ‘caproto’.
Methods
auth_read(hostname, username, data_type, *)Get DBR data and native data, converted to a specific type
auth_write(hostname, username, data, ...[, ...])Data write hook for clients.
calculate_length(value)Calculate the number of elements given a value
check_access(hostname, username)This always returns
AccessRights.READ|AccessRights.WRITE.is_compatible_array(value)Check if the provided value is a compatible array.
post_state_change(state, new_value)This is called by the server when it exits its StateUpdateContext.
pre_state_change(state, new_value)This is called by the server when it enters its StateUpdateContext.
preprocess_value(value)Pre-process values destined for verify_value and write
publish(flags)Publish data to appropriate queues matching the SubscriptionSpec.
read(data_type)Read out the ChannelData as
data_type.subscribe(queue, sub_spec, sub)Subscribe a queue for the given subscription specification.
unsubscribe(queue, sub_spec)Unsubscribe a queue for the given subscription specification.
update_fields(value)This is a hook for subclasses to update field instance data.
verify_value(data)Verify a value prior to it being written by CA or Python
write(value, *[, flags, verify_value, ...])Write data from native Python types.
write_from_dbr(data, data_type, metadata, *)Write data from a provided DBR data type.
write_metadata([publish, units, precision, ...])Write metadata, optionally publishing information to clients.
Attributes
alarmThe ChannelAlarm associated with this data
data_typedefault_valueepics_timestampEPICS timestamp as (seconds, nanoseconds) since EPICS epoch.
lengthThe number of elements (length) of the current value
max_lengthThe maximum number of elements (length) this channel can hold
severityAlarm severity
statusAlarm status
timestampUNIX timestamp in seconds.
valueRead-only access to value data
max_subscription_backlog