PseudoMotor

Classes

PseudoMotor

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

Bases: PoolElementDevice

ignore_memorized_attrs_during_initialization = ('Position',)
init(name)[source]

initialize the device once in the object lifetime. Override when necessary but always call the method from your super class

Parameters:

name – device name

get_pseudo_motor()[source]
set_pseudo_motor(pseudo_motor)[source]
property pseudo_motor
delete_device()[source]

Clean the device. Called during shutdown and every time the tango Init command is executed. Override when necessary but always call the method from your super class

init_device()[source]

Initialize the device. Called during startup after init() and every time the tango Init command is executed. Override when necessary but always call the method from your super class

on_pseudo_motor_changed(event_source, event_type, event_value)[source]
always_executed_hook(self)[source]

Hook method.

Default method to implement an action necessary on a device before any command is executed. This method can be redefined in sub-classes in case of the default behaviour does not fullfill the needs

Raises:

DevFailed – This method does not throw exception but a redefined method can.

get_dynamic_attributes()[source]

Override of PoolDevice.get_dynamic_attributes. Returns the standard dynamic and fully dynamic attributes for this device. The return is a tuple of two dictionaries:

  • standard attributes: caseless dictionary with key being the attribute name and value is a tuple of attribute name(str), tango information, attribute information

  • dynamic attributes: caseless dictionary with key being the attribute name and value is a tuple of attribute name(str), tango information, attribute information

tango information

seq< CmdArgType, AttrDataFormat, AttrWriteType >

attribute information

attribute information as returned by the sardana controller

Returns:

the standard dynamic and fully dynamic attributes

initialize_dynamic_attributes()[source]

Initializes this device dynamic attributes

read_Position(attr)[source]
write_Position(attr)[source]
CalcPseudo(physical_positions)[source]

Returns the pseudo motor position for the given physical positions

CalcPhysical(pseudo_position)[source]

Returns the physical motor positions for the given pseudo motor position assuming the current pseudo motor write positions for all the other sibling pseudo motors

CalcAllPhysical(pseudo_positions)[source]

Returns the physical motor positions for the given pseudo motor position(s)

CalcAllPseudo(physical_positions)[source]

Returns the pseudo motor position(s) for the given physical positions

MoveRelative(argin)[source]
is_MoveRelative_allowed()[source]
is_Position_allowed(req_type)

Generic is_allowed

PseudoMotorClass

Inheritance diagram of PseudoMotorClass
class PseudoMotorClass(name)[source]

Bases: PoolElementDeviceClass

class_property_list = {}

Sardana device class properties definition

device_property_list = {'Axis': [tango._tango.CmdArgType.DevLong64, 'Axis in the controller', [0]], 'Ctrl_id': [tango._tango.CmdArgType.DevString, 'Controller ID', [0]], 'DriftCorrection': [tango._tango.CmdArgType.DevBoolean, 'Locally apply drift correction on pseudo motors. Default is the current global drift correction in the Pool Device', None], 'Force_HW_Read': [tango._tango.CmdArgType.DevBoolean, 'Force a hardware read of value even when in operation (motion/acquisition', False], 'Id': [tango._tango.CmdArgType.DevLong64, 'Internal ID', 0], 'Instrument_id': [tango._tango.CmdArgType.DevString, 'Instrument ID', [0]]}

Sardana device properties definition

cmd_list = {'Abort': [[tango._tango.CmdArgType.DevVoid, ''], [tango._tango.CmdArgType.DevVoid, '']], 'CalcAllPhysical': [[tango._tango.CmdArgType.DevVarDoubleArray, 'pseudo positions'], [tango._tango.CmdArgType.DevVarDoubleArray, 'physical positions']], 'CalcAllPseudo': [[tango._tango.CmdArgType.DevVarDoubleArray, 'physical positions'], [tango._tango.CmdArgType.DevVarDoubleArray, 'pseudo positions']], 'CalcPhysical': [[tango._tango.CmdArgType.DevDouble, 'pseudo position'], [tango._tango.CmdArgType.DevVarDoubleArray, 'physical positions']], 'CalcPseudo': [[tango._tango.CmdArgType.DevVarDoubleArray, 'physical positions'], [tango._tango.CmdArgType.DevDouble, 'pseudo position']], 'MoveRelative': [[tango._tango.CmdArgType.DevDouble, 'amount to move'], [tango._tango.CmdArgType.DevVoid, '']], 'Release': [[tango._tango.CmdArgType.DevVoid, ''], [tango._tango.CmdArgType.DevVoid, '']], 'Restore': [[tango._tango.CmdArgType.DevVoid, ''], [tango._tango.CmdArgType.DevVoid, '']], 'Stop': [[tango._tango.CmdArgType.DevVoid, ''], [tango._tango.CmdArgType.DevVoid, '']]}

Sardana device command definition

standard_attr_list = {'Position': [[tango._tango.CmdArgType.DevDouble, tango._tango.AttrDataFormat.SCALAR, tango._tango.AttrWriteType.READ_WRITE], {'abs_change': '1.0', 'label': 'Position'}]}