pcdsdevices.smarpod.SmarPod

class pcdsdevices.smarpod.SmarPod(prefix='', *, name, kind=None, read_attrs=None, configuration_attrs=None, parent=None, **kwargs)

SmarPod is a hexapod-like positioning system from SmarAct

Ophyd Device Components

Attribute

Class

Suffix

Docs

Kind

Notes

init

EpicsSignal

:CMD:INIT

normal

status

SmarPodStatus

:STATUS

normal

cmd_unit

EpicsSignal

:CMD:UNIT

normal

unit

EpicsSignal

:UNIT

Selected SmarPod unit

normal

ver_sn

EpicsSignalRO

:VER:SN

omitted

ver_product

EpicsSignalRO

:VER:PRODUCT

omitted

ver_firmware

EpicsSignalRO

:VER:FIRMWARE

omitted

cmd_ref

EpicsSignal

:CMD:REF

normal

ref

EpicsSignalRO

:REF

Readback referenced state

normal

_ref

EpicsSignal

:_REF

Async reference response

normal

cmd_ref_method

EpicsSignal

:CMD:REF_METHOD

Set reference method

normal

ref_method

EpicsSignalRO

:REF_METHOD

Readback reference method

normal

cmd_ref_x_direct

EpicsSignal

:CMD:REF_X_DIRECT

Set reference x-direction

normal

ref_x_direct

EpicsSignalRO

:REF_X_DIRECT

Readback reference x-direction

normal

cmd_ref_y_direct

EpicsSignal

:CMD:REF_Y_DIRECT

Set reference y-direction

normal

ref_y_direct

EpicsSignalRO

:REF_Y_DIRECT

Readback reference y-direction

normal

cmd_ref_z_direct

EpicsSignal

:CMD:REF_Z_DIRECT

Set reference z-direction

normal

ref_z_direct

EpicsSignalRO

:REF_Z_DIRECT

Readback reference z-direction

normal

cmd_move

EpicsSignal

:CMD:MOVE

normal

cmd_x

EpicsSignal

:CMD:X

normal

cmd_y

EpicsSignal

:CMD:Y

normal

cmd_z

EpicsSignal

:CMD:Z

normal

cmd_rx

EpicsSignal

:CMD:RX

normal

cmd_ry

EpicsSignal

:CMD:RY

normal

cmd_rz

EpicsSignal

:CMD:RZ

normal

cmd_stop

EpicsSignal

:CMD:STOP

Stops SmarPod Movements

normal

cmd_reachable

EpicsSignal

:CMD:REACHABLE

normal

reachable

EpicsSignalRO

:REACHABLE

Test if the SP can reach a pose. Does not move the SP

normal

cmd_pos_rbv

EpicsSignal

:CMD:POS_RBV

Readback current pose position

normal

x_m

EpicsSignalRO

:X_M

normal

y_m

EpicsSignalRO

:Y_M

normal

z_m

EpicsSignalRO

:Z_M

normal

x

EpicsSignalRO

:X

normal

y

EpicsSignalRO

:Y

normal

z

EpicsSignalRO

:Z

normal

rx

EpicsSignalRO

:RX

normal

ry

EpicsSignalRO

:RY

normal

rz

EpicsSignalRO

:RZ

normal

moving

EpicsSignal

:MOVING

Movement status

normal

cmd_sync

EpicsSignal

:CMD:SYNC

normal

error_code

EpicsSignalRO

:ERROR_CODE

normal

error_desc

EpicsSignalRO

:ERROR_DESC

normal

cmd_pivot_rbv

EpicsSignal

:CMD:PIVOT_RBV

Readback pivot point

normal

cmd_set_pivot

EpicsSignal

:CMD:SET_PIVOT

normal

cmd_sync_pivot

EpicsSignal

:CMD:SYNC_PIVOT

normal

cmd_pivot_mode

EpicsSignal

:CMD:PIVOT_MODE

normal

pivot_mode

EpicsSignal

:PIVOT_MODE

Pivot mode

normal

px_m

EpicsSignal

:PX_M

normal

py_m

EpicsSignal

:PY_M

normal

pz_m

EpicsSignal

:PZ_M

normal

px

EpicsSignal

:PX

