/****************************************************************************/
/* Copyright 1992 to 1993, MBARI                                            */
/****************************************************************************/
/* Summary  : Power Can IBC A IBC Board Configuration VxWorks               */
/* Filename : pwr_ibc_a.h                                                   */
/* Author   : Andrew Pearce                                                 */
/* Project  : New ROV                                                       */
/* Version  : Version 1.0                                                   */
/* Created  : 06/13/93                                                      */
/* Modified : 05/19/95                                                      */
/* Archived :                                                               */
/****************************************************************************/
/* Modification History:                                                    */
/* $Header: pwr_ibc_a.h,v 1.3 96/08/05 09:41:05 pean Exp $
 * $Log:        pwr_ibc_a.h,v $
 * Revision 1.3  96/08/05  09:41:05  09:41:05  pean (Andrew Pearce)
 * Installed in vehicle. Prior to microTask mods
 *
 * Revision 1.2  93/07/01  14:35:47  14:35:47  pean (Andrew Pearce)
 * Version after bench testing with power can
 *
 * Revision 1.1  93/06/14  13:22:36  13:22:36  pean (Andrew Pearce)
 * Initial revision
 *
 *
 */
/****************************************************************************/

                                    /* Power IBC A IBC Device Name          */
MLocal char* const pwrDataConName = "Power IBC A";
                                    /* Power IBC A Data Manager Item Prefix */
MLocal char* const pwrDmPrefix    = PWR_IBC_A_DM_PREFIX;
MLocal char* const pwrIbc         = "PWR_IBC_A";

#define GF5V_BOARD_ADDR             (Word) GROUND_FAULT_0_ADDR
#define REGEN_BOARD_ADDR            (Word) REGEN_CONTROL_0_ADDR

#define LPS_BOARDS  2               /* Number of LPS BOards in Power IBC    */
#define HPS_BOARDS  6               /* Number of HPS Board In Power IBC     */

MLocal Word lpsBoardAddr[LPS_BOARDS] =  /* LPS Board Assignments            */
{
     LOW_PWR_SWITCH_48V_0_ADDR,
     LOW_PWR_SWITCH_48V_1_ADDR
};

MLocal Word hpsBoardAddr[HPS_BOARDS] =  /* HPS Board Assignments            */
{
     HIGH_PWR_SWITCH_0_ADDR,
     HIGH_PWR_SWITCH_1_ADDR,
     HIGH_PWR_SWITCH_2_ADDR,
     HIGH_PWR_SWITCH_3_ADDR,
     HIGH_PWR_SWITCH_4_ADDR,
     HIGH_PWR_SWITCH_5_ADDR
};

MLocal ibcCardConfig ibcCardSet =
{
    LPS_BOARDS + HPS_BOARDS + 3,
    {
         CPU196,
         GF5V_BOARD_ADDR,
         REGEN_BOARD_ADDR,

         LOW_PWR_SWITCH_48V_0_ADDR,
         LOW_PWR_SWITCH_48V_1_ADDR,

         HIGH_PWR_SWITCH_0_ADDR,
         HIGH_PWR_SWITCH_1_ADDR,
         HIGH_PWR_SWITCH_2_ADDR,
         HIGH_PWR_SWITCH_3_ADDR,
         HIGH_PWR_SWITCH_4_ADDR,
         HIGH_PWR_SWITCH_5_ADDR
     }
};

                                    /* LPS 0 48V Board Channel Assignments  */
#define ERS_DCON_SWITCH_CHAN      0 /* Emergency Recovery Data Con Power    */
#define CAMERA_DCON_SWITCH_CHAN   1 /* Camera Data Concentrator Power       */
#define TOOLSLED_48V_SWITCH_CHAN  2 /* Toolsled 48V Power Bus               */
#define SPARE_48V_SWITCH_CHAN     3 /* Spare 48V Switch Channel             */

                                    /* LPS 1 48V Board Channel Assignments  */
#define PORT_PAN_TILT_SWITCH_CHAN 0 /* Port Pan/Tilt 48V Power on chan 0 & 1*/

#define STBD_HORIZ_THRUST_HPS     0 /* Starbord Horizontal Thruster Switch  */
#define PORT_HORIZ_THRUST_HPS     1 /* Port Horizontal Thruster Switch      */
#define PORT_VERT_THRUST_HPS      2 /* Port Vertical Thruster Switch        */
#define BACKUP_LIGHT_HPS          3 /* Backup Light Switch                  */
#define TOOLSLED_240V_HPS         4 /* Toolsled 240V Bus Switch             */
#define VB_MOTOR_HPS              5 /* Variable Buoyancy Motor Switch       */

#define PWR_IBC_Task     PWR_IBC_A_Task
#define PWR_IBC_InTask   PWR_IBC_A_InTask
#define PWR_IBC_OutTask  PWR_IBC_A_OutTask




