Reference#
Device Classes#
- class SECoPNodeDevice(sec_node_uri: str = '', name: str = '', loglevel=logging.INFO, logdir: str | None = None)#
Bases:
secop_ophyd.SECoPDevices.SECoPDevice- async connect(mock=False, timeout=DEFAULT_TIMEOUT, force_reconnect=False)#
- descriptiveDataChange(module, description)#
- nodeStateChange(online, state)#
called when the state of the connection changes
‘online’ is True when connected or reconnecting, False when disconnected or connecting ‘state’ is the connection state as a string
- class SECoPCommunicatorDevice(sri: str = '', name: str = '', connector: secop_ophyd.SECoPDevices.SECoPDeviceConnector | None = None, loglevel=logging.INFO, logdir: str | None = None)#
- class SECoPReadableDevice(sri: str = '', name: str = '', connector: secop_ophyd.SECoPDevices.SECoPDeviceConnector | None = None, loglevel=logging.INFO, logdir: str | None = None)#
Bases:
secop_ophyd.SECoPDevices.SECoPDevice,bluesky.protocols.Triggerable,bluesky.protocols.SubscribableStandard readable SECoP device, corresponding to a SECoP module with the interface class “Readable”
Initialization
Initializes the SECoPReadableDevice
- Parameters:
secclient (AsyncFrappyClient) – SECoP client providing communication to the SEC Node
module_name (str) – Name of the SEC Node module that is represented by this device
- async connect(mock=False, timeout=DEFAULT_TIMEOUT, force_reconnect=False)#
- async wait_for_idle()#
asynchronously waits until module is IDLE again. this is helpful, for running commands that are not done immediately
- trigger() ophyd_async.core.AsyncStatus#
- subscribe(function: ophyd_async.core._utils.Callback[dict[str, bluesky.protocols.Reading]]) None#
Subscribe to updates in the reading
- class SECoPTriggerableDevice(sri: str = '', name: str = '', connector: secop_ophyd.SECoPDevices.SECoPDeviceConnector | None = None, loglevel=logging.INFO, logdir: str | None = None)#
Bases:
secop_ophyd.SECoPDevices.SECoPReadableDevice,bluesky.protocols.StoppableStandard triggerable SECoP device, corresponding to a SECoP module with the0s interface class “Triggerable”
Initialization
Initialize SECoPTriggerableDevice
- Parameters:
secclient (AsyncFrappyClient) – SECoP client providing communication to the SEC Node
module_name (str) – ame of the SEC Node module that is represented by this device
- class SECoPWritableDevice(sri: str = '', name: str = '', connector: secop_ophyd.SECoPDevices.SECoPDeviceConnector | None = None, loglevel=logging.INFO, logdir: str | None = None)#
- class SECoPMoveableDevice(sri: str = '', name: str = '', connector: secop_ophyd.SECoPDevices.SECoPDeviceConnector | None = None, loglevel=logging.INFO, logdir: str | None = None)#
Bases:
secop_ophyd.SECoPDevices.SECoPReadableDevice,bluesky.protocols.Locatable,bluesky.protocols.StoppableStandard movable SECoP device, corresponding to a SECoP module with the interface class “Drivable”
Initialization
Initialize SECoPMovableDevice
- Parameters:
secclient (AsyncFrappyClient) – SECoP client providing communication to the SEC Node
module_name (str) – ame of the SEC Node module that is represented by this device
- async connect(mock=False, timeout=DEFAULT_TIMEOUT, force_reconnect=False)#
- set(new_target, timeout: Optional[float] = None) ophyd_async.core.AsyncStatus#
Sends new target to SEC Nonde and waits until module is IDLE again
- Parameters:
new_target (_type_) – new taget/setpoint for module
timeout (Optional[float], optional) – timeout for set operation, defaults to None
- Returns:
Asyncstatus that gets set to Done once module is IDLE again
- Return type:
AsyncStatus
- async stop(success=True)#
Calls stop command on the SEC Node module
- Parameters:
success (bool, optional) – True: device is stopped as planned False: something has gone wrong (defaults to True)
- async locate() bluesky.protocols.Location#