/****************************************************************************/
/* Copyright 2010 MBARI.                                                    */
/* MBARI Proprietary Information. All rights reserved.                      */
/****************************************************************************/
#ifndef TASKS_H
#define TASKS_H

#define TMR_TASK        0x0001
#define STOP_TASK       0x0002
#define START_TASK      0x0004
#define TRIGGER_TASK    0x0008
#define TIME_LAPSE_TASK 0x0010
#define ALL_TASK        0xFFFF

void taskInit();
void taskShowStates();
void taskExecute(unsigned int tasks);

/* set wait delay in seconds */
unsigned long taskGetStartDelay();
void taskSetStartDelay(unsigned long delay);

unsigned long taskGetStopDelay();
void taskSetStopDelay(unsigned long delay);

unsigned long taskGetTimeLapseOn();
void taskSetTimeLapseOn(unsigned long delay);

unsigned long taskGetTimeLapseOff();
void taskSetTimeLapseOff(unsigned long delay);

/* set and get current operating modes */
int taskSetTrigMode(int mode);
int taskGetTrigMode();

int taskSetTimLapseMode(int mode);
int taskGetTimLapseMode();

void taskSetTriggerWindow(unsigned long window);
unsigned long taskGetTriggerWindow();    

#endif
