Taurus Extensions

Functions

Classes

registerExtensions()[source]
unregisterExtensions()[source]

BaseElement

Inheritance diagram of BaseElement
class BaseElement[source]

Bases: object

The base class for elements in the Pool (Pool itself, Motor, ControllerClass, ExpChannel all should inherit from this class directly or indirectly)

serialize()[source]
str(n=0)[source]

Returns a sequence of strings representing the object in ‘consistent’ way. Default is to return <name>, <controller name>, <axis>

Parameters:

n – the number of elements in the tuple.

getName()[source]
getPoolObj()[source]

Get reference to this object’s Pool.

getPoolData()[source]

Get reference to this object’s Pool data.

Controller

Inheritance diagram of Controller
class Controller(name, **kw)[source]

Bases: PoolElement

Class encapsulating Controller functionality.

getModuleName()[source]
getClassName()[source]
getTypes()[source]
getMainType()[source]
addElement(elem)[source]
removeElement(elem)[source]
getElementByAxis(axis)[source]
getElementByName(name)[source]
getUsedAxes()[source]

Return axes in use by this controller

Return type:

List[int]

Returns:

list of axes

getLastUsedAxis()[source]

Return the last used axis (the highest axis) in this controller

Return type:

Optional[int]

Returns:

last used axis

ControllerClass

Inheritance diagram of ControllerClass
class ControllerClass(**kw)[source]

Bases: BaseElement

getSimpleFileName()[source]
getFileName()[source]
getClassName()[source]
getType()[source]
getTypes()[source]
getLib()[source]
getGender()[source]
getModel()[source]
getOrganization()[source]

CTExpChannel

Inheritance diagram of CTExpChannel
class CTExpChannel(name, **kw)[source]

Bases: TimerableExpChannel

Class encapsulating CTExpChannel functionality.

ExpChannel

Inheritance diagram of ExpChannel
class ExpChannel(name, **kw)[source]

Bases: PoolElement

Class encapsulating ExpChannel functionality.

isReferable()[source]
getIntegrationTime()[source]
getIntegrationTimeObj()[source]
setIntegrationTime(integ_time)[source]
putIntegrationTime(integ_time)[source]
getValueObj_()[source]

Retrurns Value attribute event generator object.

Return type:

TangoAttributeEG

Returns:

Value attribute event generator

..todo:: When support to Taurus 3 will be dropped provide getValueObj. Taurus 3 TaurusDevice class already uses this name.

getValue(force=False)[source]
getValueBufferObj()[source]
getValueBuffer()[source]
valueBufferChanged(value_buffer)[source]
getValueRefObj()[source]

Return ValueRef attribute event generator object.

Return type:

TangoAttributeEG

Returns:

ValueRef attribute event generator

getValueRef(force=False)[source]
getValueRefBufferObj()[source]
getValueRefBuffer()[source]
valueBufferRefChanged(value_ref_buffer)[source]
getValueRefPattern()[source]
getValueRefPatternObj()[source]
setValueRefPattern(value_ref_pattern)[source]
putValueRefPattern(value_ref_pattern)[source]
isValueRefEnabled()[source]
getValueRefEnabledObj()[source]
setValueRefEnabled(value_ref_enabled)[source]
putValueRefEnabled(value_ref_enabled)[source]
go(*args, **kwargs)[source]

Count and report count result.

Configuration measurement, then start and wait until finish.

Note

The count (go) method API is partially experimental (value references may be changed to values whenever possible in the future). Backwards incompatible changes may occur if deemed necessary by the core developers.

Return type:

tuple

Returns:

state and value (or value reference - experimental)

startCount(**kwargs)
waitCount(timeout=None, id=None)

Wait for the operation to finish

Parameters:
count(*args, **kwargs)

Count and report count result.

Configuration measurement, then start and wait until finish.

Note

The count (go) method API is partially experimental (value references may be changed to values whenever possible in the future). Backwards incompatible changes may occur if deemed necessary by the core developers.

Return type:

tuple

Returns:

state and value (or value reference - experimental)

stopCount(synch=True, timeout=None, **kwargs)

Executes the “Abort” command on the element

