pcdsdevices.smarpod.SmarPod
- class pcdsdevices.smarpod.SmarPod(prefix='', *, name, kind=None, read_attrs=None, configuration_attrs=None, parent=None, child_name_separator='_', connection_timeout=<object object>, **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 - :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_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 - cmd_move - EpicsSignal- :CMD:MOVE- 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 - x - normal - y - normal - z - normal - rx - normal - ry - normal - rz - 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 - :POSE_1- normal - pose_2 - :POSE_2- normal - pose_3 - :POSE_3- normal - pose_4 - :POSE_4- normal - pose_5 - :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 - csy_set - EpicsSignal- :CSY:SET- set csy offset - normal - csy_zero - EpicsSignal- :CMD:SPZ- set csy to zero - normal - 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 - OrderedDictthis method returns must match the keys in the- OrderedDictreturn 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_keyschema.
 
 - 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. 
 - multi_axis_move(x_sp: float | None = None, y_sp: float | None = None, z_sp: float | None = None, rx_sp: float | None = None, ry_sp: float | None = None, rz_sp: float | None = None, wait: bool = True, timeout: float = 30.0)
 - 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 - OrderedDictreturned by this method must have identical keys (in the same order) as the- OrderedDictreturned 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_attrslist.
 - classmethod set_defaults(*, connection_timeout=10.0)
- Set class-wide defaults for device communications - This may be called only before any instances of Device are made. - This setting applies to the class it is called on and all its subclasses. For example, - >>> Device.set_defaults(...) - will apply to any Device subclass. - Parameters:
- connection_timeout (float, optional) – Time (seconds) allocated for establishing a connection with the IOC. 
- Raises:
- RuntimeError – If called after - EpicsSignalBasehas been instantiated for the first time.
 
 - 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- StatusBaseobject 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 - StatusBaseobject which is already completed.- Returns:
- status (StatusBase) – - StatusBaseobject which will be marked as complete when the device is ready to be read.
 
 - Attributes - configuration_attrs
 - connected
 - connection_timeout
 - hints
 - kind