#
# This code is being rewritten and refactored. You've been warned!
-import sys, os, readline, code, binascii;
-import rlcompleter;
+import sys, os, code, binascii;
+#import rlcompleter, readline;
+from GoodFET import GoodFET, getClient;
from GoodFETConsole import GoodFETConsole;
-from GoodFETCC import GoodFETCC;
-from GoodFETMSP430 import GoodFETMSP430;
-from GoodFET import GoodFET;
from intelhex import IntelHex;
if(len(sys.argv)==1):
- print "Usage: %s driver\n" % sys.argv[0];
- print "driver:= GoodFETCC GoodFETMSP430";
- print;
+ print "Usage: %s [driver|verb]\n" % sys.argv[0];
+ print "driver:= monitor | cc | avr | spi | msp430 | nrf";
+ print "verb:= scan";
+ print "";
print "This is an unfinished client. You probably want goodfet.$chip instead.";
sys.exit(1);
+verb=sys.argv[1];
+if verb=="scan":
+ from scanwin32 import *;
+ # INIT COMPORT SCAN
+ scan=winScan();
+ #scan.comports();
+
+ for order, port, desc, hwid in sorted(scan.comports()):
+ # Look for FTDIBUS
+ try:
+ #hwid.index('FTDI')
+ #print "*************"
+ #print "GOODFET FOUND"
+ #print "*************"
+ if hwid.index('FTDI')!=0: continue;
+ print "%s: (%s)" % (port, hwid),
+ try:
+ serial.Serial(port)
+ except serial.serialutil.SerialException:
+ print "Busy"
+ else:
+ print "Ready"
+ except:
+ pass
+ sys.exit(0);
+
driver=sys.argv[1];
print "Using driver %s" % driver;
-client=eval("%s()" % driver);
-console=GoodFETConsole(client);
-
-while 1:
- sys.stdout.write("gf% ");
- sys.stdout.flush();
- cmd=sys.stdin.readline();
- console.handle(cmd);
+#client=eval("%s()" % driver);
+client=getClient(driver);
+console=client.getConsole();
+console.run();
sys.exit(0);