Parameters:
  • synch (bool) – If True, waits the Abort process to finish.

  • timeout (Optional[float]) – Wait timeout (in seconds). Only used if synch=True.

Return type:

None

stop(synch=True, timeout=None, **kwargs)

Executes the “Stop” command on the element

Parameters:
  • synch – If True, waits the Stop process to finish.

  • timeout – Wait timeout (in seconds). Only used if synch=True.

Instrument

Inheritance diagram of Instrument
class Instrument(**kw)[source]

Bases: BaseElement

getFullName()[source]
getParentInstrument()[source]
getParentInstrumentName()[source]
getChildrenInstruments()[source]
getElements()[source]
getType()[source]

IORegister

Inheritance diagram of IORegister
class IORegister(name, **kw)[source]

Bases: PoolElement

Class encapsulating IORegister functionality.

getValueObj()[source]
Deprecated by TEP14.
..warning::

this bck-compat implementation is not perfect because the rvalue of the returned TangoAttributeValue is now a member of TaurusDevState instead of TaurusSWDevState

Deprecated since version 4.0: Use state [agnostic] or stateObj.read [Tango] instead

readValue(force=False)[source]
startWriteValue(new_value, timeout=None)[source]
waitWriteValue(timeout=None)[source]
writeValue(new_value, timeout=None)[source]
writeIORegister(new_value, timeout=None)
writeIOR(new_value, timeout=None)
readIORegister(force=False)
readIOR(force=False)
getValue(force=False)

MeasurementGroup

Inheritance diagram of MeasurementGroup
class MeasurementGroup(name, **kw)[source]

Bases: PoolElement

MeasurementGroup Sardana-Taurus extension.

Setting configuration parameters using e.g., setEnabled or setTimer, etc. by default applies changes on the server. Since setting the configuration means passing to the server all the configuration parameters of the measurement group at once this behavior can be changed with the apply=False. Then the configuration changes are kept locally. This is useful when changing more then one parameter. In this case only setting of the last parameter should use apply=True or use applyConfiguration afterwards:

# or in a macro use: meas_grp = self.getMeasurementGroup("mntgrp01")
meas_grp = taurus.Device("mntgrp01")
meas_grp.setEnabled(False, apply=False)
meas_grp.setEnabled(True, "ct01", "ct02")
cleanUp()[source]

The cleanUp. Default implementation does nothing Overwrite when necessary

getConfigurationAttrEG()[source]
setConfiguration(configuration)[source]
getConfiguration(force=False)[source]
on_configuration_changed(evt_src, evt_type, evt_value)[source]
getValueBuffers()[source]
getIntegrationTime()[source]
getIntegrationTimeObj()[source]
setIntegrationTime(ctime)[source]
putIntegrationTime(ctime)[source]
getAcquisitionModeObj()[source]
getAcquisitionMode()[source]
setAcquisitionMode(acqMode)[source]
getSynchDescriptionObj()[source]
getSynchDescription()[source]
setSynchDescription(synch_description)[source]
setOutput(output, *elements, apply=True)[source]

Set the output configuration for the given elements.

Channels and controllers are accepted as elements. Setting the output on the controller means setting it to all channels of this controller present in this measurement group.

Parameters:
  • output (bool) – True - output enabled, False - output disabled

  • elements (str) – sequence of element names or full names, no elements means set to all

  • apply (bool) – True - apply on the server, False - do not apply yet on the server and keep locally (default: True)

Return type:

None

getOutput(*elements, ret_full_name=False)[source]

Get the output configuration of the given elements.

Channels and controllers are accepted as elements. Getting the output from the controller means getting it from all channels of this controller present in this measurement group.

Parameters:
  • elements (str) – sequence of element names or full names, no elements means get from all

  • ret_full_name (bool) – whether keys in the returned dictionary are full names or names (default: False means return names)

Return type:

Dict[str, bool]

Returns:

ordered dictionary where keys are channel names (or full names if ret_full_name=True) and values are their output configurations. Note that even if the elements contained controllers, the returned configuration will always contain only channels.

setEnabled(enabled, *elements, apply=True)[source]

Set the enabled configuration for the given elements.

