

////////////////////////////////////////////////
////////////////////////////////////////////////
//used by quick view class

typedef enum {REC, IDLE}											SYS_STATE;

//These correpond to the predetermined ID's per WAyne

enum {SBPSS, LFSS, HFSS,SYS7K,BLUEFIN };

typedef enum {WFHIGH = 0, WFLOW, WFSBP, DSPATT, DSPDEPTH, DSPCOMPASS, DSPNAV, DSPASCII, DSPBATHY, DSPIMAGERY, UNSET }	DISPLAY_TYPE;
typedef enum {COLLECT = 0, PLAYBACK}										MODE_STATE;
typedef enum {NONE = 0, TCP, SETUP, SENSOR_SETUP, EDGE_HFSS, EDGE_LFSS, EDGE_SBP, SEABAT_7K } TAB_TYPE;	

#pragma pack(1)

//Use for internal status display
typedef struct {

	BOOL		bLogging;
	float		fileSize;
	char		fileName[MAX_PATH];
	ULONG		maxFileSize;
	ULONG		maxOverlap;	

} QV_GENERAL;
	
//Store Each Module in QV manager vector
typedef struct {
		
	float	moduleID;
	float	moduleVersion;
	CString moduleName;
	
}MODULE;

//Store each sensor in QV manager vector
typedef struct {

	UINT    index;
	UINT	ID;	//edgetech
	UINT	sensorType;
	UINT    subID;
	ULONG	mediaType;
	ULONG   mediaPort;
	int  	health;			//0 = unhealthy, 1 = normal
	CString name;
	UINT	hardCodedID;

}SENSOR;

typedef struct {

	UINT    logging;
	ULONG   fileSize;
	CString fileName;

}REPORT;
/*
//Internal buffer format of records
typedef struct {
	long lBytes;
	BYTE *data;
}RECORD;
*/
//Settings update to waterfall
typedef struct {

	UINT	range;
	UINT	gain;
	UINT	power;
	UINT	pingOn;
	float	duration;

} SETTINGS;

typedef struct tagWEDGEINFO
{
  DWORD   beams;
  DWORD   height_pixels;
  double  swath;
  double  wedge_angle;
  DWORD   wedge_type; // 0 FLS, 1 BATHY
  double  range;
  double  first_beam;
  double  last_beam;
  float   beam_positions[1024];
} WEDGEINFO;

#pragma pack()