+/*! \file monitor.c
+ \author Travis Goodspeed
+ \brief Local debug monitor.
+*/
+
#include "command.h"
#include "platform.h"
#include "monitor.h"
//! Handles a monitor command.
void monitorhandle(unsigned char app,
unsigned char verb,
- unsigned char len){
+ unsigned long len){
switch(verb){
case PEEK:
cmddata[0]=memorybyte[cmddataword[0]];
cmddata[0]=memorybyte[cmddataword[0]];
txdata(app,verb,1);
break;
+ case MONITOR_SIZEBUF:
+ //TODO make the data length target-specific, varying by ram.
+ cmddataword[0]=0x100;
+ txdata(app,verb,2);
+ break;
case MONITOR_CHANGE_BAUD:
//This command, and ONLY this command, does not reply.
setbaud(cmddata[0]);
cmddataword[0]=monitor_ram_depth();
txdata(app,verb,2);
break;
+ case MONITOR_DIR:
+ P5DIR=cmddata[0];
+ txdata(app,verb,1);
+ break;
+ case MONITOR_IN:
+ cmddata[0]=P5IN;
+ txdata(app,verb,1);
+ break;
+ case MONITOR_OUT:
+ P5OUT=cmddata[0];
+ txdata(app,verb,1);
+ break;
+ case MONITOR_SILENT:
+ silent=cmddata[0];
+ txdata(app,verb,1);
+ break;
}
}