Channels and controllers are accepted as elements. Setting the enabled on the controller means setting it to all channels of this controller present in this measurement group.

Parameters:
  • enabled (bool) – True - element enabled, False - element disabled

  • elements (str) – sequence of element names or full names, no elements means set to all

  • apply (bool) – True - apply on the server, False - do not apply yet on the server and keep locally (default: True)

Return type:

None

getEnabled(*elements, ret_full_name=False)[source]

Get the output configuration of the given elements.

Channels and controllers are accepted as elements. Getting the enabled from the controller means getting it from all channels of this controller present in this measurement group.

Parameters:
  • elements (str) – sequence of element names or full names, no elements means get from all

  • ret_full_name (bool) – whether keys in the returned dictionary are full names or names (default: False means return names)

Return type:

Dict[str, bool]

Returns:

ordered dictionary where keys are channel names (or full names if ret_full_name=True) and values are their output configurations. Note that even if the elements contained controllers, the returned configuration will always contain only channels.

setPlotType(plot_type, *elements, apply=True)[source]

Set the enabled configuration for the given elements.

Channels and controllers are accepted as elements. Setting the plot type on the controller means setting it to all channels of this controller present in this measurement group.

Parameters:
  • plot_type (Union[str, int]) – ‘No’/0 , ‘Spectrum’/1, ‘Image’/2

  • elements (str) – sequence of element names or full names, no elements means set to all

  • apply (bool) – True - apply on the server, False - do not apply yet on the server and keep locally (default: True)

Return type:

None

getPlotType(*elements, ret_full_name=False)[source]

Get the output configuration of the given elements.

Channels and controllers are accepted as elements. Getting the plot type from the controller means getting it from all channels of this controller present in this measurement group.

Parameters:
  • elements (str) – sequence of element names or full names, no elements means get from all

  • ret_full_name (bool) – whether keys in the returned dictionary are full names or names (default: False means return names)

Return type:

Dict[str, int]

Returns:

ordered dictionary where keys are channel names (or full names if ret_full_name=True) and values are their output configurations. Note that even if the elements contained controllers, the returned configuration will always contain only channels.

setPlotAxes(plot_axes, *elements, apply=True)[source]

Set the enabled configuration for the given elements.

Channels and controllers are accepted as elements. Setting the plot axes on the controller means setting it to all channels of this controller present in this measurement group.

Parameters:
  • plot_axes (List[str]) – [‘<mov>’] / [‘<mov>’, ‘<idx>’]

  • elements (str) – sequence of element names or full names, no elements means set to all

  • apply (bool) – True - apply on the server, False - do not apply yet on the server and keep locally (default: True)

Return type:

None

getPlotAxes(*elements, ret_full_name=False)[source]

Get the output configuration of the given elements.

Channels and controllers are accepted as elements. Getting the plot axes from the controller means getting it from all channels of this controller present in this measurement group.

Parameters:
  • elements (str) – sequence of element names or full names, no elements means get from all

  • ret_full_name (bool) – whether keys in the returned dictionary are full names or names (default: False means return names)

Return type:

Dict[str, str]

Returns:

ordered dictionary where keys are channel names (or full names if ret_full_name=True) and values are their output configurations. Note that even if the elements contained controllers, the returned configuration will always contain only channels.

setValueRefEnabled(value_ref_enabled, *elements, apply=True)[source]

Set the output configuration for the given elements.

Channels and controllers are accepted as elements. Setting the value reference enabled on the controller means setting it to all channels of this controller present in this measurement group.

Parameters:
  • value_ref_enabled (bool) – True - enabled, False - disabled

  • elements (str) – sequence of element names or full names, no elements means set to all

  • apply (bool) – True - apply on the server, False - do not apply yet on the server and keep locally (default: True)

Return type:

None

getValueRefEnabled(*elements, ret_full_name=False)[source]

Get the value reference enabled configuration of the given elements.

Channels and controllers are accepted as elements. Getting the value from the controller means getting it from all channels of this controller present in this measurement group.

Parameters:
  • elements (str) – sequence of element names or full names, no elements means get from all

  • ret_full_name (bool) – whether keys in the returned dictionary are full names or names (default: False means return names)

