diff --git a/script/devices/Hexiposi.py b/script/devices/Hexiposi.py index 0d97c92..5374af4 100644 --- a/script/devices/Hexiposi.py +++ b/script/devices/Hexiposi.py @@ -27,7 +27,8 @@ class Hexiposi(DiscretePositionerBase): self.moving = self.status["errorCode"] self.pos = self.status["position"] self.moving = self.status["moving"] - self.dpos = self.status["discretePosition"] + self.offset = self.status["offset"] + self.dpos = self.status["discretePosition"] if self.dpos == 1: self.rback = 1 elif self.dpos == 2: self.rback = 2 elif self.dpos == 4: self.rback = 3 @@ -35,18 +36,21 @@ class Hexiposi(DiscretePositionerBase): elif self.dpos == 16: self.rback = 5 elif self.dpos == 32: self.rback = 6 else: self.rback = None - self.rbackstr = self.UNKNOWN_POSITION if self.rback is None else str(self.rbackstr) + self.rbackstr = self.UNKNOWN_POSITION if ((self.rback is None) or (self.homed==False)) else str(self.rback) + return self.status def move_pos(self, pos): return self.get_response(requests.get(url=self.url+"set?pos=" + str(pos))) - def move_home(self): + def move_home(self): return self.get_response(requests.get(url=self.url+"set?home=1")) - def stop(self): + def stop_move(self): return self.get_response(requests.get(url=self.url+"set?stop=1")) + def set_offset(self, offset): + return self.get_response(requests.get(url=self.url+"setOffset?offset="+str(offset))) def doUpdate(self): self.get_status() @@ -54,7 +58,7 @@ class Hexiposi(DiscretePositionerBase): def doStop(self): - self.stop() + self.stop_move() def doRead(self): return str(self.val) @@ -69,21 +73,24 @@ class Hexiposi(DiscretePositionerBase): self.val = val self.move_pos(self.val) #Workaround as state does not changes immediatelly - if moving: - try: - self.waitState(State.Busy,1200) - except: - pass + #if moving: + # try: + # self.waitState(State.Busy,1200) + # except: + # pass #def isReady(self): # self.get_status() # return self.moving == False - def updateState(self): - if self.state ==State.Busy and self.moving==False: + def updateState(self): + if self.homed == False: + self.setState(State.Disabled) + elif self.moving: + self.setState(State.Busy) + else: self.setState(State.Ready) - elif self.state == State.Ready and self.moving==True: - self.setState(State.Busy) + #http://129.129.110.83:8002/hexiposi/get