2 \author Travis Goodspeed
3 \brief PS2 Timing Monitor for GoodFET
5 This module spies on PS/2. For now, it just reports the
6 inter-character timing information.
18 // Timer A0 interrupt service routine
19 interrupt(TIMERA0_VECTOR) Timer_A (void)
33 // This is just a plugin for now.
34 #define ps2handle pluginhandle
37 //! Handles a monitor command.
38 int ps2handle(unsigned char app,
44 WDTCTL = WDTPW + WDTHOLD; // Stop WDT
45 TACTL = TASSEL1 + TACLR; // SMCLK, clear TAR
46 CCTL0 = CCIE; // CCR0 interrupt enabled
47 CCR0 = 0x100; //clock divider
49 _EINT(); // Enable interrupts
52 P5DIR&=~(TDI+TDO);//input mode
55 debugstr("Waiting for a keypress.");
56 //Wait for a keypress.
59 //Debounce the 1s polling
60 while((P5IN&TDI && P5IN&TDO))
61 while((P5IN&TDI));// && P5IN&TDO));
63 //Transmit the data only if it is new.
64 if((clock-oldclock)>0x100){
65 cmddatalong[0]=clock;//-oldclock;
66 cmddatalong[0]-=oldclock;
75 debugstr("Unknown ps2 verb.");