class GoodFETGlitch(GoodFET):
def __init__(self, *args, **kargs):
- print "Initializing GoodFET Glitcher."
+ print "# Initializing GoodFET Glitcher."
#Database connection w/ 30 second timeout.
self.db=sqlite3.connect("glitch.db",30000);
g('set term png');
g('set output "timevcc.png"');
g(script_timevcc);
-
+ def points(self):
+ c=self.db.cursor();
+ c.execute("select time,vcc,gnd,glitchcount,count from glitches where lock=0 and count>0;");
+ print "time vcc gnd glitchcount count";
+ for r in c:
+ print "%i %i %i %i %i" % r;
#GnuPlot sucks for large sets. Switch to viewpoints soon.
# sqlite3 glitch.db "select time,vcc,count from glitches where count=0" | vp -l -d "|" -I
print "%s avr explore" % sys.argv[0];
print "%s avr graph" % sys.argv[0];
print "%s avr graphx11" % sys.argv[0];
+ print "%s avr points" % sys.argv[0];
print """
This populates a database, glitch.db, with a record of all attempted
glitches. Graphs can then be generated from the results, allowing
if(sys.argv[2]=="graph"):
glitcher.graph();
exit();
+if(sys.argv[2]=="points"):
+ glitcher.points();
+ exit();
if(sys.argv[2]=="crunch"):
glitcher.crunch();