X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=firmware%2Fapps%2Fplugins%2Fps2.c;h=df31503e6c94bef1ec6648c9b9ae0d940bd4bacb;hb=c1c46f33e0a5c2f926c30cd66d0072cc03aa1434;hp=53b939ce5fb03207d37faaa073cc63421ea5e7b9;hpb=d27d75e4cedfab56742717f3ac990be059f8e168;p=goodfet diff --git a/firmware/apps/plugins/ps2.c b/firmware/apps/plugins/ps2.c index 53b939c..df31503 100644 --- a/firmware/apps/plugins/ps2.c +++ b/firmware/apps/plugins/ps2.c @@ -11,8 +11,7 @@ #include "ps2.h" #include "jtag.h" - -u16 mclock=0; +u32 mclock=0; u32 clock=0; // Timer A0 interrupt service routine @@ -38,6 +37,7 @@ u32 oldclock=0; int ps2handle(unsigned char app, unsigned char verb, unsigned int len){ + switch(verb){ case START: WDTCTL = WDTPW + WDTHOLD; // Stop WDT @@ -60,10 +60,13 @@ int ps2handle(unsigned char app, while((P5IN&TDI));// && P5IN&TDO)); //Transmit the data only if it is new. - - if((cmddatalong[0]=clock-oldclock)>0x100) + if((clock-oldclock)>0x100){ + cmddatalong[0]=clock;//-oldclock; + cmddatalong[0]-=oldclock; + oldclock=clock; + txdata(app,verb,4); - oldclock=clock; + } } break; case STOP: