/*********************************  dwarftop.h  ******************************
 * $Source: /home/cvs/ESP/gen2/software/msp430/include/dwarftop.h,v $
 *  Copyright (C) 2004 MBARI
 *
 *  MBARI Proprietary Information. All rights reserved.
 * $Id: dwarftop.h,v 1.13 2005/11/24 00:23:58 brent Exp $
 *
 * Generic framework for ESP Dwarf applications
 *  Intended to be #included at the top of each drawf application
 *
 *****************************************************************************/

#ifndef DWARFTOP_H
#define DWARFTOP_H

#include "setjmp.h"       //standard 'C' setjmp & longjmp
#include "interrupts.h"   //support for nested interrupts
#include "dco.h"          //Digitally Controller Clock Oscillator
#include "parser.h"       //byte fifo & command parsing primitives
#include "dwarfser.h"     //dwarf serial port control

#include "timers.h"       //interval timers

#ifndef RoscSrc  //default to external Rosc
#define RoscSrc DWRFRosc  //DWRFRosc for Rosc on 2.5 (0x20), 0 for internal Rosc
#endif


//forward declaration
static void kickstartXmit (void);
static void pollIn (void);
static void startResync (byte USARTerrMask);


// DATA

static unsigned mclk0;  //previously read MCLK count for DCO adjustment
  
static jmp_buf restartEnv;  //for possible longjmp on error

enum appState appState;


#endif
