return self.symbols.get(name);
def timeout(self):
print "timeout\n";
- def serInit(self, port=None, timeout=2):
+ def serInit(self, port=None, timeout=2, attemptlimit=None):
"""Open the serial port"""
# Make timeout None to wait forever, 0 for non-blocking mode.
glob_list = glob.glob("/dev/ttyUSB*");
if len(glob_list) > 0:
port = glob_list[0];
+ if port is None:
+ glob_list = glob.glob("/dev/ttyU0");
+ if len(glob_list) > 0:
+ port = glob_list[0];
if os.name=='nt':
from scanwin32 import winScan;
scan=winScan();
connected=0;
while connected==0:
while self.verb!=0x7F or self.data!="http://goodfet.sf.net/":
- #print "Resyncing.";
+ if attemptlimit is not None and attempts >= attemptlimit:
+ return
+ elif attempts>2:
+ print "Resyncing.";
self.serialport.flushInput()
self.serialport.flushOutput()
#Explicitly set RTS and DTR to halt board.
#TelosB reset, prefer software to I2C SPST Switch.
if(os.environ.get("platform")=='telosb'):
+ #print "TelosB Reset";
self.telosBReset();
#self.serialport.write(chr(0x80));
#self.serialport.write(chr(0x80));
if self.verbose: print "Connected after %02i attempts." % attempts;
self.mon_connected();
self.serialport.setTimeout(12);
+ def serClose(self):
+ self.serialport.close();
def telosSetSCL(self, level):
self.serialport.setRTS(not level)
def telosSetSDA(self, level):