pcdsdevices.sqr1.SQR1Axis
- class pcdsdevices.sqr1.SQR1Axis(prefix: str, axis: Axis, sync_setpoints: Callable | None = None, **kwargs)
- Single axis of the square-one tri-sphere motion system. - A PVPositionerIsClose subclass that includes attributes for setting the setpoint, reading back the current position, actuating the motion, and stopping the motion. - Parameters:
- prefix (str) – The EPICS PV prefix for this axis. 
- axis (str) – The axis identifier (‘X’, ‘Y’, ‘Z’, ‘rX’, ‘rY’, ‘rZ’). 
- sync_setpoints (callable or None, optional) – A callback function to synchronize setpoints before moving the axis. 
- **kwargs (dict) – Additional keyword arguments to pass to the base class constructor 
 
 - setpoint
- An EPICS signal for setting the desired position of the axis. - Type:
- ophyd.signal.EpicsSignal
 
 - readback
- An EPICS signal for reading back the current position of the axis. - Type:
- ophyd.signal.EpicsSignal
 
 - actuate
- An EPICS signal for initiating the motion of the axis. - Type:
- ophyd.signal.EpicsSignal
 
 - actuate_value
- The value to be set on the ‘actuate’ signal to initiate motion. - Type:
- any, optional 
 
 - stop_signal
- An EPICS signal for stopping the motion of the axis. - Type:
- ophyd.signal.EpicsSignal
 
 - stop_value
- The value to be set on the ‘stop_signal’ to stop motion. - Type:
- any, optional 
 
 - Example
- >>> axis_x = SQR1Axis(prefix="SQR1:AXIS_X", axis="X") >>> axis_x.move(5.0) # Move the X-axis to position 5.0 
 - Ophyd Device Components - Attribute - Class - Suffix - Docs - Kind - Notes - done - InternalSignal- normal - Inherited from - PVPositionerIsClose- setpoint (FCpt) - EpicsSignal- {prefix}:TARGET:{_axis}- normal - readback (FCpt) - EpicsSignal- {prefix}:TARGET:{_axis}:RBV- hinted - actuate - EpicsSignal- :MOV- normal - stop_signal - EpicsSignal- :KILL- 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.
 
 - done_comparator(readback: float, setpoint: float) bool
- Check if the readback is close to the setpoint value. - Uses numpy.isclose to make the comparison. Tolerance values atol and rtol for numpy.isclose are taken from the attributes self.atol and self.rtol, which can be defined as class attributes or passed in as init parameters. - If atol or rtol are omitted, the default values from numpy are used instead. 
 - 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. 
 - move(position: float, wait: bool = True, timeout: float = None, moved_cb: Callable | None = None, sync_enable: bool = True)
- Move the axis to the specified position. - Parameters:
- position (float) – The desired position to move the axis to. 
- wait (bool, optional) – If - True(default), wait for motion to complete before returning. If- False, return immediately after initiating the motion.
- timeout (float, optional) – The maximum time (in seconds) to wait for the motion to complete. 
- moved_cb (callable or None, optional) – A callback function to execute when the motion has completed. 
- sync_enable (bool, optional) – If - True(default) synchronize setpoints before moving the axis.
 
- Returns:
- MoveStatus – Track the state of a movement from some initial to final position. 
 - Example - >>> axis_x = SQR1Axis(prefix="SQR1:AXIS_X", axis="X") >>> axis_x.move(5.0) # Move the X-axis to position 5.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.
 - set(new_position: Any, *, timeout: float | None = None, moved_cb: Callable | None = None, wait: bool = False) StatusBase
- Set a value and return a Status object - Parameters:
- new_position (object) – The input here is whatever the device requires (this should be over-ridden by the implementation. For example a motor would take a float, a shutter the strings {‘Open’, ‘Close’}, and a goineometer (h, k, l) tuples 
- timeout (float, optional) – Maximum time to wait for the motion. If None, the default timeout for this positioner is used. 
- moved_cb (callable, optional) – - Deprecated - Call this callback when movement has finished. This callback must accept one keyword argument: ‘obj’ which will be set to this positioner instance. 
- wait (bool, optional) – - Deprecated - If the method should block until the Status object reports it is done. - Defaults to False 
 
- Returns:
- status (StatusBase) – Status object to indicate when the motion / set is done. 
 
 - 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 - actuate_value = 1
 - configuration_attrs
 - connected
 - done_value = 1
 - egu
- The engineering units (EGU) for a position 
 - high_limit
 - hints
 - kind
 - limits
 - low_limit
 - moving
- Whether or not the motor is moving - If a - donePV is specified, it will be read directly to get the motion status. If not, it determined from the internal state of PVPositioner.- Returns:
- bool 
 
 - position
- The current position of the motor in its engineering units - Returns:
- position (any) 
 
 - put_complete
 - settle_time
- Amount of time to wait after moves to report status completion 
 - stop_value = 1
 - subscriptions: ClassVar[FrozenSet[str]] = frozenset({'_req_done', 'acq_done', 'done_moving', 'readback', 'start_moving'})
 - timeout
- Amount of time to wait before to considering a motion as failed