# This code is being rewritten and refactored. You've been warned!
import sys;
-import binascii;
+import binascii, time;
from GoodFETCC import GoodFETCC;
from GoodFETConsole import GoodFETConsole;
if(len(sys.argv)==1):
print "Usage: %s verb [objects]\n" % sys.argv[0];
+ print "%s erase" % sys.argv[0];
+ print "%s flash $foo.hex" % sys.argv[0];
print "%s test" % sys.argv[0];
print "%s term" % sys.argv[0];
print "%s info" % sys.argv[0];
- print "%s radioinfo" % sys.argv[0];
+ print "%s regs" % sys.argv[0];
print "%s dumpcode $foo.hex [0x$start 0x$stop]" % sys.argv[0];
print "%s dumpdata $foo.hex [0x$start 0x$stop]" % sys.argv[0];
- print "%s erase" % sys.argv[0];
print "%s writedata $foo.hex [0x$start 0x$stop]" % sys.argv[0];
print "%s verify $foo.hex [0x$start 0x$stop]" % sys.argv[0];
print "%s peekdata 0x$start [0x$stop]" % sys.argv[0];
print "%s peek 0x$iram" % sys.argv[0];
print "%s poke 0x$iram 0x$val" % sys.argv[0];
print "%s peekcode 0x$start [0x$stop]" % sys.argv[0];
+
+ print "%s carrier [freq]\n\tHolds a carrier on [freq] Hz." % sys.argv[0];
+
sys.exit();
#Initailize FET and set baud rate
client.start();
+if(sys.argv[1]=="carrier"):
+ if len(sys.argv)>2:
+ client.RF_setfreq(eval(sys.argv[2]));
+ client.RF_carrier();
+ #printconfig();
+ print "\nHolding a carrier wave.";
+ while(1):
+ time.sleep(1);
+
if(sys.argv[1]=="explore"):
print "Exploring undefined commands."
print "Status: %s" %client.status();
if(sys.argv[1]=="status"):
print "Status: %s" %client.status();
if(sys.argv[1]=="info"):
- print "%s" % client.CCidentstr();
-if(sys.argv[1]=="radioinfo"):
+ print "Ident %s" % client.CCidentstr();
+
+ try:
+ print "Freq %10.3f MHz" % (client.RF_getfreq()/10**6);
+ print "RSSI %02x" % client.RF_getrssi();
+ except:
+ print "Freq, RSSI, etc unknown. Install SmartRF7.";
+ #print "Rate %10i kbps" % (client.RF_getrate()/1000);
+ #print "PacketLen %02i bytes" % client.RF_getpacketlen();
+ #print "SMAC 0x%010x" % client.RF_getsmac();
+ #print "TMAC 0x%010x" % client.RF_gettmac();
+
+if(sys.argv[1]=="regs"):
client.CMDrs();
+
if(sys.argv[1]=="erase"):
print "Status: %s" % client.status();
client.CCchiperase();