#ifndef _powerTypes_H
#define _powerTypes_H
/******************************************************************************/
/* Copyright 1992 MBARI                                                       */
/******************************************************************************/
/* Summary  : Power Manager Data Type Definitions for New ROV                 */
/* Filename : powerTypes.h                                                    */
/* Author   : Janice Tarrant                                                  */
/* Project  : New ROV                                                         */
/* Version  : Version 1.0                                                     */
/* Created  : 09/14/92                                                        */
/* Modified : 10/13/92                                                        */
/* Archived :                                                                 */
/******************************************************************************/
/* Modification History :                                                     */
/* $Header: /usr/tiburon/.cvsroot/vw/h/powerTypes.h,v 1.1.1.1 1997/05/16 22:33:05 pean Exp $
 * $Log: powerTypes.h,v $
 * Revision 1.1.1.1  1997/05/16 22:33:05  pean
 * Initial check in after software freeze.
 *
 *
 */
/******************************************************************************/

typedef enum                            /* electrical system busses          */
{
    A240,                               /* Main 240 VDC A Bus                */
    B240,                               /* Main 240 VDC B Bus                */
    A48,                                /* 48 VDC A Bus                      */
    B48,                                /* 48 VDC B Bus                      */
    NO_BUS
} systemBus;

typedef enum                            /* Switch request and status states  */
{
    SWITCH_NO_POWER,
    SWITCH_OFF,
    SWITCH_ON,
    SWITCH_POWER_ERROR,
    SWITCH_ON_CASCADE
} switchStatus;

                                        /* power load division               */
typedef enum
{
    HOTEL,
    LIGHTS,
    TOOLS,
    NO_DIVISION
} loadDivision;

typedef struct                          /* switch power request format       */
{
    Nat16        power;
    systemBus    bus;
    loadDivision division;
} powerRequest;

typedef enum
{
    CAMERA_CONTROL_BUS,
    VME_CAN_BUS,
    LIGHTING_BUS,
    SONAR_BUS,
    SENSOR_BUS,
    LIGHTING_IBC
} busId;

typedef enum
{
    THRUSTER_PORT_HORIZ,
    THRUSTER_STBD_HORIZ,
    THRUSTER_FWD_LATERAL,
    THRUSTER_AFT_LATERAL,
    THRUSTER_PORT_VERT,
    THRUSTER_STBD_VERT,
    BACKUP_LIGHT,
    TOOLSLED,
    VARIABLE_BUOYANCY,
    EMERGENCY_RECOVERY,
    MANIPULATOR,
    SPARE
} subsystemId;

typedef enum
{
    SIT_CAMERA,
    BIOLUM_CAMERA,
    COLOR_CAMERA,
    BW_CAMERA1,
    BW_CAMERA2,
    PORT_CAMERA,
    STBD_CAMERA,
    GYRO,
    TRANSPONDER,
    LIGHTS1,
    LIGHTS2,
    LIGHTS3,
    PAN_TILT,
    SIZING_LASER,
    ALTIMETER,
    ROV_NAV,
    VELOCITY_DOPPLER,
    CONDUCTIVITY_SENSOR,
    TEMPERATURE_SENSOR,
    PRESSURE_SENSOR,
    OXYGEN_SENSOR,
    TRANSMISSOMETER,
    SAMPLE_PUMP,
    INJECTION_PUMP
} deviceId;

typedef enum
{
    VME_IBC,
    POWER_CAN
} ibcId;

#endif /* _powerTypes_H */





