moveScan.py code

The code of moveScan.py:

 
#!/usr/bin/env python

"""helper macro to measure the time of the moves that are executed in a scan"""

import PyTango
from sardana.macroserver.macro import *
from sardana.macroserver.macro import macro
    
class moveScan(Macro):
    """helper macro to measure the time of the moves that are executed in a scan"""
    
    param_def = [      
        ['motor', Type.Moveable, None, "motor to move"],
        ['startRel', Type.Float, None, "startRel"],
        ['stopRel', Type.Float, None, "stopRel"],
        ['np', Type.Integer, None, "np"],
        ]    
    result_def = [[ "result", Type.String, None, "a result" ]]

    def run(self, motor, startRel, stopRel, np):

        posOld = motor.getPosition()
        start = posOld + startRel
        stop = posOld + stopRel
        delta = (stop - start)/np

        p = start
        while p < stop:
            self.mv( motor, p)
            p = p + delta

        self.mv( motor, posOld)
        return True



2019-11-13