/****************************************************************************/
/* Copyright 1992, 1993 MBARI                                               */
/****************************************************************************/
/* Summary  : IBC Navigation Interface Board Definitions                    */
/* Filename : nav_if.h                                                      */
/* Author   : Andrew Pearce                                                 */
/* Project  : New ROV Data Concentrator                                     */
/* Version  : 1.0                                                           */
/* Created  : 09/17/92                                                      */
/* Modified : 03/08/93                                                      */
/* Archived :                                                               */
/****************************************************************************/
/* Modification History:                                                    */
/* $Header: /usr/tiburon/.cvsroot/micro/h/nav_if.h,v 1.1.1.1 1997/05/02 17:15:39 pean Exp $
 * $Log: nav_if.h,v $
 * Revision 1.1.1.1  1997/05/02 17:15:39  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.2  93/07/02  09:37:10  09:37:10  pean (Andrew Pearce)
 * Minor bug fixes and enhancements for Prototype Vehicle Tests
 *
 * Revision 1.1  93/03/05  15:57:37  15:57:37  pean (Andrew Pearce)
 * Initial revision
 *
*/
/****************************************************************************/

                            /* Navigation Interface Board Register Offsets  */
#define NAV_SYNCRO_REG 0    /* Syncro Convertor Register (16 Bit)           */
#define NAV_STATUS_REG 2    /* Board Status Register (8 Bit)                */

                            /* Board Status Register Bit Fields             */

#define NAV_5V_POS_PSU_OK   0x01    /* +5 Volt PSU Rail (0=Fail, 1=OK)      */
#define NAV_5V_NEG_PSU_OK   0x02    /* -5 Volt PSU Rail (0=Fail, 1=OK)      */
#define NAV_15V_POS_PSU_OK  0x04    /* +15 Volt PSU Rail (0=Fail, 1=OK)     */
#define NAV_15V_NEG_PSU_OK  0x08    /* -15 Volt PSU Rail (0=Fail, 1=OK)     */
#define NAV_COMPASS_PSU_OK  0x10    /* Compass PSU Status (0=Fail, 1=OK)    */
#define NAV_SYNCRO_OK       0x20    /* Syncro Convertor Status              */

typedef struct                      /* Nav Interface Board Data Struct      */
{
    IBC_BoardEntry IBC_Board;       /* IBC Board Entry structure            */
    Byte PSU_status;                /* Copy of Power Supply Status Byte     */
} NavBoardEntry;


#ifdef __STDC__

Int16 NavBoardSearch(IBC_BoardEntry *IBC_Boards[], Int16 maxCards );

                              /* Nav Interface Board Initialization Routine */
NavBoardEntry* NavBoardInit( Byte *boardBaseAddr );

Int16 NavBoardReadSyncro( NavBoardEntry *NavBoard );

Void NavBoardReadStatusCmd( IBC_BoardEntry* IBC_CardTable[],
                Int16 IBC_CardCount );

Void NavBoardReadSyncroCmd( IBC_BoardEntry* IBC_CardTable[],
                Int16 IBC_CardCount );

Void NavBoardFunctions( NavBoardEntry *NavBoard );

#endif

