/****************************************************************************/
/* Copyright 1992 to 1996 MBARI                                             */
/****************************************************************************/
/* Summary  : VME IBC Interface Module Definitions for VxWorks              */
/* Filename : vmeIbc.h                                                      */
/* Author   : Andrew Pearce                                                 */
/* Project  : Tiburon                                                       */
/* Version  : Version 1.0                                                   */
/* Created  : 10/04/92                                                      */
/* Modified : 05/03/96                                                      */
/* Archived :                                                               */
/****************************************************************************/
/* Modification History:                                                    */
/* $Header: /usr/tiburon/.cvsroot/vw/h/vmeIbc.h,v 1.1.1.1 1997/05/16 22:33:02 pean Exp $
 * $Log: vmeIbc.h,v $
 * Revision 1.1.1.1  1997/05/16 22:33:02  pean
 * Initial check in after software freeze.
 *
 *
 */
/****************************************************************************/

#ifndef _vmeIbc_H
#define _vmeIbc_H

#define VME_IBC_STACKSIZE        4500   /* VME Can IBC Task Stack Size & TCB*/
                                        /* VME IBC Data Manager Item Prefix */
#define VMEIBC_DM_PREFIX        "TIBURON.VME_IBC."

/********************** Data Manager Thruster Item Names ********************/

#define WATER_ALARM0_DM                         "WATER_ALARM0"
#define WATER_ALARM1_DM                         "WATER_ALARM1"
#define WATER_ALARM_THRESH_DM                   "WATER_ALARM_THRESHOLD"
#define DUAL_VICOR_PSU0_DM                      "DUAL_VICOR_PSU0"
#define DUAL_VICOR_PSU1_DM                      "DUAL_VICOR_PSU1"

#define VME_CAN_PSU_STATUS_DM                   "VME_PSU_STATUS"
#define NAV_IF_PSU_STATUS_DM                    "NAV_IF_PSU_STATUS"

#define VME_VIDEO_SWITCH_DM                     "VIDEO_SWITCH_CTRL"

#define VME_KVH_STRING_CMD_DM                   "COMPASS_STRING_CMD"
#define VME_KVH_CALIBRATE_DM                    "COMPASS_CALIBRATE"
#define VME_KVH_CAL_POSITION_DM                 "COMPASS_CAL_POSITION"
#define VME_KVH_CAL_SCORE_DM                    "COMPASS_CAL_SCORE"
#define VME_KVH_CAL_COUNT_DM                    "COMPASS_CAL_COUNT"

#define COMPASS_MAG_VARIATION_DM                "COMPASS.MAGNETIC_VARIATION"

#define RESPONDER_CURRENT_DM                    "RESPONDER.CURRENT"
#define RESPONDER_CURRENT_ALARM_DM              "RESPONDER.CURRENT_ALARM"
#define RESPONDER_CURRENT_WARN_THRESH_DM        "RESPONDER.CURRENT_WARN_THRESH"
#define RESPONDER_CURRENT_ALARM_THRESH_DM       "RESPONDER.CURRENT_ALARM_THRESH"

#define GYRO_CURRENT_DM                         "GYRO.CURRENT"
#define GYRO_CURRENT_ALARM_DM                   "GYRO.CURRENT_ALARM"
#define GYRO_CURRENT_WARN_THRESH_DM             "GYRO.CURRENT_WARN_THRESH"
#define GYRO_CURRENT_ALARM_THRESH_DM            "GYRO.CURRENT_ALARM_THRESH"

#define HYDROPHONE_TEMP_DM                      "HYDROPHONE.TEMP"
#define HYDROPHONE_TEMP_ALARM_DM                "HYDROPHONE.TEMP_ALARM"
#define HYDROPHONE_TEMP_WARN_THRESH_DM          "HYDROPHONE.TEMP_WARN_THRESH"
#define HYDROPHONE_TEMP_ALARM_THRESH_DM         "HYDROPHONE.TEMP_ALARM_THRESH"

#define IMAG_SONAR_TEMP_DM                      "IMAG_SONAR.TEMP"
#define IMAG_SONAR_TEMP_ALARM_DM                "IMAG_SONAR.TEMP_ALARM"
#define IMAG_SONAR_TEMP_WARN_THRESH_DM          "IMAG_SONAR.TEMP_WARN_THRESH"
#define IMAG_SONAR_TEMP_ALARM_THRESH_DM         "IMAG_SONAR.TEMP_ALARM_THRESH"

#define COMPASS_DATA_VALID_DM                   "COMPASS.DATA_VALID"
#define COMPASS_RADIANS_DM                      "COMPASS.RADIANS"
#define COMPASS_DEGREES_DM                      "COMPASS.DEGREES"

#define GYRO_DATA_VALID_DM                      "GYRO.DATA_VALID"
#define GYRO_RADIANS_DM                         "GYRO.RADIANS"
#define GYRO_DEGREES_DM                         "GYRO.DEGREES"
#define GYRO_RATE_RADIANS_DM                    "GYRO_RATE.RADIANS"
#define GYRO_RATE_DEGREES_DM                    "GYRO_RATE.DEGREES"

#define PITCH_RADIANS_DM                        "PITCH.RADIANS"
#define PITCH_DEGREES_DM                        "PITCH.DEGREES"
#define ROLL_RADIANS_DM                         "ROLL.RADIANS"
#define ROLL_DEGREES_DM                         "ROLL.DEGREES"

#define VME_5V_PSU_A1_BIT       0x01
#define VME_5V_PSU_A2_BIT       0x02
#define VME_5V_PSU_B1_BIT       0x04
#define VME_5V_PSU_B2_BIT       0x08
#define VME_12V_POS_PSU_BIT     0x10
#define VME_12V_NEG_PSU_BIT     0x20
#define VME_16V_POS_PSU_BIT     0x40
#define VME_16V_NEG_PSU_BIT     0x80

#ifdef __STDC__

STATUS VME_IBC_Task( Nat16 vmeIbcSerialChan );

#endif

#endif /* _vmeIbc_H */
