From 00737f87325a8f97ce23c32f32e93b082bf5a4d2 Mon Sep 17 00:00:00 2001 From: travisutk Date: Tue, 19 Jan 2010 03:52:47 +0000 Subject: [PATCH 1/1] Added a GLITCHTIME verb (0x82) for timing the execution of a verb. AVR's START verb no longer returns a model number, as that took extra time. git-svn-id: https://svn.code.sf.net/p/goodfet/code/trunk@269 12e2690d-a6be-4b82-a7b7-67c4a43b65c8 --- firmware/apps/avr/avr.c | 5 +++-- firmware/apps/glitch/glitch.c | 15 ++++++++++++++- firmware/goodfet.c | 2 +- firmware/include/glitch.h | 2 ++ 4 files changed, 20 insertions(+), 4 deletions(-) diff --git a/firmware/apps/avr/avr.c b/firmware/apps/avr/avr.c index 1cb67e9..9db6ce4 100644 --- a/firmware/apps/avr/avr.c +++ b/firmware/apps/avr/avr.c @@ -151,9 +151,10 @@ void avrhandle(unsigned char app, avrsetup(); txdata(app,verb,0); break; - case START://returns device code + case START: avrconnect(); - //no break here + txdata(app,verb,0); + break; case AVR_PEEKSIG: for(i=0;i<4;i++) cmddata[i]=avr_sig(i); diff --git a/firmware/apps/glitch/glitch.c b/firmware/apps/glitch/glitch.c index 59896c7..9ddcc8c 100644 --- a/firmware/apps/glitch/glitch.c +++ b/firmware/apps/glitch/glitch.c @@ -125,7 +125,6 @@ void glitchrate(u16 rate){ glitchcount=rate; } - //! Handles a monitor command. void glitchhandle(unsigned char app, unsigned char verb, @@ -145,6 +144,20 @@ void glitchhandle(unsigned char app, glitchprime(); handle(cmddata[0],cmddata[1],0); break; + case GLITCHTIME: + _DINT();//disable interrupts + TACTL=0; //clear dividers + TACTL|=TACLR; //clear config + TACTL|=TASSEL_SMCLK| //smclk source + MC_2; //continuout mode. + + //perform the function + silent++;//Don't want the function to return anything. + handle(cmddata[0],cmddata[1],0); + silent--; + cmddataword[0]=TAR; //Return counter. + txdata(app,verb,2); + break; case START: case STOP: case GLITCHAPP: diff --git a/firmware/goodfet.c b/firmware/goodfet.c index 2702fdd..2fe74e1 100644 --- a/firmware/goodfet.c +++ b/firmware/goodfet.c @@ -74,9 +74,9 @@ void handle(unsigned char app, pluginhandle(app,verb,len); }else{ debugstr("Plugin missing."); + debughex(app); txdata(app,NOK,0); } - break; } } diff --git a/firmware/include/glitch.h b/firmware/include/glitch.h index 7576c7e..16ccea8 100644 --- a/firmware/include/glitch.h +++ b/firmware/include/glitch.h @@ -10,9 +10,11 @@ //Command codes #define GLITCHAPP 0x80 #define GLITCHVERB 0x81 +#define GLITCHTIME 0x82 #define GLITCHVOLTAGES 0x90 #define GLITCHRATE 0x91 + //! Setup glitching. void glitchsetup(); //! Setup analog chain for glitching. -- 2.20.1