/****************************************************************************/
/* Copyright 2010 MBARI.                                                    */
/* MBARI Proprietary Information. All rights reserved.                      */
/****************************************************************************/
#ifndef SYS_DEFS_H
#define SYS_DEFS_H

/* general defs */
#define TRUE    1
#define FALSE   0

#define HI      1
#define LO      0

#define ON      1
#define OFF     0

/* serial I/O defs */
#define SER_CONSOLE     1
#define SER_SPARE       2

/* digital I/O defs */
#define DVR_PWR     0
#define CAM_PWR     1
#define LIGHT_PWR   2
#define DVR_REC     3

#define TRIG_IN     0

/* Analog inputs defs */

/* System min/default/max values */
#define TRIG_MODE_DEF           TRUE
#define TIME_LAPSE_MODE_DEF     TRUE

/* hold off time till next trigger in seconds */
#define HOLDOFF_LEVEL_MIN   1L
#define HOLDOFF_LEVEL_DEF   2L
#define HOLDOFF_LEVEL_MAX   3600L

/* trigger debounce time in milliseconds */
#define DEBOUNCE_LEVEL_MIN   10L
#define DEBOUNCE_LEVEL_DEF   30L
#define DEBOUNCE_LEVEL_MAX   1000L

/* mission end time in seconds */
#define STOP_DELAY_MIN   0L
#define STOP_DELAY_DEF   54000L
#define STOP_DELAY_MAX   4000000L

/* mission start time seconds */
#define START_DELAY_MIN   0L
#define START_DELAY_DEF   1800L
#define START_DELAY_MAX   4000000L

/* duration camera is on after trigger in seconds */
#define TRIG_WINDOW_MIN   1L
#define TRIG_WINDOW_DEF   300L
#define TRIG_WINDOW_MAX   4000000L

/* duration camera is on in time lapse mode in seconds */
#define TIME_LAPSE_ON_MIN   1L
#define TIME_LAPSE_ON_DEF   120L
#define TIME_LAPSE_ON_MAX   200L

/* duration camera is off in time lapse mode in seconds */
#define TIME_LAPSE_OFF_MIN   1L
#define TIME_LAPSE_OFF_DEF   480L
#define TIME_LAPSE_OFF_MAX   4000000L

#endif