normal

py

EpicsSignal

:PY

normal

pz

EpicsSignal

:PZ

normal

cmd_px

EpicsSignal

:CMD:PX

normal

cmd_py

EpicsSignal

:CMD:PY

normal

cmd_pz

EpicsSignal

:CMD:PZ

normal

cmd_sensor_mode

EpicsSignal

:CMD:SENSOR_MODE

normal

sensor_mode

EpicsSignal

:SENSOR_MODE

Sensor mode

normal

cmd_freq

EpicsSignal

:CMD:FREQ

normal

freq

EpicsSignal

:FREQ

normal

cmd_vel

EpicsSignal

:CMD:VEL

sets movement velocity

normal

vel

EpicsSignal

:VEL

current speed-control and speed settings

normal

cmd_accel

EpicsSignal

:CMD:ACCEL

sets movement acceleration

normal

accel

EpicsSignal

:ACCEL

current acceleration-control and acceleration settings

normal

pose_1

SmarPodPose

:POSE_1

normal

pose_2

SmarPodPose

:POSE_2

normal

pose_3

SmarPodPose

:POSE_3

normal

pose_4

SmarPodPose

:POSE_4

normal

pose_5

SmarPodPose

:POSE_5

normal

cmd_read_status

EpicsSignal

:CMD:READ_STATUS

normal

cmd_calibrate

EpicsSignal

:CMD:CALIBRATE

normal

cmd_read_ver

EpicsSignal

:CMD:READ_VER

normal

ver_sys

EpicsSignalRO

:VER:SYS

omitted

Methods

configure(d: Dict[str, Any]) Tuple[Dict[str, Any], Dict[str, Any]]

Configure the device for something during a run

This default implementation allows the user to change any of the configuration_attrs. Subclasses might override this to perform additional input validation, cleanup, etc.

Parameters:

d (dict) – The configuration dictionary. To specify the order that the changes should be made, use an OrderedDict.

Returns:

  • (old, new) tuple of dictionaries

  • Where old and new are pre- and post-configure configuration states.

describe() OrderedDictType[str, Dict[str, Any]]

Provide schema and meta-data for read().

This keys in the OrderedDict this method returns must match the keys in the OrderedDict return by read().

This provides schema related information, (ex shape, dtype), the source (ex PV name), and if available, units, limits, precision etc.

Returns:

data_keys (OrderedDict) – The keys must be strings and the values must be dict-like with the event_model.event_descriptor.data_key schema.

get(**kwargs)

Get the value of all components in the device

Keyword arguments are passed onto each signal.get(). Components beginning with an underscore will not be included.

read() OrderedDictType[str, Dict[str, Any]]

Read data from the device.

This method is expected to be as instantaneous as possible, with any substantial acquisition time taken care of in trigger().

The OrderedDict returned by this method must have identical keys (in the same order) as the OrderedDict returned by describe().

By convention, the first key in the return is the ‘primary’ key and maybe used by heuristics in bluesky.

The values in the ordered dictionary must be dict (-likes) with the keys {'value', 'timestamp'}. The 'value' may have any type, the timestamp must be a float UNIX epoch timestamp in UTC.

Returns:

data (OrderedDict) – The keys must be strings and the values must be dict-like with the keys {'value', 'timestamp'}

read_configuration() OrderedDictType[str, Dict[str, Any]]

Dictionary mapping names to value dicts with keys: value, timestamp

To control which fields are included, change the Component kinds on the device, or modify the configuration_attrs list.

stop(*, success=False)

Stop the Device and all (instantiated) subdevices

summary()
trigger() StatusBase

Trigger the device and return status object.

This method is responsible for implementing ‘trigger’ or ‘acquire’ functionality of this device.

If there is an appreciable time between triggering the device and it being able to be read (via the read() method) then this method is also responsible for arranging that the StatusBase object returned by this method is notified when the device is ready to be read.

If there is no delay between triggering and being readable, then this method must return a StatusBase object which is already completed.

Returns:

status (StatusBase) – StatusBase object which will be marked as complete when the device is ready to be read.

Attributes

configuration_attrs
connected
hints
kind
subscriptions: ClassVar[FrozenSet[str]] = frozenset({'acq_done'})