first tries with uniax stick
Change-Id: I70da38aff091f7fc64f409485db335cde07163c9
This commit is contained in:
parent
7ff88cf819
commit
3687ed85e5
@ -23,4 +23,3 @@ speed=40
|
|||||||
encoder_tolerance=3.6
|
encoder_tolerance=3.6
|
||||||
free_wheeling=0.1
|
free_wheeling=0.1
|
||||||
power_down_delay=0.1
|
power_down_delay=0.1
|
||||||
# pull_up=1
|
|
||||||
|
@ -127,9 +127,7 @@ class Motor(PersistentMixin, HasIodev, Drivable):
|
|||||||
fast_pollfactor = 0.001 # poll as fast as possible when busy
|
fast_pollfactor = 0.001 # poll as fast as possible when busy
|
||||||
_started = 0
|
_started = 0
|
||||||
_calcTimeout = True
|
_calcTimeout = True
|
||||||
_need_reset = False
|
_need_reset = None
|
||||||
_save_filename = None
|
|
||||||
# _try_count = 0
|
|
||||||
|
|
||||||
def comm(self, cmd, adr, value=0, bank=0):
|
def comm(self, cmd, adr, value=0, bank=0):
|
||||||
"""set or get a parameter
|
"""set or get a parameter
|
||||||
@ -229,13 +227,18 @@ class Motor(PersistentMixin, HasIodev, Drivable):
|
|||||||
writeDict = self.loadParameters()
|
writeDict = self.loadParameters()
|
||||||
self.log.info('set to previous saved values %r', writeDict)
|
self.log.info('set to previous saved values %r', writeDict)
|
||||||
# self.encoder now contains the last known (persistent) value
|
# self.encoder now contains the last known (persistent) value
|
||||||
self.fix_encoder(encoder)
|
if self._need_reset is None:
|
||||||
|
if self.status[0] == self.Status.IDLE:
|
||||||
|
# server started, power cycled and encoder value matches last one
|
||||||
|
self.reset()
|
||||||
|
else:
|
||||||
|
self.fix_encoder(encoder)
|
||||||
|
self._need_reset = True
|
||||||
|
self.status = self.Status.ERROR, 'power loss'
|
||||||
|
# or should we just fix instead of error status?
|
||||||
|
# self.set('steppos', self.steppos - self.zero, check=False)
|
||||||
self.comm(SET_GLOB_PAR, 255, 1, bank=2) # set initialized flag
|
self.comm(SET_GLOB_PAR, 255, 1, bank=2) # set initialized flag
|
||||||
self._started = 0
|
self._started = 0
|
||||||
self._need_reset = True
|
|
||||||
self.status = self.Status.ERROR, 'power loss'
|
|
||||||
# or should we just fix instead of error status?
|
|
||||||
# self.set('steppos', self.steppos - self.zero, check=False)
|
|
||||||
|
|
||||||
return encoder if abs(encoder - steppos) > self.tolerance else steppos
|
return encoder if abs(encoder - steppos) > self.tolerance else steppos
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user