// Global Definitions and Typedefs go here, but not variable declarations:

#define F_CPU	20000000UL					// This is defined now three times:  here, in delay.h, and in the Makefile.
#define	SECOND	((F_CPU/256)/256)			// Softclock ticks in a second.  Dependent on the system clock frequency divided by the TIMER1 prescaler.

// Make a C version of "bool"
//----------------------------
typedef unsigned char bool;
#define		false			(0)
#define		true			(!(false))

typedef void				// Creates a datatype, here a void function called STATE_FUNC().
	STATE_FUNC(void);

enum	// A list of the sub states.  Propers to Todd Squires for this state machine stuff.
	{
		SS_0=0,
		SS_1,
		SS_2,
		SS_3,
		SS_4,
		SS_5,
		SS_6,
		SS_7,
		SS_8,
	};		

#define		MACRO_DoTenNops	asm volatile("nop"::); asm volatile("nop"::); asm volatile("nop"::); asm volatile("nop"::); asm volatile("nop"::); asm volatile("nop"::); asm volatile("nop"::); asm volatile("nop"::); asm volatile("nop"::); asm volatile("nop"::);


// Timers:
//-----------------------------------------------------------------------
// Software timer variables:
enum								// Add more timers here if you need them, but don't get greedy.
{
	TIMER_1=0,
	TIMER_DEBOUNCE,
	TIMER_BLINK,
	NUM_TIMERS,
};

//-----------------------------------------------------------------------
//-----------------------------------------------------------------------
//Application Defines:
//-----------------------------------------------------------------------
//-----------------------------------------------------------------------
#define		BAUD						(38400UL)			// It's 2008, after all.

// Canonical list of banks:

enum			// Here we enumerate however many banks we're actually implementing.
{
	BANK_0=0,
	BANK_1,
	NUM_BANKS,
};


//-----------------------------------------------------------------------
// Pins:

