fastcs.transports.epics.util#

Members

EPICS_MAX_NAME_LENGTH

Maximum length of an EPICS PV name, enforced by both CA and PVA transports.

pv_prefix_from_path

Derive an EPICS PV prefix from a controller path.

validate_epics_pv_id

Reject controller ids that wouldn't be safe in an EPICS PV name.

fastcs.transports.epics.util.EPICS_MAX_NAME_LENGTH = 60#

Maximum length of an EPICS PV name, enforced by both CA and PVA transports.

fastcs.transports.epics.util.pv_prefix_from_path(path: list[str]) str[source]#

Derive an EPICS PV prefix from a controller path.

The first segment (the controller id) is used verbatim; later segments are converted snake_case → PascalCase. Joined with ‘:’.

fastcs.transports.epics.util.validate_epics_pv_id(controller_api: ControllerAPI, *, transport_label: str, id_re: Pattern[str]) None[source]#

Reject controller ids that wouldn’t be safe in an EPICS PV name.

Rejects ids with characters not matched by id_re and rejects setups where the longest derivable PV prefix already exceeds the EPICS_MAX_NAME_LENGTH PV name limit. transport_label is the transport-specific tag (e.g. "EPICS CA id") that appears in the illegal-characters error message.