Dropped ugly 'blocks' kludge for a 16-bit length field.
[goodfet] / firmware / apps / monitor / monitor.c
index 1263bcb..3f35ea2 100644 (file)
@@ -1,8 +1,6 @@
 /*! \file monitor.c
   \author Travis Goodspeed
 /*! \file monitor.c
   \author Travis Goodspeed
-  
-  This is an implementation of the SPI protocol
-  for the GoodFET project.
+  \brief Local debug monitor.
 */
 
 #include "command.h"
 */
 
 #include "command.h"
@@ -12,7 +10,7 @@
 //! Handles a monitor command.
 void monitorhandle(unsigned char app,
                   unsigned char verb,
 //! 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]];
   switch(verb){
   case PEEK:
     cmddata[0]=memorybyte[cmddataword[0]];
@@ -24,6 +22,11 @@ void monitorhandle(unsigned char app,
     cmddata[0]=memorybyte[cmddataword[0]];
     txdata(app,verb,1);
     break;
     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]);
   case MONITOR_CHANGE_BAUD:
     //This command, and ONLY this command, does not reply.
     setbaud(cmddata[0]);
@@ -48,6 +51,10 @@ void monitorhandle(unsigned char app,
     P5OUT=cmddata[0];
     txdata(app,verb,1);
     break;
     P5OUT=cmddata[0];
     txdata(app,verb,1);
     break;
+  case MONITOR_SILENT:
+    silent=cmddata[0];
+    txdata(app,verb,1);
+    break;
   }
 }
 
   }
 }