/****************************************************************************/
/* Copyright 2004 MBARI														*/
/****************************************************************************/
/* Summary	: Definitions for diagnostic routines to debug OASIS3 software	*/
/* Filename : swdiag.h														*/
/* Author	: Robert Herlien (rah)											*/
/* Project	: OASIS3 Mooring												*/
/* $Revision: 1.1 $															*/
/* Created	: 08/11/2004 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 from OASIS usrcmds.h								*/
/****************************************************************************/

#ifndef INCswdiagh
#define INCswdiagh		1

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


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

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

CmdRtn	testDelay(ParmMask_t pmask, Parm_t ticks);
CmdRtn	testDelay1(ParmMask_t pmask, Parm_t seconds, Parm_t rtcTicks);
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	testNum(ParmMask_t pmask, char *str);
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 */
