caproto.server.pvfunction

Inheritance diagram of pvfunction
class caproto.server.pvfunction(func=None, default=None, names=None, alarm_group=None, prefix=None, macros=None, attr_separator=None, doc=None)[source]

A descriptor for making an RPC-like function.

Note: Requires Python type hinting for all arguments to the function and its return value. These are used to generate the PVs.

It’s worth noting that this is not particularly very useful when multiple clients are accessing the same IOC, which is rather the point of EPICS, isn’t it? That being said, this reflects an intended API for when future pvAccess support gets added.

Parameters
funcasync callable, optional

The function to wrap

defaultany, optional

Default value for the return value

namesdict, optional

Valid keys include {‘process’, ‘retval’, ‘status’} and also any function argument names. This will map attributes of the dynamically-generated PVGroup that this pvfunction represents to EPICS PV names.

alarm_groupstr, optional

The alarm group name this group should be associated with

prefixstr, optional

The prefix for all PVs

macrosdict, optional

Macro dictionary for PVs

attr_separatorstr, optional

String separator between {prefix} and {attribute} for generated PV names.

docstr, optional

Docstring

Methods

get_additional_parameters()

pvspec_from_parameter(param[, doc])

Attributes

default_names

group

Property handling either group dict or group class

group_dict

The group attribute dictionary