Note

Ophyd.v2 is included on a provisional basis until the v2.0 release and may change API on minor release numbers before then

ophyd.v2.epicsdemo.Sensor#

class ophyd.v2.epicsdemo.Sensor(prefix: str, name='')#

Bases: StandardReadable

A demo sensor that produces a scalar value based on X and Y Movers

Parameters:
name:

If set, name the Device and its children

primary:

Optional single Signal that will be named self.name

read:

Signals to make up read() that can be cached

read_uncached:

Signals to make up read() that should not be cached

conf:

Signals to make up read_configuration() that can be cached

Methods

connect

Connect self and all child Devices.

describe

Return an OrderedDict with exactly the same keys as the read method, here mapped to per-scan metadata about each field.

describe_configuration

Same API as describe, but corresponding to the keys in read_configuration.

read

Return an OrderedDict mapping string field name(s) to dictionaries of values and timestamps and optional per-point metadata.

read_configuration

Same API as read but for slow-changing fields related to configuration.

set_name

Set self.name=name and each self.child.name=name+"-child".

stage

An optional hook for "setting up" the device for acquisition.

unstage

A hook for "cleaning up" the device after acquisition.

Attributes

name

Return the name of the Device

parent

The parent Device if it exists

async connect(sim: bool = False)#

Connect self and all child Devices.

Parameters:
sim:

If True then connect in simulation mode.

async describe() Dict[str, Descriptor]#

Return an OrderedDict with exactly the same keys as the read method, here mapped to per-scan metadata about each field.

This can be a standard function or an async function.

Example return value:

OrderedDict(('channel1',
             {'source': 'XF23-ID:SOME_PV_NAME',
              'dtype': 'number',
              'shape': []}),
            ('channel2',
             {'source': 'XF23-ID:SOME_PV_NAME',
              'dtype': 'number',
              'shape': []}))
async describe_configuration() Dict[str, Descriptor]#

Same API as describe, but corresponding to the keys in read_configuration.

This can be a standard function or an async function.

property name: str#

Return the name of the Device

parent: Device | None = None#

The parent Device if it exists

async read() Dict[str, Reading]#

Return an OrderedDict mapping string field name(s) to dictionaries of values and timestamps and optional per-point metadata.

This can be a standard function or an async function.

Example return value:

OrderedDict(('channel1',
             {'value': 5, 'timestamp': 1472493713.271991}),
             ('channel2',
             {'value': 16, 'timestamp': 1472493713.539238}))
async read_configuration() Dict[str, Reading]#

Same API as read but for slow-changing fields related to configuration. e.g., exposure time. These will typically be read only once per run.

This can be a standard function or an async function.

set_name(name: str)#

Set self.name=name and each self.child.name=name+"-child".

Parameters:
name:

New name to set

stage() List[Any]#

An optional hook for “setting up” the device for acquisition.

It should return a list of devices including itself and any other devices that are staged as a result of staging this one. (The parent attribute expresses this relationship: a device should be staged/unstaged whenever its parent is staged/unstaged.)

unstage() List[Any]#

A hook for “cleaning up” the device after acquisition.

It should return a list of devices including itself and any other devices that are unstaged as a result of unstaging this one.