Table Of Contents

Previous topic

poolmeasurementgroup

Next topic

poolmonitor

This Page

poolmetacontroller

This module is part of the Python Pool libray. It defines the base classes for

Classes

DataInfo

Inheritance diagram of DataInfo

class DataInfo(name, dtype, dformat=0, access=1, description='', default_value=None, memorized='true', fget=None, fset=None, maxdimsize=None)[source]

Bases: object

copy()[source]
classmethod toDataInfo(klass, name, info)[source]
toDict()[source]
serialize(*args, **kwargs)[source]

TypeData

Inheritance diagram of TypeData

class TypeData(**kwargs)[source]

Bases: object

Information for a specific Element type

ControllerLib

Inheritance diagram of ControllerLibrary

class ControllerLibrary(**kwargs)[source]

Bases: sardana.sardanameta.SardanaLibrary

Object representing a python module containning controller classes. Public members:

  • module - reference to python module

  • f_path - complete (absolute) path and filename

  • f_name - filename (including file extension)

  • path - complete (absolute) path

  • name - module name (without file extension)

  • controller_list - list<ControllerClass>

  • exc_info - exception information if an error occured when loading

    the module

add_controller(meta_class)

Adds a new :class:~`sardana.sardanameta.SardanaClass` to this library.

Parameters:meta_class (:class:~`sardana.sardanameta.SardanaClass`) – the meta class to be added to this library
get_controller(meta_class_name)

Returns a :class:~`sardana.sardanameta.SardanaClass` for the given meta class name or None if the meta class does not exist in this library.

Parameters:meta_class_name (str) – the meta class name
Returns:a meta class or None
Return type::class:~`sardana.sardanameta.SardanaClass`
get_controllers()

Returns a sequence of the meta classes that belong to this library.

Returns:a sequence of meta classes that belong to this library
Return type:seq<:class:~`sardana.sardanameta.SardanaClass`>
has_controller(meta_class_name)

Returns True if the given meta class name belongs to this library or False otherwise.

Parameters:meta_class_name (str) – the meta class name
Returns:True if the given meta class name belongs to this library or False otherwise
Return type:bool
serialize(*args, **kwargs)[source]
controllers[source]

ControllerClass

Inheritance diagram of ControllerClass

class ControllerClass(**kwargs)[source]

Bases: sardana.sardanameta.SardanaClass

Object representing a python controller class. Public members:

  • name - class name
  • klass - python class object
  • lib - ControllerLibrary object representing the module where the controller is.
serialize(*args, **kwargs)[source]
controller_class[source]
gender[source]
model[source]
organization[source]

Constants

CONTROLLER_TEMPLATE = 'class @controller_name@(@controller_type@):\n """@controller_name@ description."""\n\n'

String containing template code for a controller class

CTRL_TYPE_MAP = {2: <class 'sardana.pool.poolcontroller.PoolController'>, 3: <class 'sardana.pool.poolcontroller.PoolController'>, 5: <class 'sardana.pool.poolcontroller.PoolController'>, 6: <class 'sardana.pool.poolcontroller.PoolController'>, 8: <class 'sardana.pool.poolcontroller.PoolController'>, 9: <class 'sardana.pool.poolcontroller.PoolPseudoMotorController'>, 10: <class 'sardana.pool.poolcontroller.PoolPseudoCounterController'>}

a dictionary dict<ElementType, class> mapping element type enumeration with the corresponding controller pool class (PoolController or sub-class of it).