Return type:

Dict[str, bool]

Returns:

ordered dictionary where keys are channel names (or full names if ret_full_name=True) and values are their output configurations. Note that even if the elements contained controllers, the returned configuration will always contain only channels.

setValueRefPattern(value_ref_pattern, *elements, apply=True)[source]

Set the output configuration for the given elements.

Channels and controllers are accepted as elements. Setting the value reference pattern on the controller means setting it to all channels of this controller present in this measurement group.

Parameters:
  • value_ref_pattern (str) – /path/file{index:03d}.txt

  • elements (str) – sequence of element names or full names, no elements means set to all

  • apply (bool) – True - apply on the server, False - do not apply yet on the server and keep locally (default: True)

Return type:

None

getValueRefPattern(*elements, ret_full_name=False)[source]

Get the value reference enabled configuration of the given elements.

Channels and controllers are accepted as elements. Getting the value from the controller means getting it from all channels of this controller present in this measurement group.

Parameters:
  • elements (str) – sequence of element names or full names, no elements means get from all

  • ret_full_name (bool) – whether keys in the returned dictionary are full names or names (default: False means return names)

Return type:

Dict[str, str]

Returns:

ordered dictionary where keys are channel names (or full names if ret_full_name=True) and values are their output configurations. Note that even if the elements contained controllers, the returned configuration will always contain only channels.

setTimer(timer, *elements, apply=True)[source]

Set the timer configuration for the given channels of the same controller.

Note

Currently the controller’s timer must be unique. Hence this method will set it for the whole controller regardless of the elements argument.

Parameters:
  • timer (str) – channel use as timer

  • elements (str) – sequence of channels names or full names, no elements means set to all

  • apply (bool) – True - apply on the server, False - do not apply yet on the server and keep locally (default: True)

Return type:

None

getTimer(*elements, ret_full_name=False, ret_by_ctrl=False)[source]

Get the timer configuration of the given elements.

Channels and controllers are accepted as elements. Getting the output from the controller means getting it from all channels of this controller present in this measurement group, unless ret_by_ctrl=True.

Parameters:
  • elements (str) – sequence of element names or full names, no elements means get from all

  • ret_full_name (bool) – whether keys in the returned dictionary are full names or names (default: False means return names)

  • ret_by_ctrl (bool) – whether keys in the returned dictionary are controllers or channels (default: False means return channels)

Return type:

Dict[str, str]

Returns:

ordered dictionary where keys are channel names (or full names if ret_full_name=True) and values are their timer configurations

setMonitor(monitor, *elements, apply=True)[source]

Set the monitor configuration for the given channels of the same controller.

Note

Currently the controller’s monitor must be unique. Hence this method will set it for the whole controller regardless of the elements argument.

Parameters:
  • monitor (str) – channel use as monitor

  • elements (str) – sequence of channels names or full names, no elements means set to all

  • apply (bool) – True - apply on the server, False - do not apply yet on the server and keep locally (default: True)

Return type:

None

getMonitor(*elements, ret_full_name=False, ret_by_ctrl=False)[source]

Get the monitor configuration of the given elements.

Channels and controllers are accepted as elements. Getting the output from the controller means getting it from all channels of this controller present in this measurement group, unless ret_by_ctrl=True.

Parameters:
  • elements (str) – sequence of element names or full names, no elements means get from all

  • ret_full_name (bool) – whether keys in the returned dictionary are full names or names (default: False means return names)

  • ret_by_ctrl (bool) – whether keys in the returned dictionary are controllers or channels (default: False means return channels)

Return type:

Dict[str, str]

Returns:

ordered dictionary where keys are channel names (or full names if ret_full_name=True) and values are their monitor configurations

setSynchronizer(synchronizer, *elements, apply=True)[source]

Set the synchronizer configuration for the given channels or controller.

Note

Currently the controller’s synchronizer must be unique. Hence this method will set it for the whole controller regardless of the elements argument.

Parameters:
  • synchronizer (str) – triger/gate element name or software

  • elements (str) – sequence of channels names or full names, no elements means set to all

  • apply (bool) – True - apply on the server, False - do not apply yet on the server and keep locally (default: True)

