#!/bin/env python # __all__ = ["parameterTypes"] from sardana.macroserver.macro import Macro, Type # # An excerpt of dir(Type): # ['Acquirable', # 'Boolean', # 'CTExpChannel', # 'ComChannel', # 'Door', # 'Env', # 'ExpChannel', # 'Float', # 'IORegister', # 'Instrument', # 'Integer', # 'MacroServer', # 'MeasurementGroup', # 'Motor', # 'MotorGroup', # 'MotorParam', # 'Moveable', # 'OneDExpChannel', # 'Pool', # 'PseudoCounter', # 'PseudoMotor', # 'String', # 'TangoDevice', # 'TwoDExpChannel', # 'ZeroDExpChannel', # ...] # class parameterTypes(Macro): """pass various types of parameters to a macro""" param_def = [ ["parMot", Type.Moveable, None, "Input parameter: A motor name"], ["parStr", Type.String, "undefined", "Input parameter: A string"], ["parInt", Type.Integer, 12345, "Input parameter: An integer value"], ["parFloat", Type.Float, 12345., "Input parameter: An float value"], ] def run(self, parMot, parStr, parInt, parFloat): self.output( "parMot %g (position)" % parMot.position) self.output( "parStr %s" % parStr.lower()) self.output( "parInt %d" % parInt) self.output( "parFloat %g" % parFloat) return