caproto.server.PvpropertyData

Inheritance diagram of PvpropertyData
class caproto.server.PvpropertyData(*, pvname: str, group: caproto.server.server.PVGroup, pvspec: caproto.server.server.PVSpec, doc: Optional[str] = None, record: Optional[Union[str, Type[T_RecordFields]]] = None, logger: Optional[logging.Logger] = None, **kwargs)[source]

A top-level class for mixing in with ChannelData subclasses.

Takes in a fully-expanded pvname, PVSpec, and group instance.

Parameters
pvnamestr

The fully expanded process variable name.

groupPVGroup

The PVGroup instance to which this pvproperty belongs.

pvspecPVSpec

The associated PVSpec instance, containing detailed information about the pvproperty.

docstr, optional

Docstring / documentation information.

recordstr, optional

The record type to report over channel access. This can be queried by way of caproto-get record.RTYP or caproto-get -d 38 --format "{response.metadata.value}" record

**kwargs

Passed to the superclass, along with reported_record_type.

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_field(field)

Get a field by name.

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)

The top-level read method, with a specific requested 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 to update field instance data.

verify_value(value)

The top-level dbr-facing “write” method.

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

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

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