if ord(data[0])!=0xFE:
print "EZSP error: 0x%02x" % ord(data[0]);
if ord(data[4])==0x58:
- print "EZSP Invalid Command";
- return None;
+ print "EZSP Invalid Command because 0x%02x" % ord(data[5]);
+ return data;
if frame[0]!=ord(data[4]):
print "EZSP warning: Command 0x%02x returned type 0x%02x." % (
frame[0],ord(data[4]));
print "Version: %i" % (version);
print "Status: %s" % (["dead","alive"][status]);
print ""
+ self.setVersion();
print "Node ID: %04x" % (self.getNodeID());
print "Connected to %2i neighbors." % self.neighborCount();
def EM260spiversion(self):
data=self.EZSPtrans([0x9A, channel&xFF]);
return ord(data[5]);
-
-
+ def setVersion(self,version=2):
+ """Set the requested EZSP protocol version."""
+
+ data=self.EZSPtrans([0x00, version]);
+ newversion=ord(data[5]);
+ if version==newversion:
+ print "Version set."
+ print "Protocol %i, stack type %i, Stack Version 0x%02x%02x." % (
+ newversion,
+ ord(data[6]),
+ ord(data[8]),
+ ord(data[7]));
+ else:
+ self.setVersion(newversion);