Return type:

None

getSynchronizer(*elements, ret_full_name=False, ret_by_ctrl=False)[source]

Get the synchronizer configuration of the given elements.

Channels and controllers are accepted as elements. Getting the output from the controller means getting it from all channels of this controller present in this measurement group, unless ret_by_ctrl=True.

Parameters:
  • elements (str) – sequence of element names or full names, no elements means get from all

  • ret_full_name (bool) – whether keys in the returned dictionary are full names or names (default: False means return names)

  • ret_by_ctrl (bool) – whether keys in the returned dictionary are controllers or channels (default: False means return channels)

Return type:

Dict[str, str]

Returns:

ordered dictionary where keys are channel names (or full names if ret_full_name=True) and values are their synchronizer configurations

setSynchronization(synchronization, *elements, apply=True)[source]

Set the synchronization configuration for the given channels or controller.

Note

Currently the controller’s synchronization must be unique. Hence this method will set it for the whole controller regardless of the elements argument.

Parameters:
  • synchronization (AcqSynchType) – synchronization type e.g. Trigger, Gate or Start

  • elements (str) – sequence of channels names or full names, no elements means set to all

  • apply (bool) – True - apply on the server, False - do not apply yet on the server and keep locally (default: True)

Return type:

None

getSynchronization(*elements, ret_full_name=False, ret_by_ctrl=False)[source]

Get the synchronization configuration of the given elements.

Channels and controllers are accepted as elements. Getting the output from the controller means getting it from all channels of this controller present in this measurement group, unless ret_by_ctrl=True.

Parameters:
  • elements (str) – sequence of element names or full names, no elements means get from all

  • ret_full_name (bool) – whether keys in the returned dictionary are full names or names (default: False means return names)

  • ret_by_ctrl (bool) – whether keys in the returned dictionary are controllers or channels (default: False means return channels)

Return type:

Dict[str, AcqSynchType]

Returns:

ordered dictionary where keys are channel names (or full names if ret_full_name=True) and values are their synchronization configurations

applyConfiguration()[source]

Apply configuration changes kept locally on the server.

Setting configuration parameters using e.g., setEnabled or setTimer, etc. with apply=False keeps the changes locally. Use this method to apply them on the server afterwards.

getChannelsEnabledInfo()[source]

Returns information about only enabled channels present in the measurement group in a form of ordered, based on the channel index, list. :rtype: List[TangoChannelInfo] :return: list with channels info

getCountersInfo()[source]
getValues(parallel=True)[source]
getChannels()[source]
getCounters()[source]
getChannelNames()[source]
getCounterNames()[source]
getChannelLabels()[source]
getCounterLabels()[source]
getChannel(name)[source]
getChannelInfo(name)[source]
getChannelsInfo()[source]

DEPRECATED

enableChannels(channels)[source]

DEPRECATED: Enable acquisition of the indicated channels.

Parameters:

channels – (seq<str>) a sequence of strings indicating channel names

disableChannels(channels)[source]

DEPRECATED: Disable acquisition of the indicated channels.

Parameters:

channels – (seq<str>) a sequence of strings indicating channel names

getNbStartsObj()[source]
setNbStarts(starts)[source]
getNbStarts()[source]
getMoveableObj()[source]
getMoveable()[source]
getLatencyTimeObj()[source]
getLatencyTime()[source]
setMoveable(moveable=None)[source]
valueBufferChanged(channel, value_buffer)[source]

Receive value buffer updates, pre-process them, and call the subscribed callback.

Parameters:
  • channel (ExpChannel) – channel that reports value buffer update

  • value_buffer (str) – json encoded value buffer update, it contains at least values and indexes

Return type:

None

subscribeValueBuffer(cb=None)[source]

Subscribe to channels’ value buffer update events. If no callback is passed, the default channel’s callback is subscribed which will store the data in the channel’s value_buffer attribute.

Parameters:

cb (Optional[Callable]) – callback to be subscribed, None means subscribe the default channel’s callback

Return type:

None

unsubscribeValueBuffer(cb=None)[source]

Unsubscribe from channels’ value buffer events. If no callback is passed, unsubscribe the channel’s default callback.

