Index: trunk/Ohana/src/opihi/pantasks/ControllerOps.c
===================================================================
--- trunk/Ohana/src/opihi/pantasks/ControllerOps.c	(revision 18080)
+++ trunk/Ohana/src/opihi/pantasks/ControllerOps.c	(revision 18085)
@@ -445,4 +445,11 @@
 }
 
+int FlushControllerOutput () {
+
+  FlushIOBuffer (&stdout_buffer);
+  FlushIOBuffer (&stderr_buffer);
+
+  return (TRUE);
+}
 
 int KillControllerJob (Job *job) {
Index: trunk/Ohana/src/opihi/pantasks/Makefile
===================================================================
--- trunk/Ohana/src/opihi/pantasks/Makefile	(revision 18080)
+++ trunk/Ohana/src/opihi/pantasks/Makefile	(revision 18085)
@@ -79,4 +79,5 @@
 $(SRC)/controller_status.$(ARCH).o \
 $(SRC)/controller_jobstack.$(ARCH).o \
+$(SRC)/controller_verbose.$(ARCH).o \
 $(SRC)/controller_run.$(ARCH).o \
 $(SRC)/controller_output.$(ARCH).o \
Index: trunk/Ohana/src/opihi/pantasks/controller.c
===================================================================
--- trunk/Ohana/src/opihi/pantasks/controller.c	(revision 18080)
+++ trunk/Ohana/src/opihi/pantasks/controller.c	(revision 18085)
@@ -5,4 +5,5 @@
 int controller_status  	PROTO((int, char **));
 int controller_jobstack PROTO((int, char **));
+int controller_verbose  PROTO((int, char **));
 int controller_run     	PROTO((int, char **));
 int controller_stop    	PROTO((int, char **));
@@ -19,4 +20,5 @@
   {1, "status",   controller_status,   "check controller status"},
   {1, "jobstack", controller_jobstack, "check controller status"},
+  {1, "verbose",  controller_verbose,  "set controller verbosity"},
   {1, "output",   controller_output,   "print controller output"},
   {1, "pulse",    controller_pulse,    "set controller pulse"},
Index: trunk/Ohana/src/opihi/pantasks/controller_jobstack.c
===================================================================
--- trunk/Ohana/src/opihi/pantasks/controller_jobstack.c	(revision 18080)
+++ trunk/Ohana/src/opihi/pantasks/controller_jobstack.c	(revision 18085)
@@ -21,5 +21,5 @@
 
   // XXX this has an error?  test this out...
-  sprintf (command, "jobstack %s", argv[2]);
+  sprintf (command, "jobstack %s", argv[1]);
   InitIOBuffer (&buffer, 0x100);
 
Index: trunk/Ohana/src/opihi/pantasks/controller_output.c
===================================================================
--- trunk/Ohana/src/opihi/pantasks/controller_output.c	(revision 18080)
+++ trunk/Ohana/src/opihi/pantasks/controller_output.c	(revision 18085)
@@ -3,6 +3,6 @@
 int controller_output (int argc, char **argv) {
 
-  if (argc != 1) {
-    gprint (GP_ERR, "USAGE: controller status\n");
+  if ((argc != 1) || ((argc == 2) && (strcmp(argv[1], "flush")))) {
+    gprint (GP_ERR, "USAGE: controller output\n");
     return (FALSE);
   }
@@ -10,4 +10,9 @@
   CheckControllerOutput ();
   PrintControllerOutput ();
+
+  if (argc == 2) {
+    FlushControllerOutput ();
+  }
+
   return (TRUE);
 }
Index: trunk/Ohana/src/opihi/pantasks/controller_verbose.c
===================================================================
--- trunk/Ohana/src/opihi/pantasks/controller_verbose.c	(revision 18085)
+++ trunk/Ohana/src/opihi/pantasks/controller_verbose.c	(revision 18085)
@@ -0,0 +1,37 @@
+# include "pantasks.h"
+
+int controller_verbose (int argc, char **argv) {
+
+  int status;
+  char command[1024];
+  IOBuffer buffer;
+
+  if (argc != 2) {
+    gprint (GP_ERR, "USAGE: controller verbose (level)\n");
+    gprint (GP_ERR, "       (level) : off, on, toggle\n");
+    return (FALSE);
+  }
+
+  /* check if controller is running */
+  status = CheckControllerStatus ();
+  if (!status) {
+    gprint (GP_LOG, "controller is not active\n");
+    return (TRUE);
+  }
+
+  // XXX this has an error?  test this out...
+  sprintf (command, "verbose %s", argv[1]);
+  InitIOBuffer (&buffer, 0x100);
+
+  SerialThreadLock ();
+  status = ControllerCommand (command, CONTROLLER_PROMPT, &buffer);
+  SerialThreadUnlock ();
+
+  if (status) {
+    gwrite (buffer.buffer, 1, buffer.Nbuffer, GP_LOG);
+  } else {
+    gprint (GP_LOG, "controller is not communicating\n");
+  }
+  FreeIOBuffer (&buffer);
+  return (TRUE);
+}
