pcdsdevices.state.PVStatePositioner
- class pcdsdevices.state.PVStatePositioner(prefix, *, name, **kwargs)
- A - StatePositionerthat combines a set of PVs into a single state.- The user can provide state logic and a move method if desired. - Parameters:
- prefix (str) – The EPICS PV prefix for this motor. 
- name (str) – An identifying name for this motor. 
- settle_time (float, optional) – The amount of extra time to wait before interpreting a move as done. 
- timeout (float, optional) – The amount of time to wait before automatically marking a long in-progress move as failed. 
 
 - _state_logic
- Information dictionaries for each state of the following form: - { "signal_name": { 0: "OUT", 1: "IN", 2: "Unknown", 3: "defer" } } - The dictionary defines the relevant signal names and how to interpret each of the states. These states will be evaluated in the dict’s order, which may matter if - _state_logic_mode == 'FIRST'.- This is for cases where the logic is simple. If there are more complex requirements, replace the - statecomponent.- Type:
 
 - _state_logic_mode
- This should be ‘ALL’ (default) if the pvs need to agree for a valid state. You can set this to ‘FIRST’ instead to use the first state found while traversing the - _state_logictree. This means an earlier state definition can mask a later state definition.- Type:
- {‘ALL’, ‘FIRST’} 
 
 - _state_logic_set_ref
- An optional reference to the component that will be used to set some metadata on the state signal if provided. - Type:
- str or None 
 
 - Ophyd Device Components - Attribute - Class - Suffix - Docs - Kind - Notes - state - hinted - Methods - camonitor()
- Shows a live-updating motor position in the terminal. - This will be the value that is returned by the - positionattribute.- This method ends cleanly at a ctrl+c or after a call to - end_monitor_thread(), which may be useful when this is called in a background thread.
 - 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.
 
 - end_monitor_thread()
- Stop a - camonitor()or- wm_update()that is running in another thread.
 - 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. 
 - get_state(value)
- Given an integer or string value, return the proper state entry. - Returns:
- state (~enum.Enum) – The corresponding Enum entry for this value. It has two meaningful fields, - nameand- value.
 
 - move(position, moved_cb=None, timeout=None, wait=False)
- Move to the desired state and return completion information. - Parameters:
- Returns:
- status (StateStatus) – - Statusobject that represents the move’s progress.
 
 - mv(position, timeout=None, wait=False, log=True)
- Absolute move to a position. - Parameters:
- position – Desired end position. 
- timeout (float, optional) – If provided, the mover will throw an error if motion takes longer than timeout to complete. If omitted, the mover’s default timeout will be use. 
- wait (bool, optional) – If - True, wait for motion completion before returning. Defaults to- False.
- log (bool, optional) – If - True, logs the move at INFO level.
 
 
 - post_elog_status()
- Post device status to the primary elog, if possible. 
 - 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.
 - screen()
- Open a screen for controlling the device. - Default behavior is the typhos screen, but this method can be overridden for more specialized screens. 
 - set(position, moved_cb=None, timeout=None)
- Move to the desired state and return completion information. - This is the bare-bones implementation of the move with only motion, callbacks, and timeouts defined. Additional functional options are relegated to the - movecommand and bells and whistles are relegated to a different interface.- Parameters:
- Returns:
- status (StateStatus) – - Statusobject that represents the move’s progress.
 
 - 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.
 
 - 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.
 
 - wait(timeout=None)
 - wm()
- Get the mover’s current positon (where motor). 
 - wm_update()
- Shows a live-updating motor position in the terminal. - This will be the value that is returned by the - positionattribute.- This method ends cleanly at a ctrl+c or after a call to - end_monitor_thread(), which may be useful when this is called in a background thread.
 - Attributes - configuration_attrs
 - connected
 - connection_timeout
 - egu = 'state'
 - high_limit
 - hints
 - kind
 - limits
 - low_limit
 - moving
- Whether or not the motor is moving - Returns:
- moving (bool) 
 
 - position
- Name of the positioner’s current state. If aliases were provided, the first alias will be used instead of the base name. 
 - settle_time
- Amount of time to wait after moves to report status completion 
 - states_list = []
 - stop
- Hide the stop method behind an AttributeError. - This makes it so that other interfaces know that the stop method can’t be run without needing to run it to find out. 
 - subscriptions: ClassVar[FrozenSet[str]] = frozenset({'_req_done', 'acq_done', 'done_moving', 'readback', 'start_moving', 'state'})
 - timeout
- Amount of time to wait before to considering a motion as failed