aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorroot <root@gar-ex-erdastep.localdomain>2011-11-28 17:48:54 +0100
committerroot <root@gar-ex-erdastep.localdomain>2011-11-28 17:48:54 +0100
commit8ef5764aa260417b90afaf0c611bb75b00157554 (patch)
treefab3977e84c9043036e5442abb0ee340dc9e7cbc
parent856cc1e195297ddedd03a898ffc79607467d1eed (diff)
downloadPyPhytron-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.py35
1 files changed, 27 insertions, 8 deletions
diff --git a/Phytron.py b/Phytron.py
index bbca481..4cc3ea9 100644
--- a/Phytron.py
+++ b/Phytron.py
@@ -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):