Parameters:

cb (Optional[Callable]) – callback to be unsubscribed, None means unsubscribe the default channel’s callback

Return type:

None

valueRefBufferChanged(channel, value_ref_buffer)[source]

Receive value ref buffer updates, pre-process them, and call the subscribed callback.

Parameters:
  • channel (ExpChannel) – channel that reports value ref buffer update

  • value_ref_buffer (str) – json encoded value ref buffer update, it contains at least value refs and indexes

Return type:

None

subscribeValueRefBuffer(cb=None)[source]

Subscribe to channels’ value ref buffer update events. If no callback is passed, the default channel’s callback is subscribed which will store the data in the channel’s value_buffer attribute.

Parameters:

cb (Optional[Callable]) – callback to be subscribed, None means subscribe the default channel’s callback

Return type:

None

unsubscribeValueRefBuffer(cb=None)[source]

Unsubscribe from channels’ value ref buffer events. If no callback is passed, unsubscribe the channel’s default callback.

Parameters:

cb (Optional[Callable]) – callback to be unsubscribed, None means unsubscribe the default channel’s callback

Return type:

None

prepare()[source]
count_raw(start_time=None)[source]

Raw count and report count values.

Simply start and wait until finish, no configuration nor preparation.

Note

The count_raw method API is partially experimental (value references may be changed to values whenever possible in the future). Backwards incompatible changes may occur if deemed necessary by the core developers.

Parameters:

start_time (Optional[float]) – start time of the whole count operation, if not passed a current timestamp will be used

Return type:

Dict[str, Any]

Returns:

dictionary with channel names as keys and values (or value references - experimental) as values

go(*args, **kwargs)[source]

Count and report count values.

Configuration and prepare for measurement, then start and wait until finish.

Note

The count (go) method API is partially experimental (value references may be changed to values whenever possible in the future). Backwards incompatible changes may occur if deemed necessary by the core developers.

Return type:

Dict[str, Any]

Returns:

dictionary with channel names as keys and values (or value references - experimental) as values

count_continuous(synch_description, value_buffer_cb=None, value_ref_buffer_cb=None)[source]

Execute measurement process according to the given synchronization description.

Parameters:
  • synch_description (List) – synchronization description synchronizations

  • value_buffer_cb (Optional[Callable]) – callback on value buffer updates

  • value_ref_buffer_cb (Optional[Callable]) – callback on value reference buffer updates

Return type:

Tuple[List[DevState], List]

Returns:

state and eventually value buffers if no callback was passed

Todo

Think of unifying measure with count.

Note

The measure method has been included in MeasurementGroup class on a provisional basis. Backwards incompatible changes (up to and including removal of the method) may occur if deemed necessary by the core developers.

startCount(**kwargs)
waitCount(timeout=None, id=None)

Wait for the operation to finish

Parameters:
count(*args, **kwargs)

Count and report count values.

Configuration and prepare for measurement, then start and wait until finish.

Note

The count (go) method API is partially experimental (value references may be changed to values whenever possible in the future). Backwards incompatible changes may occur if deemed necessary by the core developers.

Return type:

Dict[str, Any]

Returns:

dictionary with channel names as keys and values (or value references - experimental) as values

stopCount(synch=True, timeout=None, **kwargs)

Executes the “Abort” command on the element

Parameters:
  • synch (bool) – If True, waits the Abort process to finish.

  • timeout (Optional[float]) – Wait timeout (in seconds). Only used if synch=True.

Return type:

None

stop(synch=True, timeout=None, **kwargs)

Executes the “Stop” command on the element

Parameters:
  • synch – If True, waits the Stop process to finish.

  • timeout – Wait timeout (in seconds). Only used if synch=True.

Motor

Inheritance diagram of Motor
class Motor(name, **kw)[source]

Bases: PoolElement, Moveable

Class encapsulating Motor functionality.

