class Test (PositionerBase): def __init__(self, name): PositionerBase.__init__(self, name, PositionerConfig()) self.rbk = 0.0 self.stp = 0.0 self.moving = False def doRead(self): return self.stp def doWrite(self, value): if value!=self.stp: self.stp=value self.moving = True def doReadReadback(self): if self.moving: off = self.stp - self.rbk if abs(off)<=1: self.rbk = self.stp self.moving = False else: self.rbk = self.rbk +1.0 if (self.stp > self.rbk) else self.rbk -1.0 return self.rbk add_device(Test("test_positioner"), True) test_positioner.polling=1000