/****************************************************************************/
/* Copyright 1992 to 1996, MBARI                                            */
/****************************************************************************/
/* Summary  : IBC GF/5V Board Interface Function Prototypes for VxWorks     */
/* Filename : gf_5v.h                                                       */
/* Author   : Andrew Pearce                                                 */
/* Project  : Tiburon                                                       */
/* Version  : Version 1.0                                                   */
/* Created  : 04/08/93                                                      */
/* Modified : 02/09/96                                                      */
/* Archived :                                                               */
/****************************************************************************/
/* Modification History:                                                    */
/* $Header: gf_5v.h,v 1.1 93/07/01 14:38:11 pean Exp $
 * $Log:        gf_5v.h,v $
 * Revision 1.1  93/07/01  14:38:11  14:38:11  pean (Andrew Pearce)
 * Initial revision
 *
 *
 */
/****************************************************************************/

#define GF_CHARGE_TIME_SCALAR 10

#define LOW_VOLTAGE_GF_CHARGE_TIME   1000 /* Low voltage charge time 1 sec   */
#define HIGH_VOLTAGE_GF_CHARGE_TIME  5400 /* High voltage charge time 5.4 sec*/

#ifdef INCLUDE_PROTOTYPES

#ifdef __STDC__

STATUS IBC_gf5vGetTemperature( sio32Chan *IBC_SerialChan, Word boardAddr,
         Int16 *vicorTemp );

STATUS IBC_gf5vSetTempThresh( sio32Chan *IBC_SerialChan, Word boardAddr,
         Int16 tempWarn, Int16 tempAlarm );

STATUS IBC_gf5vGetTempThresh( sio32Chan *IBC_SerialChan, Word boardAddr,
         Int16 *tempWarn,  Int16 *tempAlarm );

STATUS IBC_gf5vSetChargeTimes( sio32Chan *IBC_SerialChan, Word boardAddr,
                Int32 chargeTimes[] );

STATUS IBC_gf5vGetChargeTimes( sio32Chan *IBC_SerialChan, Word boardAddr,
                Int32 chargeTimes[GF_MAX_CHANS] );

STATUS IBC_gf5vSetVoltageThresh( sio32Chan *IBC_SerialChan, Word boardAddr,
                Int16 voltageWarn, Int16 voltageAlarm );

STATUS IBC_gf5vGetVoltageThresh( sio32Chan *IBC_SerialChan, Word boardAddr,
                Int16 *voltageWarn, Int16 *voltageAlarm );

STATUS IBC_gf5vEnableGf( sio32Chan *IBC_SerialChan, Word boardAddr,
        MBool enable );

STATUS IBC_gf5vRestartScan( sio32Chan *IBC_SerialChan, Word boardAddr );

STATUS IBC_gf5vRunSelftest( sio32Chan *IBC_SerialChan, Word boardAddr );

STATUS IBC_gf5vGetFaultCurrents( sio32Chan *IBC_SerialChan, Word boardAddr,
        Int16 faultCurrents[], Int16 *offsetCurrent,
        Int16 *vicorVoltage);

STATUS IBC_NewGf5vGetFaultCurrents( sio32Chan *IBC_SerialChan, Word boardAddr,
        Int16 faultCurrents[], Word *chanUpdate, Int16 *offsetCurrent,
        Int16 *vicorVoltage);

STATUS IBC_gf5vGetAlarmStatus( sio32Chan *IBC_SerialChan, Word boardAddr,
        gfStatus gfAlarms[], ibcAlarm *tempAlarm, ibcAlarm *voltageAlarm,
        gf5v_gfTestStatus *selftestStatus );

STATUS IBC_gf5vSetBusCapacitance( sio32Chan *IBC_SerialChan, Word boardAddr,
    Nat16 busCapacitance );

#endif /* __STDC__ */

#endif /* INCLUDE_PROTOTYPES */