getPosition(force=False)[source]
getDialPosition(force=False)[source]
getVelocity(force=False)[source]
getAcceleration(force=False)[source]
getDeceleration(force=False)[source]
getBaseRate(force=False)[source]
getBacklash(force=False)[source]
getLimitSwitches(force=False)[source]
getOffset(force=False)[source]
getStepPerUnit(force=False)[source]
getSign(force=False)[source]
getSimulationMode(force=False)[source]
getPositionObj()[source]
getDialPositionObj()[source]
getVelocityObj()[source]
getAccelerationObj()[source]
getDecelerationObj()[source]
getBaseRateObj()[source]
getBacklashObj()[source]
getLimitSwitchesObj()[source]
getOffsetObj()[source]
getStepPerUnitObj()[source]
getSimulationModeObj()[source]
setVelocity(value)[source]
setAcceleration(value)[source]
setDeceleration(value)[source]
setBaseRate(value)[source]
setBacklash(value)[source]
setOffset(value)[source]
setStepPerUnit(value)[source]
setSign(value)[source]
go(*args, **kwargs)[source]
startMove(sequence<float> new_pos, double timeout=None) sequence<id>

Calling this method will trigger a movement off all components of the movement.

waitMove(timeout=None, id=None)

Wait for the operation to finish

Parameters:
move(list<double> new_pos, timeout=None) None

Triggers a movement and waits for it to end.

getLastMotionTime()

Returns the time it took for last go operation

getTotalLastMotionTime()

Returns the time it took for last go operation, including dead time to prepare, wait for events, etc

iterMove(**kwargs)[source]

generator for motor positions

readPosition(force=False)[source]
getMoveableSource()[source]
getSize()[source]
getIndex(name)[source]

MotorGroup

Inheritance diagram of MotorGroup
class MotorGroup(name, **kw)[source]

Bases: PoolElement, Moveable

Class encapsulating MotorGroup functionality.

getMotorNames()[source]
hasMotor(name)[source]
getPosition(force=False)[source]
getPositionObj()[source]
go(*args, **kwargs)[source]
startMove(sequence<float> new_pos, double timeout=None) sequence<id>

Calling this method will trigger a movement off all components of the movement.

waitMove(timeout=None, id=None)

Wait for the operation to finish

Parameters:
move(list<double> new_pos, timeout=None) None

Triggers a movement and waits for it to end.

getLastMotionTime()

Returns the time it took for last go operation

getTotalLastMotionTime()

Returns the time it took for last go operation, including dead time to prepare, wait for events, etc

readPosition(force=False)[source]
getMoveableSource()[source]
getSize()[source]
getIndex(name)[source]

OneDExpChannel

Inheritance diagram of OneDExpChannel
class OneDExpChannel(name, **kw)[source]

Bases: TimerableExpChannel

Class encapsulating OneDExpChannel functionality.

Pool

Inheritance diagram of Pool
class Pool(name, **kw)[source]

Bases: TangoDevice, MoveableSource

Class encapsulating device Pool functionality.

cleanUp()[source]

The cleanUp. Default implementation does nothing Overwrite when necessary

getObject(element_info)[source]
on_elements_changed(evt_src, evt_type, evt_value)[source]
getElementsInfo()[source]
getElements()[source]
getElementInfo(name)[source]
getElementNamesOfType(elem_type)[source]
getElementsOfType(elem_type)[source]
getElementsWithInterface(interface)[source]
getElementWithInterface(elem_name, interface)[source]
getObj(name, elem_type=None)[source]
reconfigObj(obj)[source]

Reconfigure (initialize) obj in the server

This includes:
  • recreation of the device and its attributes (Tango)

  • writing of the memorized attributes (last set values)

Usefull when there was a problem with the hardware.

Note

If obj is a Controller this will usually also require to call it with the controller’s elements.

getMoveable(seq<string> names) Moveable[source]

Returns a moveable object that handles all the moveable items given in names.

createMotorGroup(mg_name, elements)[source]
createMeasurementGroup(mg_name, elements)[source]
deleteMeasurementGroup(name)[source]
createElement(name, ctrl, axis=None)[source]
renameElement(old_name, new_name)[source]
deleteElement(name)[source]
createController(class_name, name, *props)[source]
deleteController(name)[source]
createInstrument(full_name, class_name)[source]

PoolElement

Inheritance diagram of PoolElement
class PoolElement(name, **kwargs)[source]

