X-Git-Url: http://git.rot13.org/?p=goodfet;a=blobdiff_plain;f=firmware%2Fgoodfet.c;h=b08313f01c1d71857aefc51446d86df3f3fab3e8;hp=4cddc1976e05877388845dd529016f2b5626c530;hb=166ecd9b06d0fd98ad69379f5b0d91c755adff2b;hpb=f4a6b415e762bcdc560f3ea655851d16f483ea5a diff --git a/firmware/goodfet.c b/firmware/goodfet.c index 4cddc19..b08313f 100644 --- a/firmware/goodfet.c +++ b/firmware/goodfet.c @@ -10,7 +10,7 @@ #include "platform.h" #include "command.h" #include "apps.h" - +#include "glitch.h" //LED on P1.0 @@ -22,7 +22,7 @@ void init(){ //LED out and on. PLEDDIR |= PLEDPIN; - PLEDOUT |= PLEDPIN; + PLEDOUT &= ~PLEDPIN; //Setup clocks, unique to each '430. msp430_init_dco(); @@ -32,18 +32,25 @@ void init(){ //eint(); } + //! Handle a command. void handle(unsigned char app, unsigned char verb, unsigned long len){ //debugstr("GoodFET"); switch(app){ + case GLITCH: + glitchhandle(app,verb,len); + break; case MONITOR: monitorhandle(app,verb,len); break; case SPI: spihandle(app,verb,len); break; + case AVR: + avrhandle(app,verb,len); + break; case I2CAPP: i2chandle(app,verb,len); break; @@ -57,11 +64,13 @@ void handle(unsigned char app, jtag430x2handle(app,verb,len); break; default: - #ifdef HANDLEOTHER - HANDLEOTHER(app,verb,len); - #else - txdata(app,NOK,0); - #endif + if(pluginhandle){ + pluginhandle(app,verb,len); + }else{ + debugstr("Plugin missing."); + txdata(app,NOK,0); + } + break; } } @@ -74,9 +83,11 @@ int main(void) unsigned long len; init(); + glitchsetup(); txstring(MONITOR,OK,"http://goodfet.sf.net/"); + //Command loop. There's no end! while(1){ //Magic 3