/****************************************************************************/
/* Copyright 1991 to 1993, MBARI                                            */
/****************************************************************************/
/* Summary  : IBC Function Library definitions                              */
/* Filename : ibc.h                                                         */
/* Author   : Andrew Pearce                                                 */
/* Project  : New ROV IBC Data Concentrator                                 */
/* Version  : 1.0                                                           */
/* Created  : 10/01/91                                                      */
/* Modified : 09/11/92                                                      */
/* Archived :                                                               */
/****************************************************************************/
/* Modification History:                                                    */
/* $Header: /usr/tiburon/.cvsroot/micro/h/ibc.h,v 1.1.1.1 1997/05/02 17:15:38 pean Exp $
 * $Log: ibc.h,v $
 * Revision 1.1.1.1  1997/05/02 17:15:38  pean
 * Initial release of the microcontroller software after Tiburon
 * Moolpool Dive to test IView, Lapboxes, modified Power can
 * GF/5V using bus capacitance mode.
 *
 * Revision 1.1  93/07/02  09:33:48  09:33:48  pean (Andrew Pearce)
 * Initial revision
 *
 *
*/
/****************************************************************************/

#ifdef __STDC__

Int16 IBC_initializeCards( IBC_BoardEntry *IBC_CardTable[], Int16 maxCards );

Int16 IBC_CardSearch( IBC_BoardEntry *IBC_Boards[], Int16 maxCards );

Void IBC_IdentifyIntrLevels( IBC_BoardEntry *IBC_Boards[], Int16 maxCards );

Void IBC_InitInterrupts( IBC_BoardEntry *IBC_CardTable[], Int16 numCards );

Int16 ibcBoardTableIndex(IBC_BoardEntry *IBC_CardTable[], Int16 IBC_CardCount,
         Byte *boardAddr, IBC_BoardType boardType );

Void IBC_CardFunctions( IBC_BoardEntry * IBC_Cards[], Int16 ibcCards );

Boolean IBC_ThresholdCheck( Int16 value, Int16 threshold, Int16 hysterisis,
     Boolean *alarmStatus );

Boolean IBC_AlarmThresholdCheck( Int16 value, Int16 warnThreshold,
     Int16 alarmThresh, Int16 hysterisis,  microAlarm *alarmStatus );

Boolean IBC_BelowThresholdCheck( Int16 value, Int16 warnThreshold,
     Int16 alarmThreshold, Int16 hysteresis, microAlarm *alarmStatus );

#endif
