// OasDlg.cpp : implementation file
//

#include "stdafx.h"
#include "dashboard.h"
#include "OasDlg.h"
#include "DashboardRecipient.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

#define OAS_TIMER 1
#define OAS_TIMER_ELAPSE 2000

/////////////////////////////////////////////////////////////////////////////
// COasDlg dialog


COasDlg::COasDlg(CWnd* pParent /*=NULL*/)
	: CTestDlg(COasDlg::IDD, pParent, IDC_OAS_STATUS)
{
	//{{AFX_DATA_INIT(COasDlg)
	m_maxRange = 0.0f;
	m_meanRange = 0.0f;
	m_rawRange = 0.0f;
	//}}AFX_DATA_INIT
}


void COasDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(COasDlg)
	DDX_OCFloat(pDX, IDC_MAXRANGE, DISPID(7), m_maxRange);
	DDX_OCFloat(pDX, IDC_MEANRANGE, DISPID(7), m_meanRange);
	DDX_OCFloat(pDX, IDC_RAWRANGE, DISPID(7), m_rawRange);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(COasDlg, CTestDlg)
	//{{AFX_MSG_MAP(COasDlg)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// COasDlg message handlers

void COasDlg::initSubClassDlg()
{
	SetTimer(OAS_TIMER, OAS_TIMER_ELAPSE,0);
}

void COasDlg::requestUpdate()
{
	Assert(m_recipient);
	m_recipient->requestData(MMAgentRequest::Start,
		ModemMessage::tMMOas, 2);
}

void COasDlg::stopRequests()
{
	Assert(m_recipient);
	m_recipient->requestData(MMAgentRequest::Stop,
		ModemMessage::tMMOas, -1);

	resetDialog();
}

void COasDlg::resetDialog()
{
	UpdateData(TRUE);
	m_maxRange = 0.0f;
	m_meanRange = 0.0f;
	m_rawRange = 0.0f;
	UpdateData(FALSE);
}

void COasDlg::setOas(double rawRange, double meanRange, double maxRange)
{
	receiveData();
	UpdateData(TRUE);
	m_rawRange = rawRange;
	m_meanRange = meanRange;
	m_maxRange = maxRange;
	UpdateData(FALSE);
}
