/****************************************************************************/
/* Copyright 2004-2016 MBARI												*/
/****************************************************************************/
/* Summary	: Definitions for diagnostic routines to debug OASIS5 software	*/
/* Filename : swdiag.h														*/
/* Author	: Robert Herlien (rah)											*/
/* Project	: OASIS5 Mooring/Instrument Controller							*/
/* $Revision$															*/
/* Created	: 08/09/2016 rah												*/
/*																			*/
/* MBARI provides this documentation and code "as is", with no warranty,	*/
/* express or implied, of its quality or consistency. It is provided without*/
/* support and without obligation on the part of the Monterey Bay Aquarium	*/
/* Research Institute to assist in its use, correction, modification, or	*/
/* enhancement. This information should not be published or distributed to	*/
/* third parties without specific written permission from MBARI.			*/
/*																			*/
/****************************************************************************/
/* Modification History:													*/
/* 11aug2004 rah - created OASIS3 version from OASIS usrcmds.h				*/
/* 09aug2016 rah - created OASIS5 version from OASIS3 swdiag.h				*/
/* $Log$
 */
/****************************************************************************/

#ifndef INCswdiagh
#define INCswdiagh		1

#include <oasis.h>						/* OASIS controller definitions		*/
#include <remote.h>						/* Remote I/O library			*/


/****************************************/
/* Function Declarations				*/
/****************************************/

#ifdef DEBUG_SYSTEM_CMD
CmdRtn	showSystem(ParmMask_t pmask, Parm_t skipSem);
#endif

void	printTaskState(TaskHandle_t td);
CmdRtn	testDelay(ParmMask_t pmask, Parm_t ticks);
CmdRtn	startTestThread(ParmMask_t pmask, Parm_t serPort, Parm_t delay, Parm_t loops);
CmdRtn	modbusTest(ParmMask_t pmask, Parm_t testPort, Parm_t testSlave, Parm_t numSlaves);
CmdRtn	remSerConnect(RemSerHandle rsh);
CmdRtn	remConnect(ParmMask_t pmask, Parm_t bus, Parm_t slave, Parm_t port);
#ifdef DEBUG_KILL
CmdRtn	taskKillTest(Void);
#endif
CmdRtn	usrEcho(ParmMask_t pmask, Parm_t s1, Parm_t s2, char *s3, char *s4);
//CmdRtn	usrEcho(ParmMask_t pmask, char *s1, char*s2, char *s3, char *s4);
CmdRtn	echoAll(ParmMask_t pmask, char *s1, char *s2, char *s3, char *s4);

#endif /* INCswdiagh */
