X-Git-Url: http://git.rot13.org/?p=goodfet;a=blobdiff_plain;f=client%2FGoodFET.py;h=562c65408f6f235d9c6a4ff2f5ccc42021ab4a8b;hp=63e38e984c1e2b8d35f69e5c79c02a18acc79338;hb=f2bee319a0c1b0a6c7618c02dbdfeacd68d5fea0;hpb=f6e88098e3f1bd2d7205c8f948a2dc2a5a780593 diff --git a/client/GoodFET.py b/client/GoodFET.py index 63e38e9..562c654 100755 --- a/client/GoodFET.py +++ b/client/GoodFET.py @@ -40,8 +40,12 @@ class GoodFET: parity = serial.PARITY_NONE ) - #Explicitly set RTS + #This might cause problems, but it makes failure graceful. + #self.serialport._timeout = 5; + + #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() @@ -103,7 +107,7 @@ class GoodFET: #Debugging string; print, but wait. if self.app==0xFF and self.verb==0xFF: - print "DEBUG %s" % self.serialport.read(self.count); + print "# DEBUG %s" % self.serialport.read(self.count); else: self.data=self.serialport.read(self.count); return self.data; @@ -145,6 +149,10 @@ class GoodFET: def dir(self,byte): """Write a byte to P5DIR.""" self.writecmd(0,0xA0,1,[byte]); + def call(self,adr): + """Call to an address.""" + self.writecmd(0,0x30,2, + [adr&0xFF,(adr>>8)&0xFF]); def peekbyte(self,address): """Read a byte of memory from the monitor.""" self.data=[address&0xff,address>>8];