示例#1
0
 def macro_fn(parameter_s='', name=macro_name):
     parameters = split_macro_parameters(parameter_s)
     door = genutils.get_door()
     door.runMacro(macro_name, parameters, synch=True)
     macro = door.getLastRunningMacro()
     if macro is not None:  # maybe none if macro was aborted
         return macro.getResult()
示例#2
0
文件: spockms.py 项目: cmft/sardana
 def macro_fn(parameter_s='', name=macro_name):
     parameters = genutils.arg_split(parameter_s, posix=True)
     door = genutils.get_door()
     door.runMacro(macro_name, parameters, synch=True)
     macro = door.getLastRunningMacro()
     if macro is not None:  # maybe none if macro was aborted
         return macro.getResult()
示例#3
0
 def macro_fn(parameter_s='', name=macro_name):
     door = genutils.get_door()
     ms = genutils.get_macro_server()
     params_def = ms.getMacroInfoObj(name).parameters
     parameters = split_macro_parameters(parameter_s, params_def)
     door.runMacro(macro_name, parameters, synch=True)
     macro = door.getLastRunningMacro()
     if macro is not None:  # maybe none if macro was aborted
         return macro.getResult()
示例#4
0
 def macro_fn(parameter_s='', name=macro_name):
     door = genutils.get_door()
     ms = genutils.get_macro_server()
     params_def = ms.getMacroInfoObj(name).parameters
     parameters = split_macro_parameters(parameter_s, params_def)
     door.runMacro(macro_name, parameters, synch=True)
     macro = door.getLastRunningMacro()
     if macro is not None:  # maybe none if macro was aborted
         return macro.getResult()
示例#5
0
    def plot(self):
        try:
            import sps
        except:
            print 'sps module not available. No plotting'
            return

        try:
            import pylab
        except:
            print "pylab not available (try running 'spock -pylab'). No plotting"
            return

        door = genutils.get_door()

        try:
            env = dict(door.getEnvironmentObj().read().value)
        except Exception, e:
            print 'Unable to read environment. No plotting'
            print str(e)
            return
示例#6
0
文件: spockms.py 项目: cmft/sardana
    def plot(self):
        try:
            import sps
        except:
            print 'sps module not available. No plotting'
            return

        try:
            import pylab
        except:
            print "pylab not available (try running 'spock -pylab'). No plotting"
            return

        door = genutils.get_door()

        try:
            env = dict(door.getEnvironmentObj().read().value)
        except Exception, e:
            print 'Unable to read environment. No plotting'
            print str(e)
            return
示例#7
0
    def plot(self):
        try:
            import sps
        except Exception:
            print('sps module not available. No plotting')
            return

        try:
            import pylab
        except Exception:
            print("pylab not available (try running 'spock -pylab'). "
                  "No plotting")
            return

        door = genutils.get_door()

        try:
            env = dict(door.getEnvironmentObj().read().value)
        except Exception as e:
            print('Unable to read environment. No plotting')
            print(str(e))
            return

        program = door.getNormalName().replace('/', '').replace('_', '')
        try:
            array = env['ActiveMntGrp'].replace('/', '').replace(
                '_', '').upper() + "0D"
            array_ENV = '%s_ENV' % array
        except:
            print('ActiveMntGrp not defined. No plotting')
            return

        if not program in sps.getspeclist():
            print('%s not found. No plotting' % program)
            return

        if not array in sps.getarraylist(program):
            print('%s not found in %s. No plotting' % (array, program))
            return

        if not array_ENV in sps.getarraylist(program):
            print('%s not found in %s. No plotting' % (array_ENV, program))
            return

        try:
            mem = sps.attach(program, array)
            mem_ENV = sps.attach(program, array_ENV)
        except Exception as e:
            print('sps.attach error: %s. No plotting' % str(e))
            return

        # reconstruct the environment
        i, env = 0, {}
        while mem_ENV[i][0] != '':
            line = mem_ENV[i].tostring()
            eq, end = line.index('='), line.index('\x00')
            k, v = line[:eq], line[eq + 1:end]
            env[k] = v
            i += 1

        labels = env['axistitles'].split(' ')

        col_nb = len(labels)

        if col_nb < 4:
            print('No data columns available in sps')
            return

        rows = int(env['nopts'])

        m = mem.transpose()

        x = m[1][:rows]
        colors = 'bgrcmyk'
        col_nb = min(col_nb, len(colors) + 3)
        # skip point_nb, motor and timer columns
        for i in range(3, col_nb):
            y = m[i][:rows]
            line, = pylab.plot(x, y, label=labels[i])
            line.linestyle = '-'
            line.linewidth = 1
            line.color = colors[i - 3]
        pylab.legend()