//{{AFX_INCLUDES()
#include "indicator2.h"
//}}AFX_INCLUDES
#if !defined(AFX_LN250DLG_H__F5112974_18EA_4873_8CB4_0C4E49A76F80__INCLUDED_)
#define AFX_LN250DLG_H__F5112974_18EA_4873_8CB4_0C4E49A76F80__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// LN250Dlg.h : header file
//

#include "DataRecipient.h"
#include "DeviceDlg.h"
#include "StatusStatic.h"
#include "TestDlg.h"

class CDashboardRecipient;

/////////////////////////////////////////////////////////////////////////////
// CLN250Dlg dialog

class CLN250Dlg : public CTestDlg
{
// Construction
public:
	CLN250Dlg(CWnd* pParent = NULL);   // standard constructor

// Dialog Data
	//{{AFX_DATA(CLN250Dlg)
	enum { IDD = IDD_LN250_DLG };
	CTabCtrl	m_Ln250TabControl;
	double	m_systime;
	CString	m_mode;
	CString	m_type;
	double	m_Roll;
	double	m_Pitch;
	double	m_Yaw;
	double	m_Evel;
	double	m_Alt;
	double	m_Lat;
	double	m_Lon;
	double	m_Nvel;
	double	m_Vvel;
	double	m_biasX;
	double	m_biasY;
	double	m_Pitch2;
	double	m_PitchRate;
	double	m_Roll2;
	double	m_RollRate;
	double	m_Yaw2;
	double	m_YawRate;
	//}}AFX_DATA

	double	m_hyRoll;
	double	m_hyPitch;
	double	m_hyYaw;
	double	m_hyEvel;
	double	m_hyAlt;
	double	m_hyLat;
	double	m_hyLon;
	double	m_hyNvel;
	double	m_hyVvel;
	double	m_hyRollRate;
	double	m_hyPitchRate;
	double	m_hyYawRate;

	double	m_insRoll;
	double	m_insAlt;
	double	m_insPitch;
	double	m_insYaw;
	double	m_insEvel;
	double	m_insLat;
	double	m_insLon;
	double	m_insNvel;
	double	m_insVvel;
	double	m_insRollRate;
	double	m_insYawRate;
	double	m_insPitchRate;

	int m_tabVal;

	void requestUpdate();
	void stopRequests();
	void resetDialog();
	
	void setLn250(int ln250type, float sysTime, char valid, float lat, float lon, float alt, float nvel,
				  float evel, float vvel, float biasX, float biasY, float pitch, float roll, float yaw,
				  float pRate, float rRate, float yRate, short mode, short type);


// Overrides
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CLN250Dlg)
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
	//}}AFX_VIRTUAL

// Implementation
protected:

	void initSubClassDlg();

	// Generated message map functions
	//{{AFX_MSG(CLN250Dlg)
	afx_msg void OnFreeInertial();
	afx_msg void OnLn250MotAlign();
	afx_msg void OnLn250StatAlign();
	afx_msg void OnTabSelchange(NMHDR* pNMHDR, LRESULT* pResult);
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_LN250DLG_H__F5112974_18EA_4873_8CB4_0C4E49A76F80__INCLUDED_)
