/*****************************************************************************/
/* Copyright 1996 to 1998 MBARI                                              */
/*****************************************************************************/
/* Summary  : Tiburon Vehicle Definitions                                    */
/* Filename : tiburon.h                                                      */
/* Author   : Andrew Pearce                                                  */
/* Project  : Tiburon ROV                                                    */
/* Version  : Version 1.0                                                    */
/* Created  : 04/04/96                                                       */
/* Modified : 03/11/98                                                       */
/* Archived :                                                                */
/*****************************************************************************/
/* Modification History:                                                     */
/* $Header:
 * $Log:
*/
/*****************************************************************************/

#ifndef INCLUDE_TIBURON_DEF
#define INCLUDE_TIBURON_DEF

#define TIBURON_DM_PREFIX                    "TIBURON."

#define TIBURON_POWER_ON_DM                  "VEHICLE.POWER_ON"
#define TIBURON_ALIVE_DM                     "VEHICLE.ALIVE"
#define TIBURON_HEARTBEAT_DM                 "VEHICLE.HEARTBEAT"
#define TIBURON_IDLE_CPU_PERCENT_DM          "VEHICLE.IDLE_CPU.PERCENT"
#define TIBURON_IDLE_CPU_ALARM_DM            "VEHICLE.IDLE_CPU.ALARM"

#define TIBURON_IDLE_CPU2_PERCENT_DM         "VEHICLE.IDLE_CPU2.PERCENT"
#define TIBURON_IDLE_CPU2_ALARM_DM           "VEHICLE.IDLE_CPU2.ALARM"

#define TIBURON_IN_WATER_DM                  "VEHICLE.IN_WATER"
#define TIBURON_IN_WATER_HOUR_LOG_DM         "VEHICLE.IN_WATER.HOUR_LOG"
#define TIBURON_POWER_ON_HOUR_LOG_DM         "VEHICLE.POWER_ON.HOUR_LOG"

#define CONSOLE_ALIVE_DM                     "CONSOLE.ALIVE"
#define CONSOLE_HEARTBEAT_DM                 "CONSOLE.HEARTBEAT"
#define CONSOLE_IDLE_CPU_PERCENT_DM          "CONSOLE.IDLE_CPU.PERCENT"
#define CONSOLE_IDLE_CPU_ALARM_DM            "CONSOLE.IDLE_CPU.ALARM"
#define CONSOLE_IDLE2_CPU_PERCENT_DM         "CONSOLE.IDLE2_CPU.PERCENT"
#define CONSOLE_IDLE2_CPU_ALARM_DM           "CONSOLE.IDLE2_CPU.ALARM"

#define CONSOLE_TURN_AROUND_DM               "CONSOLE.TURN_AROUND"
#define VEHICLE_TURN_AROUND_DM               "VEHICLE.TURN_AROUND"

#define TIBURON_DIVE_NO_DM                   "DIVE_NUMBER"
#define TIBURON_DIVE_NO_LEN   25

#define TIBURON_POSITION_STRING_DM           "POSITION.WINFROG.STRING"
#define TIBURON_LATITUDE_DM                  "POSITION.LATITUDE"
#define TIBURON_LONGITUDE_DM                 "POSITION.LONGITUDE"

#define TOOLSLED_LATCHED_DM                  "TOOLSLED_LATCHED"
#define TOOLSLED_CONNECTED_DM                "TOOLSLED_CONNECTED"

#define TOOLSLED_LATCH_ARM_DM                "TOOLSLED_LATCH_ARM_CMD"
#define TOOLSLED_LATCH_RELEASE_DM            "TOOLSLED_LATCH_RELEASE_CMD"
#define TOOLSLED_LATCH_JOG_DM                "TOOLSLED_LATCH_JOG_CMD"
#define TOOLSLED_LATCH_STATUS_DM             "TOOLSLED_LATCH_STATUS"

#define DEPLOYMENT_LATCH_ARM_DM              "DEPLOYMENT_LATCH_ARM_CMD"
#define DEPLOYMENT_LATCH_RELEASE_DM          "DEPLOYMENT_LATCH_RELEASE_CMD"
#define DEPLOYMENT_LATCH_JOG_DM              "DEPLOYMENT_LATCH_JOG_CMD"
#define DEPLOYMENT_LATCH_STATUS_DM           "DEPLOYMENT_LATCH_STATUS"
#define DEPLOYMENT_LATCH_ON_TIME_DM          "DEPLOYMENT_LATCH_ON_TIME"

#define HYDRAULIC_PRESSURE_DM                "HYDRAULIC_PRESSURE"
#define HYDRAULIC_PRESSURE_ALARM_DM          "HYDRAULIC_PRESSURE_ALARM"
#define HYDRAULIC_PRESSURE_WARN_THRESH_DM    "HYDRAULIC_PRESSURE_WARN_THRESH"
#define HYDRAULIC_PRESSURE_ALARM_THRESH_DM   "HYDRAULIC_PRESSURE_ALARM_THRESH"

#define COMP_SYSTEM_LEVEL_PERCENT_DM         "COMPENSATION.LEVEL_PERCENT"
#define COMP_SYSTEM_LEVEL_VOLUME_DM          "COMPENSATION.LEVEL_VOLUME"
#define COMP_SYSTEM_LEVEL_ALARM_DM           "COMPENSATION.LEVEL_ALARM"
#define COMP_SYSTEM_WARN_LEVEL_DM            "COMPENSATION.LEVEL_WARN_THRESH"
#define COMP_SYSTEM_ALARM_LEVEL_DM           "COMPENSATION.LEVEL_ALARM_THRESH"
#define COMP_SYSTEM_MIN_LEVEL_DM             "COMPENSATION.LEVEL_MIN_VALUE"
#define COMP_SYSTEM_MAX_LEVEL_DM             "COMPENSATION.LEVEL_MAX_VALUE"

#define RESTART_IVIEW_DM                     "RESTART_IVIEW.REQUEST"

#define COMP_SYSTEM_CAPACITY           7.6 /* Comp system volume 7.6 liters  */

#define TIBURON_HEARTBEAT_RATE     1000000 /* heartbeat rate in microseconds */

#define ROV_HUMIDITY_WARN_THRESH        25 /* 25% RH vehicle wide            */
#define ROV_HUMIDITY_ALARM_THRESH       35 /* 35% RH vehicle wide            */

#define HEARTBEAT_TASK_STACKSIZE      2000 /* Heartbeat Task Stacksize       */
#define TIBURON_STATUS_STACKSIZE      3000 /* Tiburon Status Task Stacksize  */

typedef enum
{
    TIBURON_CPU1,
    TIBURON_CPU2,
    GMS_SIO32,
    MOTIONPAK_CPU,
    CONSOLE_CPU
} tiburonCpuId;

#ifdef __STDC__

STATUS heartbeatTask( tiburonCpuId cpuId );
STATUS tiburonStatusTask( Void );
STATUS consoleStatusTask( Void );

#endif

#endif /* INCLUDE_TIBURON_DEF */




