#ifndef _thrusterDM_H
#define _thrusterDM_H
/*****************************************************************************/
/* Copyright 1992 MBARI                                                      */
/*****************************************************************************/
/* Summary  : Moog Thruster Motor Controller Interface Module Definitions    */
/* Filename : thrusterDm.h                                                   */
/* Author   : Andrew Pearce                                                  */
/* Project  : New ROV                                                        */
/* Version  : Version 1.0                                                    */
/* Created  : 05/21/92                                                       */
/* Modified : 09/03/92                                                       */
/* Archived :                                                                */
/*****************************************************************************/
/* Modification History:                                                     */
/* $Header: /usr/tiburon/.cvsroot/vw/h/thrusterDM.h,v 1.1.1.1 1997/05/16 22:33:02 pean Exp $
 * $Log: thrusterDM.h,v $
 * Revision 1.1.1.1  1997/05/16 22:33:02  pean
 * Initial check in after software freeze.
 *
 * Revision 1.1  92/06/29  10:18:25  10:18:25  pean (Andrew Pearce 408-647-3746)
 * Initial revision
 *
 */
/*****************************************************************************/
                                     /* Thruster location descriptors        */
typedef enum
{
    PORT_HORIZ,
    STBD_HORIZ,
    FWD_LATERAL,
    AFT_LATERAL,
    PORT_VERT,
    STBD_VERT,
    MOTOR_TEST
} thrusterId;

typedef enum
{
    DISABLE_MOTOR,
    ENABLE_MOTOR,
    MOOG_MOTOR_FAULT
} motorEnableState;

/******************** Data Manager Thruster Item Name Prefixes ***************/

#define PORT_HORIZ_THRUSTER_DM  "TIBURON.THRUSTER.PORT_HORIZ."
#define STBD_HORIZ_THRUSTER_DM  "TIBURON.THRUSTER.STBD_HORIZ."
#define FWD_LATERAL_THRUSTER_DM "TIBURON.THRUSTER.FWD_LATERAL."
#define AFT_LATERAL_THRUSTER_DM "TIBURON.THRUSTER.AFT_LATERAL."
#define PORT_VERT_THRUSTER_DM   "TIBURON.THRUSTER.PORT_VERT."
#define STBD_VERT_THRUSTER_DM   "TIBURON.THRUSTER.STBD_VERT."
#define MOTOR_TEST_PREFIX_DM     "MOTOR_TEST."

/************************ Data Manager Thruster Item Names *******************/

#define HEATSINK_TEMPERATURE_DM     "TEMPERATURE"
#define TEMPERATURE_ALARM_DM        "TEMP_ALARM"
#define TEMP_WARN_THRESH_DM         "TEMP_WARN_THRESHOLD"
#define TEMP_ALARM_THRESH_DM        "TEMP_ALARM_THRESHOLD"

#define HUMIDITY_DM                 "HUMIDITY"
#define HUMIDITY_ALARM_DM           "HUMIDITY_ALARM"
#define HUMIDITY_WARN_THRESH_DM     "HUMIDITY_WARN_THRESHOLD"
#define HUMIDITY_ALARM_THRESH_DM    "HUMIDITY_ALARM_THRESHOLD"

#define OUTPUT_POWER_DM             "OUTPUT_POWER"
#define INPUT_VOLTAGE_DM            "INPUT_VOLTAGE"
#define MOTOR_CURRENT_DM            "MOTOR_CURRENT"
#define ELAPSED_HOURS_DM            "ELAPSED_HOURS"
#define FAULT_QUEUE_STRUCT_DM       "FAULT_QUEUE_STRUCT"

#define READ_FAULT_QUEUE_DM         "READ_FAULT_QUEUE"
#define CLEAR_FAULT_QUEUE_DM        "CLEAR_FAULT_QUEUE"

#define MOTOR_SWITCH_DM             "SWITCH"
#define MOTOR_ENABLE_DM             "ENABLE"
#define MOTOR_ENABLE_REQ_DM         "ENABLE"
#define MOTOR_ENABLE_STATUS_DM      "ENABLE_STATUS"
#define MOTOR_VELOCITY_DM           "VELOCITY"
#define MOTOR_TORQUE_DM             "TORQUE"
#define MOTOR_FAULT_CODE_DM         "FAULT_CODE"

#define MOTOR_CTRL_MODE_DM          "CTRL_MODE"
#define MOTOR_CMD_THRUST_DM         "CMD_THRUST"
#define MOTOR_CTRL_TORQUE_DM        "CMD_CTRL_TORQUE"
#define MOTOR_CTRL_PARAM_DM         "CTRL_PARAM"

#define MOTOR_CURRENT_GAIN_DM       "CURRENT_GAIN"
#define MOTOR_VELOCITY_GAINS_DM     "VELOCITY_GAINS"

#define MOTOR_MODEL_PARAM_K4_DM     "MODEL_PARAM_K4"

#define MOTOR_DISABLE_ALARM_DM      "MOTOR_DISABLE_ALARM"
#define MOTOR_STALL_ALARM_DM        "MOTOR_STALL_ALARM"

#define MOTOR_MANUAL_CMD_DM         "MOTOR_MANUAL_CMD"
#define MOTOR_MANUAL_CMD_REPLY_DM   "MOTOR_MANUAL_CMD_REPLY"

#endif /* _thrusterDM_H */
