Handle the non-AbsoluteEncoder motor
This commit is contained in:
@@ -89,11 +89,20 @@ class GalilMotor(object):
|
|||||||
|
|
||||||
def getPosition(self):
|
def getPosition(self):
|
||||||
'''Calculate the unit position'''
|
'''Calculate the unit position'''
|
||||||
value = self.unitsHome + self.currentSteps / self.stepsPerX
|
if self.hasAbsEnc and self.cntsPerX != 0:
|
||||||
value = self.getEncoder() - self.absEncHome
|
# absolute encoder case
|
||||||
value /= self.cntsPerX
|
value = self.getEncoder() - self.absEncHome
|
||||||
value += self.unitsHome
|
value /= self.cntsPerX
|
||||||
return value
|
value += self.unitsHome
|
||||||
|
return value
|
||||||
|
elif self.stepsPerX != 0:
|
||||||
|
# handle non-AbsEncoder case
|
||||||
|
value = self.currentSteps - self.motorHome
|
||||||
|
value /= self.stepsPerX
|
||||||
|
return value
|
||||||
|
else:
|
||||||
|
# not-configured case
|
||||||
|
return -123.456
|
||||||
|
|
||||||
def doIteration(self, now):
|
def doIteration(self, now):
|
||||||
'''If moving then update speed and position using
|
'''If moving then update speed and position using
|
||||||
|
|||||||
Reference in New Issue
Block a user