diff options
author | Wolfgang Draxinger <Wolfgang.Draxinger@draxit.de> | 2011-11-28 16:06:06 +0100 |
---|---|---|
committer | Wolfgang Draxinger <Wolfgang.Draxinger@draxit.de> | 2011-11-28 16:06:06 +0100 |
commit | 856cc1e195297ddedd03a898ffc79607467d1eed (patch) | |
tree | e88648b27793fff87836e5c70943fd3a77c4d142 | |
parent | 8c543a6cbb906c02beca0be675231f6e873fc30a (diff) | |
parent | d2d1e8997968bb2d2003b556fa938b92211c5aa8 (diff) | |
download | PyPhytron-856cc1e195297ddedd03a898ffc79607467d1eed.tar.gz PyPhytron-856cc1e195297ddedd03a898ffc79607467d1eed.tar.bz2 |
Merge branch 'master' of github.com:datenwolf/PyPhytron
-rw-r--r-- | Phytron.py | 32 |
1 files changed, 17 insertions, 15 deletions
@@ -337,28 +337,30 @@ class IPCOMM: return self.axisByID[int(nameOrID)] def enumerate(self, axes=0x10, names=None): - # Use a only short timeout for enumeration. if isinstance(axes, int): axes = range(axes) + # Use a only short timeout for enumeration. oldtimeout = self.conn.timeout self.conn.timeout = 0.05 self.axisByID.clear() self.axisByName.clear() - for i,ID in enumerate(axes): - try: - if self.execute(ID, 'IS?').ID == ID: - if ((isinstance(names, dict) and names.haskey(ID)) or (isinstance(names, list) and i < len(names))) and names[i].isalpha(): - if isinstance(names, dict): - axisname = names[ID] + try: + for i,ID in enumerate(axes): + try: + if self.execute(ID, 'IS?').ID == ID: + if ((isinstance(names, dict) and names.haskey(ID)) or (isinstance(names, list) and i < len(names))) and names[i].isalpha(): + if isinstance(names, dict): + axisname = names[ID] + else: + axisname = names[i] + axis = self.axisByName[str(axisname)] = Axis(self, ID, axisname) else: - axisname = names[i] - axis = self.axisByName[str(axisname)] = Axis(self, ID, axisname) - else: - axis = Axis(self, ID) - self.axisByID[ID] = axis - except ReceiveTimeout: - continue - self.conn.timeout = oldtimeout + axis = Axis(self, ID) + self.axisByID[ID] = axis + except ReceiveTimeout: + continue + finally: + self.conn.timeout = oldtimeout def send(self, data): self.conn.write('\x02' + data + ':' + ('%02X' % checksum(data + ':')) + '\x03') |