27 lines
795 B
Python
27 lines
795 B
Python
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 |