diff options
author | root <root@gar-ex-erdastep.localdomain> | 2011-11-28 17:48:54 +0100 |
---|---|---|
committer | root <root@gar-ex-erdastep.localdomain> | 2011-11-28 17:48:54 +0100 |
commit | 8ef5764aa260417b90afaf0c611bb75b00157554 (patch) | |
tree | fab3977e84c9043036e5442abb0ee340dc9e7cbc | |
parent | 856cc1e195297ddedd03a898ffc79607467d1eed (diff) | |
download | PyPhytron-8ef5764aa260417b90afaf0c611bb75b00157554.tar.gz PyPhytron-8ef5764aa260417b90afaf0c611bb75b00157554.tar.bz2 |
Axis interface rather complete (a few non-essential functions missing; hardly anybody will miss them)
-rw-r--r-- | Phytron.py | 35 |
1 files changed, 27 insertions, 8 deletions
@@ -247,9 +247,9 @@ class Axis: def getHaltCurrent(self): return float(self.execute("PS??").data) - def setCurrentPosition(self, position): + def setPosition(self, position): return self.execute("PC%d" % position).status - def getCurrentPosition(self): + def getPosition(self): return int(self.execute("PC?").data) def setRunFrequency(self, freq): @@ -298,23 +298,42 @@ class Axis: def setOutputs(self, outputstate): outputs = 0 - if isinstance(list, outputstate): + if isinstance(outputstate, list): for i,s in enumerate(outputstate): if not not outputstate[i]: outputs |= 1<<i else: outputs = outputstate - return self.execute("IO%x" % outputs&0xf).status + return self.execute("IO%x" % (outputs & 0xf) ).status def getOutputs(self): - outputstate = string.itoa(self.execute("IO?").data, 0x10) - outputs = [True if outputstate & 1<<i else False for i in range(8)] + outputstate = string.atoi(self.execute("IO?").data, 0x10) + outputs = [True if outputstate & 1<<i else False for i in range(4)] return outputs def getInputs(self): - inputstate = string.itoa(self.execute("II?").data, 0x10) - inputs = [True if outputstate & 1<<i else False for i in range(8)] + inputstate = string.atoi(self.execute("II?").data, 0x10) + inputs = [True if inputstate & 1<<i else False for i in range(8)] return inputs + def clearDriverError(): + return self.execute("CA").status + def clearInitiatorError(): + return self.execute("CI").status + def clearOutputError(): + return self.execute("CO").status + + def resetHW(): + return self.execute("CR").status + def resetSFI(): + return self.execute("CS").status + + def getDriverTemp(): + return int(self.execute("SA?").data) + def getDriverCurrent(): + return int(self.execute("SC?").data) + def getDriverVoltage(): + return int(self.execute("SU?").data) + class IPCOMM: MAX_RETRY_COUNT = 5 def __init__(self, url, baudrate = 38400, axes=0x10, axisnames = None): |