fastcs.controller#

Members

BaseController

Base class for controller.

Controller

Top-level controller for a device.

ControllerVector

A controller with a collection of identical sub controllers distinguished by a numeric value

class fastcs.controller.BaseController(path: list[str] | None = None, description: str | None = None, ios: Sequence[AttributeIO[T, AttributeIORefT]] | None = None)[source]#

Base class for controller.

attributes: dict[str, Attribute]#

Attributes passed from the device at runtime.

async initialise()[source]#

Hook to dynamically add attributes before building the API

connect_attribute_ios() None[source]#

Connect Attribute callbacks to ``AttributeIO``s

property path: list[str]#

Path prefix of attributes, recursively including parent Controllers.

class fastcs.controller.Controller(description: str | None = None, ios: Sequence[AttributeIO[T, AttributeIORefT]] | None = None)[source]#

Top-level controller for a device.

This is the primary class for implementing device support in FastCS. Instances of this class can be loaded into a FastCS to expose its Attribute``s to the transport layer, which can then perform a specific function with the set of ``Attributes, such as generating a UI or creating parameters for a control system.

class fastcs.controller.ControllerVector(children: Mapping[int, Controller], description: str | None = None, ios: Sequence[AttributeIO[T, AttributeIORefT]] | None = None)[source]#

A controller with a collection of identical sub controllers distinguished by a numeric value