# include "pantasks.h"

int controller_status (int argc, char **argv) {

  int status;
  char command[1024];
  IOBuffer buffer;

  if (argc != 1) {
    gprint (GP_ERR, "USAGE: controller status\n");
    return (FALSE);
  }

  /* check if controller is running */
  status = CheckControllerStatus ();
  if (!status) {
    gprint (GP_LOG, "controller is not active\n");
    return (TRUE);
  }


  sprintf (command, "status");
  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);
}
