- while self.verb!=0x7F:
- self.serialport.flushInput()
- self.serialport.flushOutput()
- #Explicitly set RTS and DTR to halt board.
- self.serialport.setRTS(1);
- self.serialport.setDTR(1);
- #Drop DTR, which is !RST, low to begin the app.
- self.serialport.setDTR(0);
- self.serialport.flushInput()
- self.serialport.flushOutput()
- #time.sleep(.1);
- attempts=attempts+1;
- self.readcmd(); #Read the first command.
-
- #print "Connected after %02i attempts." % attempts;
+ connected=0;
+ while connected==0:
+ while self.verb!=0x7F or self.data!="http://goodfet.sf.net/":
+ #print "Resyncing.";
+ self.serialport.flushInput()
+ self.serialport.flushOutput()
+ #Explicitly set RTS and DTR to halt board.
+ self.serialport.setRTS(1);
+ self.serialport.setDTR(1);
+ #Drop DTR, which is !RST, low to begin the app.
+ self.serialport.setDTR(0);
+ self.serialport.flushInput()
+ self.serialport.flushOutput()
+ #time.sleep(60);
+ attempts=attempts+1;
+ self.readcmd(); #Read the first command.
+ #Here we have a connection, but maybe not a good one.
+ connected=1;
+ olds=self.infostring();
+ clocking=self.monitorclocking();
+ for foo in range(1,30):
+ if not self.monitorecho():
+ if self.verbose: print "Comm error on %i try, resyncing out of %s." % (foo,
+ clocking);
+ connected=0;
+ break;
+ if self.verbose: print "Connected after %02i attempts." % attempts;