caproto.ChannelString¶
-
class
caproto.
ChannelString
(*, alarm=None, value=None, timestamp=None, max_length=None, string_encoding='latin-1', reported_record_type='caproto', long_string_max_length=81)[source]¶ 8-bit encoded string data plus metadata which can be sent over a channel.
Allows for simple access over CA to the first 40 characters as a DBR_STRING when
report_as_string
is set.- Parameters
- valuestr
Initial starting data.
- string_encodingstr, optional
The string encoding to use, defaults to ‘latin-1’.
- long_string_max_lengthstr, optional
When requested as a long string (DBR_CHAR over Channel Access), this is the reported maximum length.
- timestampfloat, TimeStamp, or 2-tuple, optional
Timestamp to report for the current value. Supported options include
time.time()
-style UNIX timestamps, raw EPICS timestamps in the form ofTimeStamp
or(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])Write data from native Python types.
write_from_dbr
(*args[, flags])Write data from a provided DBR data type.
write_metadata
([publish, units, precision, …])Write metadata, optionally publishing information to clients.
Attributes
alarm
The ChannelAlarm associated with this data
data_type
default_value
epics_timestamp
EPICS timestamp as (seconds, nanoseconds) since EPICS epoch.
length
The number of elements (length) of the current value
long_string_max_length
The maximum number of elements (length) of the current value
max_length
The maximum number of elements (length) this channel can hold
severity
Alarm severity
status
Alarm status
timestamp
UNIX timestamp in seconds.
value
Read-only access to value data