Bases: BaseElement, TangoDevice

Base class for a Pool element device.

reconfig()[source]

Reconfigure (initialize) element in the server

This includes:
  • recreation of the device and its attributes (Tango)

  • writing of the memorized attributes (last set values)

Usefull when there was a problem with the hardware.

Note

Calling this method on the Controller will usually also require to call it on the controller’s elements.

getPoolObj()[source]

Get reference to this object’s Pool.

getPoolData()[source]

Get reference to this object’s Pool data.

cleanUp()[source]

The cleanUp. Default implementation does nothing Overwrite when necessary

reserve(obj)[source]
unreserve()[source]
isReserved(obj=None)[source]
getReservedWR()[source]
getReserved()[source]
dump_attributes()[source]
getStateEG()[source]
getStatusEG()[source]

Get Status attribute event generator.

First call to this method will create the attribute event generator object and store it for future references. Further calls will return the same object.

Return type:

EventGenerator

getControllerName()[source]
getControllerObj()[source]
getAxis()[source]
getType()[source]
waitReady(timeout=None)[source]
getAttrEG(name)[source]

Returns the TangoAttributeEG object

removeAttrEG(name)[source]

Remove the TangoAttributeEG object

getAttrObj(name)[source]

Returns the taurus.core.tangoattribute.TangoAttribute object

getInstrumentObj()[source]
getInstrumentName(force=False)[source]
setInstrumentName(instr_name)[source]
getInstrument()[source]
start(**kwargs)[source]
waitFinish(timeout=None, id=None)[source]

Wait for the operation to finish

Parameters:
go(**kwargs)[source]
getLastGoTime()[source]

Returns the time it took for last go operation

getTotalLastGoTime()[source]

Returns the time it took for last go operation, including dead time to prepare, wait for events, etc

abort(synch=True, timeout=None, **kwargs)[source]

Executes the “Abort” command on the element

Parameters:
  • synch (bool) – If True, waits the Abort process to finish.

  • timeout (Optional[float]) – Wait timeout (in seconds). Only used if synch=True.

Return type:

None

stop(synch=True, timeout=None, **kwargs)[source]

Executes the “Stop” command on the element

Parameters:
  • synch – If True, waits the Stop process to finish.

  • timeout – Wait timeout (in seconds). Only used if synch=True.

release()[source]

Release hung element from its operation and make cleanup.

Before releasing you should try stopping/aborting the element.

information(tab='    ')[source]

PseudoCounter

Inheritance diagram of PseudoCounter
class PseudoCounter(name, **kw)[source]

Bases: ExpChannel

Class encapsulating PseudoCounter functionality.

PseudoMotor

Inheritance diagram of PseudoMotor
class PseudoMotor(name, **kw)[source]

Bases: PoolElement, Moveable

Class encapsulating PseudoMotor functionality.

getPosition(force=False)[source]
getDialPosition(force=False)[source]
getPositionObj()[source]
getDialPositionObj()[source]
go(*args, **kwargs)[source]
startMove(sequence<float> new_pos, double timeout=None) sequence<id>

Calling this method will trigger a movement off all components of the movement.

waitMove(timeout=None, id=None)

Wait for the operation to finish

Parameters:
move(list<double> new_pos, timeout=None) None

Triggers a movement and waits for it to end.

getLastMotionTime()

Returns the time it took for last go operation

getTotalLastMotionTime()

Returns the time it took for last go operation, including dead time to prepare, wait for events, etc

readPosition(force=False)[source]
getMoveableSource()[source]
getSize()[source]
getIndex(name)[source]

TriggerGate

Inheritance diagram of TriggerGate
class TriggerGate(name, **kwargs)[source]

Bases: PoolElement

Class encapsulating TriggerGate functionality.

TwoDExpChannel

Inheritance diagram of TwoDExpChannel
class TwoDExpChannel(name, **kw)[source]

Bases: TimerableExpChannel

Class encapsulating TwoDExpChannel functionality.

ZeroDExpChannel

Inheritance diagram of ZeroDExpChannel
class ZeroDExpChannel(name, **kw)[source]

Bases: ExpChannel

Class encapsulating ZeroDExpChannel functionality.