TYPE_MAP = {1: ('Controller', 'Controller', {2: <class 'sardana.pool.poolcontroller.PoolController'>, 3: <class 'sardana.pool.poolcontroller.PoolController'>, 5: <class 'sardana.pool.poolcontroller.PoolController'>, 6: <class 'sardana.pool.poolcontroller.PoolController'>, 8: <class 'sardana.pool.poolcontroller.PoolController'>, 9: <class 'sardana.pool.poolcontroller.PoolPseudoMotorController'>, 10: <class 'sardana.pool.poolcontroller.PoolPseudoCounterController'>}, 'controller/{klass}/{name}', <class 'sardana.pool.controller.Controller'>), 2: ('Motor', 'Motor', <class 'sardana.pool.poolmotor.PoolMotor'>, 'motor/{ctrl_name}/{axis}', <class 'sardana.pool.controller.MotorController'>), 3: ('CTExpChannel', 'ExpChannel', <class 'sardana.pool.poolcountertimer.PoolCounterTimer'>, 'expchan/{ctrl_name}/{axis}', <class 'sardana.pool.controller.CounterTimerController'>), 4: ('ZeroDExpChannel', 'ExpChannel', <class 'sardana.pool.poolzerodexpchannel.Pool0DExpChannel'>, 'expchan/{ctrl_name}/{axis}', <class 'sardana.pool.controller.ZeroDController'>), 5: ('OneDExpChannel', 'ExpChannel', <class 'sardana.pool.poolonedexpchannel.Pool1DExpChannel'>, 'expchan/{ctrl_name}/{axis}', <class 'sardana.pool.controller.OneDController'>), 6: ('TwoDExpChannel', 'ExpChannel', <class 'sardana.pool.pooltwodexpchannel.Pool2DExpChannel'>, 'expchan/{ctrl_name}/{axis}', <class 'sardana.pool.controller.TwoDController'>), 8: ('IORegister', 'IORegister', <class 'sardana.pool.poolioregister.PoolIORegister'>, 'ioregister/{ctrl_name}/{axis}', <class 'sardana.pool.controller.IORegisterController'>), 9: ('PseudoMotor', 'Motor', <class 'sardana.pool.poolpseudomotor.PoolPseudoMotor'>, 'pm/{ctrl_name}/{axis}', <class 'sardana.pool.controller.PseudoMotorController'>), 10: ('PseudoCounter', 'ExpChannel', <class 'sardana.pool.poolpseudocounter.PoolPseudoCounter'>, 'pc/{ctrl_name}/{axis}', <class 'sardana.pool.controller.PseudoCounterController'>), 12: ('MotorGroup', 'MotorGroup', <class 'sardana.pool.poolmotorgroup.PoolMotorGroup'>, 'mg/{pool_name}/{name}', None), 13: ('MeasurementGroup', 'MeasurementGroup', <class 'sardana.pool.poolmeasurementgroup.PoolMeasurementGroup'>, 'mntgrp/{pool_name}/{name}', None), 14: ('Instrument', 'Instrument', <class 'sardana.pool.poolinstrument.PoolInstrument'>, '{full_name}', None)}

dictionary dict<ElementType, tuple> where tuple is a sequence:

  1. type string representation
  2. family
  3. internal pool class
  4. automatic full name
  5. controller class
TYPE_MAP_OBJ = {1: <sardana.pool.poolmetacontroller.TypeData object at 0xb1babfac>, 2: <sardana.pool.poolmetacontroller.TypeData object at 0xb1bab86c>, 3: <sardana.pool.poolmetacontroller.TypeData object at 0xb1babcec>, 4: <sardana.pool.poolmetacontroller.TypeData object at 0xb1babc6c>, 5: <sardana.pool.poolmetacontroller.TypeData object at 0xb1babd8c>, 6: <sardana.pool.poolmetacontroller.TypeData object at 0xb1bab5ec>, 8: <sardana.pool.poolmetacontroller.TypeData object at 0xb1bab2ec>, 9: <sardana.pool.poolmetacontroller.TypeData object at 0xb1bab80c>, 10: <sardana.pool.poolmetacontroller.TypeData object at 0xb1bab10c>, 12: <sardana.pool.poolmetacontroller.TypeData object at 0xb1babfec>, 13: <sardana.pool.poolmetacontroller.TypeData object at 0xb1bab4ec>, 14: <sardana.pool.poolmetacontroller.TypeData object at 0xb1babcac>}

dictionary dict<ElementType, TypeData>