secop_ophyd.SECoPSignal#

Module Contents#

Classes#

AttributeType

LocalBackend

Class for the ‘argument’ and ‘result’ Signal backends of a SECoP_CMD_Device. These Signals act as a local cache for storing the command argument and result.

SECoPXBackend

Signal backend for SignalX of a SECoP_CMD_Device, that handles command execution

SECoPBackend

Unified backend for SECoP Parameters and Properties.

Functions#

secop_dtype_obj_from_json

describedict_to_datakey

Convert a DataKey to a SECoPDataKey

Data#

API#

secop_ophyd.SECoPSignal.atomic_dtypes = ()#
secop_ophyd.SECoPSignal.MAX_DEPTH = 1#
class secop_ophyd.SECoPSignal.AttributeType[source]#

Bases: ophyd_async.core.StrictEnum

PARAMETER = 'parameter'#
PROPERTY = 'property'#
class secop_ophyd.SECoPSignal.LocalBackend(path: secop_ophyd.util.Path, secop_dtype_obj: frappy.datatypes.DataType, sig_datainfo: dict)[source]#

Bases: ophyd_async.core.SignalBackend

Class for the ‘argument’ and ‘result’ Signal backends of a SECoP_CMD_Device. These Signals act as a local cache for storing the command argument and result.

Initialization

Initialize SECoP_CMD_IO_Backend

Parameters:
  • path (Path) – Path to the command in the secclient module dict

  • SECoPdtype_obj – detailed SECoP datatype object for bidirectional

conversion between JSON to and numpy arrays :type SECoPdtype_obj: DataType :param sig_datainfo: SECoP datainfo string of the value represented by the signal :type sig_datainfo: dict

source(name: str, read: bool) str[source]#
async connect(timeout: float)[source]#
async put(value: Any | None)[source]#
async get_datakey(source: str) bluesky.protocols.DataKey[source]#

Metadata like source, dtype, shape, precision, units

async get_reading() bluesky.protocols.Reading[ophyd_async.core.SignalDatatypeT][source]#
async get_value() ophyd_async.core.SignalDatatypeT[source]#
async get_setpoint() ophyd_async.core.SignalDatatypeT[source]#
set_callback(callback: ophyd_async.core.Callback[bluesky.protocols.Reading[ophyd_async.core.SignalDatatypeT]] | None) None[source]#
class secop_ophyd.SECoPSignal.SECoPXBackend(path: secop_ophyd.util.Path, secclient: secop_ophyd.AsyncFrappyClient.AsyncFrappyClient, argument: secop_ophyd.SECoPSignal.LocalBackend | None, result: secop_ophyd.SECoPSignal.LocalBackend | None)[source]#

Bases: ophyd_async.core.SignalBackend

Signal backend for SignalX of a SECoP_CMD_Device, that handles command execution

Initialization

Initializes SECoP_CMD_X_Backend

Parameters:
  • path (Path) – Path to the command in the secclient module dict

  • secclient (AsyncFrappyClient) – SECoP client providing communication to the SEC Node

  • argument (SECoP_CMD_IO_Backend | None) – Refence to Argument Signal

  • result (SECoP_CMD_IO_Backend | None) – Reference to Result Signal

source(name: str, read: bool) str[source]#
async connect(timeout: float)[source]#
async put(value: Any | None)[source]#
async get_datakey(source: str) bluesky.protocols.DataKey[source]#

Metadata like source, dtype, shape, precision, units

async get_reading() bluesky.protocols.Reading[ophyd_async.core.SignalDatatypeT][source]#
async get_value() ophyd_async.core.SignalDatatypeT[source]#
set_callback(callback: ophyd_async.core.Callback[bluesky.protocols.Reading[ophyd_async.core.SignalDatatypeT]] | None) None[source]#
async get_setpoint() ophyd_async.core.SignalDatatypeT[source]#
class secop_ophyd.SECoPSignal.SECoPBackend(datatype: type[ophyd_async.core.SignalDatatypeT] | None, path: str | None = None, attribute_type: str | None = None, secclient: secop_ophyd.AsyncFrappyClient.AsyncFrappyClient | None = None)[source]#

Bases: ophyd_async.core.SignalBackend[ophyd_async.core.SignalDatatypeT]

Unified backend for SECoP Parameters and Properties.

This allows a single backend type to be used in signal_backend_factory, with deferred initialization based on annotation metadata.

Initialization

Initialize backend (supports deferred initialization).

Args:

datatype: Optional datatype for the signal path: Optional path for immediate initialization (module:param or prop_key) secclient: Optional SECoP client for immediate initialization

format: ophyd_async.core.StandardReadableFormat = None#
attribute_type: str | None = None#
path_str: str = None#
SECoPdtype_obj: frappy.datatypes.DataType = None#
SECoP_type_info: secop_ophyd.util.SECoPdtype = None#
describe_dict: dict = None#
init_parameter_from_introspection(datatype: type[ophyd_async.core.SignalDatatypeT], path: str, secclient: secop_ophyd.AsyncFrappyClient.AsyncFrappyClient)[source]#
init_property_from_introspection(datatype: type[ophyd_async.core.SignalDatatypeT], path: str, secclient: secop_ophyd.AsyncFrappyClient.AsyncFrappyClient)[source]#
source(name: str, read: bool) str[source]#
async connect(timeout: float)[source]#

Connect and initialize backend (handles both parameters and properties).

async put(value: Any | None)[source]#

Put a value to the parameter. Properties are readonly.

async get_datakey(source: str) bluesky.protocols.DataKey[source]#

Metadata like source, dtype, shape, precision, units

async get_reading() bluesky.protocols.Reading[ophyd_async.core.SignalDatatypeT][source]#

Get reading, handling both parameters and properties.

async get_value() ophyd_async.core.SignalDatatypeT[source]#
async get_setpoint() ophyd_async.core.SignalDatatypeT[source]#
set_callback(callback: ophyd_async.core.Callback[bluesky.protocols.Reading[ophyd_async.core.SignalDatatypeT]] | None) None[source]#
get_param_path()[source]#
get_path_tuple()[source]#
secop_ophyd.SECoPSignal.secop_dtype_obj_from_json(prop_val)[source]#
secop_ophyd.SECoPSignal.describedict_to_datakey(describe_dict: dict) secop_ophyd.util.SECoPDataKey[source]#

Convert a DataKey to a SECoPDataKey