/****************************************************************************/
/* Copyright 1996 MBARI                                                     */
/****************************************************************************/
/* Summary  : Belly Pack Microcontroller Board Application definitions      */
/* Filename : bellypk.h                                                     */
/* Author   : Douglas Au                                                    */
/* Project  : Tiburon ROV                                                   */
/* Version  : Version 1.0                                                   */
/* Created  : 04/16/96                                                      */
/* Modified : 04/16/96                                                      */
/* Archived :                                                               */
/****************************************************************************/
/* Modification History:                                                    */
/* $Header: /usr/tiburon/.cvsroot/micro/h/bellypk.h,v 1.1.1.1 1997/05/02 17:15:37 pean Exp $
 * $Log: bellypk.h,v $
 * Revision 1.1.1.1  1997/05/02 17:15:37  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  96/04/16  14:36:58  14:36:58  audo (Douglas Au)
 * Initial revision
 *
*/
/****************************************************************************/
                                            /* *** Micro A/D Channels ***   */
#define YAW_JOYSTICK_CHAN           0   /* Yaw Axis Joystick Channel        */
#define Z_JOYSTICK_CHAN             1   /* Vertical Joystick Channel        */
#define X_JOYSTICK_ZERO_CHAN        2   /* X Axis Joystick Zero Reference   */
#define Z_JOYSTICK_ZERO_CHAN        3   /* Vertical Joystick Zero Reference */
#define BELLYPK_WATER_ALARM_CHAN    4   /* Belly Pack Water Alarm sensor    */
#define Y_JOYSTICK_CHAN             5   /* Y Axis Joystick Channel          */
#define X_JOYSTICK_CHAN             7   /* X Axis Joystick Channel          */
#define Y_JOYSTICK_ZERO_CHAN        6   /* Y Axis Joystick Zero Reference   */

#define ENABLED_BIT               0x00

#define ENABLED_LAMP_BIT          0x20  /* Enabled Lamp Bit HSO0.5          */

#define AUTO_HEADING_LAMP_BIT     0x40  /* Auto Heading Lamp Bit P2.6       */
#define AUTO_DEPTH_LAMP_BIT       0x80  /* Auto Depth Lamp Bit P2.7         */

#define AUTO_HEADING_BIT          0x02  /* Auto Heading Mode Bit HSI.0      */
#define FAN_STALLED_BIT           0x08  /* Fan Stalled Bit       HSI.1      */
#define AUTO_DEPTH_BIT            0x20  /* Auto Depth Bit        HSI.2      */


#define XAXIS                       0
#define YAXIS                       1
#define ZAXIS                       2
#define YAWAXIS                     3

#define NUMBER_OF_AXIS              4

#define ENABLED_LAMP                0
#define AUTO_DEPTH_LAMP             1
#define AUTO_HEADING_LAMP           2

#define NUMBER_OF_LAMPS             3

#define HSI_PORT_DEBOUNCE       30000   /* HSI Port debounce 100ms */

#define DISPLAY_0                 0x00
#define DISPLAY_1                 0x01
#define DISPLAY_2                 0x02
#define DISPLAY_3                 0x03
#define DISPLAY_4                 0x04
#define DISPLAY_5                 0x05
#define DISPLAY_6                 0x06
#define WRITE_BIT                 0x08
#define TEST_PATTERN              0x7F
#define SPACE                     0x20

#define WRITE_DISPLAYS            0x00  /* Write Message to Displays        */
#define GET_JOYSTICKS             0x01  /* Get Joystick Values              */
#define WRITE_HEADING             0x05  /* Write to Heading                 */
#define WRITE_DEPTH               0x06  /* Write to Depth                   */
#define SET_AUTO_HEADING_MODE     0x07  /* Set Auto Heading Mode            */
#define SET_AUTO_DEPTH_MODE       0x08  /* Set Auto Depth Mode              */
#define GET_WATER_ALARM           0x09  /* Get water alarm status word      */
#define GET_FAN_STALL_ALARM       0x0A  /* Get Fan Stall alarmstatus word   */
#define GET_AUTO_DEPTH_MODE       0x0B  /* Get Auto Depth status word       */
#define GET_AUTO_HEADING_MODE     0x0C  /* Get Auto Heading status word     */
#define AUTO_DEPTH_LAMP_CONTROL   0x0D  /* Set Auto Depth Lamp State        */
#define AUTO_HEADING_LAMP_CONTROL 0x0E  /* Set Auto Heading Lamp State      */
#define ENABLED_LAMP_CONTROL      0x0F  /* Set Enabled Lamp State           */

                                    /* Belly Pack Applic Service Requests   */
#define ENABLE_ALARM_SRQ                 APPLIC_SRQ_BASE | 0x01
#define FAN_STALL_ALARM_ON_SRQ           APPLIC_SRQ_BASE | 0x02
#define FAN_STALL_ALARM_OFF_SRQ          APPLIC_SRQ_BASE | 0x03
#define AUTO_DEPTH_ON_SRQ                APPLIC_SRQ_BASE | 0x04
#define AUTO_DEPTH_OFF_SRQ               APPLIC_SRQ_BASE | 0x05
#define AUTO_HEADING_ON_SRQ              APPLIC_SRQ_BASE | 0x06
#define AUTO_HEADING_OFF_SRQ             APPLIC_SRQ_BASE | 0x07
#define BELLYPACK_DISABLED_SRQ           APPLIC_SRQ_BASE | 0x08








