caproto.ChannelEnum

Inheritance diagram of ChannelEnum
class caproto.ChannelEnum(*, enum_strings=None, **kwargs)[source]

ENUM data which can be sent over a channel.

Arrays of ENUM data are not supported.

Parameters
valueint or str

The string value in the enum, or an integer index of that list.

enum_stringslist, tuple, optional

Enum strings to be used for the data.

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 of TimeStamp 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.

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.

get_raw_value(value)

The raw integer value index of the provided enum string.

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(*args[, flags])

Write data from native Python types.

write_from_dbr(*args[, flags])

Write data from a provided DBR data type.

write_metadata([enum_strings])

Write metadata, optionally publishing information to clients.

Attributes

alarm

The ChannelAlarm associated with this data

data_type

enum_strings

Read-only access to enum_strings data

epics_timestamp

EPICS timestamp as (seconds, nanoseconds) since EPICS epoch.

length

The number of elements (length) of the current value

max_length

The maximum number of elements (length) this channel can hold

raw_value

The raw integer value index of the enum string.

severity

Alarm severity

status

Alarm status

timestamp

UNIX timestamp in seconds.

value

Read-only access to value data