⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 setpower.cpp

📁 深圳远望谷804读写器DEMO 深圳远望谷804读写器DEMO
💻 CPP
字号:
// SetPower.cpp : implementation file
//

#include "stdafx.h"
#include "VCsample.h"
#include "SetPower.h"
#include "XCRFAPI.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CSetPower dialog


CSetPower::CSetPower(CWnd* pParent /*=NULL*/)
	: CDialog(CSetPower::IDD, pParent)
{
	//{{AFX_DATA_INIT(CSetPower)
		// NOTE: the ClassWizard will add member initialization here
	//}}AFX_DATA_INIT
}


void CSetPower::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CSetPower)
	DDX_Control(pDX, IDC_CBOLEVEL4, m_cboLevelCtl4);
	DDX_Control(pDX, IDC_CBOLEVEL3, m_cboLevelCtl3);
	DDX_Control(pDX, IDC_CBOLEVEL2, m_cboLevelCtl2);
	DDX_Control(pDX, IDC_CBOLEVEL, m_cboLevelCtl1);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CSetPower, CDialog)
	//{{AFX_MSG_MAP(CSetPower)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CSetPower message handlers

void CSetPower::OnOK() 
{
	// TODO: Add extra validation here
	UpdateData ( TRUE );
	bSetPower1=false;
	bSetPower2=false;
	bSetPower3=false;
	bSetPower4=false;
	iSuccess=0;
	iNum=0;
	strPowerConfigMsg="";

	if((m_cboLevelCtl1.GetCurSel()!=m_ucPowerLevel1))
	{
		bSetPower1=true;
		iNum++;
	}
	if((m_cboLevelCtl2.GetCurSel()!=m_ucPowerLevel2))
	{
		bSetPower2=true;
		iNum++;
	}
	if((m_cboLevelCtl3.GetCurSel()!=m_ucPowerLevel3))
	{
		bSetPower3=true;
		iNum++;
	}
	if((m_cboLevelCtl4.GetCurSel()!=m_ucPowerLevel4))
	{
		bSetPower4=true;
		iNum++;
	}	

	if (bSetPower1||bSetPower2||bSetPower3||bSetPower4)
	{
		ConfigPower();
		if(strPowerConfigMsg=="")
			return;
	}

	if(strPowerConfigMsg=="")
		strPowerConfigMsg = "No change!";
	AfxMessageBox ( strPowerConfigMsg );
	m_ucPowerLevel1 = m_cboLevelCtl1.GetCurSel();
	m_ucPowerLevel2 = m_cboLevelCtl2.GetCurSel();
	m_ucPowerLevel3 = m_cboLevelCtl3.GetCurSel();
	m_ucPowerLevel4 = m_cboLevelCtl4.GetCurSel();

//	CDialog::OnOK();
}

BOOL CSetPower::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	// TODO: Add extra initialization here
	CString szTemp;

	for ( int j = 0; j < 0x15; j++ )
	{
		szTemp.Format ( "%1.1f", (20+0.5*j) );
		m_cboLevelCtl1.AddString ( szTemp );
		m_cboLevelCtl2.AddString ( szTemp );
		m_cboLevelCtl3.AddString ( szTemp );
		m_cboLevelCtl4.AddString ( szTemp );
	}
	unsigned char ucRecBuf[4];
	memset ( ucRecBuf, 0, 4 );

	int Result = XCPowerQuery ( m_hCom, 0X03, 4, ucRecBuf );
	if ( 1 == Result )
	{
		m_cboLevelCtl1.SetCurSel ( ucRecBuf [ 0 ] ); 
		m_cboLevelCtl2.SetCurSel ( ucRecBuf [ 1 ] ); 
		m_cboLevelCtl3.SetCurSel ( ucRecBuf [ 2 ] ); 
		m_cboLevelCtl4.SetCurSel ( ucRecBuf [ 3 ] ); 
		m_ucPowerLevel1=ucRecBuf [ 0 ];
		m_ucPowerLevel2=ucRecBuf [ 1 ];
		m_ucPowerLevel3=ucRecBuf [ 2 ];
		m_ucPowerLevel4=ucRecBuf [ 3 ];
	}
	else
	{
		m_cboLevelCtl1.SetCurSel ( 0 ); 
		m_cboLevelCtl2.SetCurSel ( 0 ); 
		m_cboLevelCtl3.SetCurSel ( 0 ); 
		m_cboLevelCtl4.SetCurSel ( 0 );
		m_ucPowerLevel1=0;
		m_ucPowerLevel2=0;
		m_ucPowerLevel3=0;
		m_ucPowerLevel4=0;
		XCPowerOff ( m_hCom ); 
	}

	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CSetPower::SetPower(unsigned char m_Ant, unsigned char m_PowerNum)
{
	int Result;

	Result=XCPowerSet ( m_hCom, 0x03, 2, m_Ant, m_PowerNum );
	if(1==Result)
		iSuccess++;
}

void CSetPower::ConfigPower()
{
	UpdateData ( TRUE );
	memset ( m_ucPowerLevel, 0, 5 );
	m_ucPowerLevel[1] = m_cboLevelCtl1.GetCurSel ( );
	m_ucPowerLevel[2] = m_cboLevelCtl2.GetCurSel ( );
	m_ucPowerLevel[3] = m_cboLevelCtl3.GetCurSel ( );
	m_ucPowerLevel[4] = m_cboLevelCtl4.GetCurSel ( );
  
	CString strStatusDemo = "";	

	if(bSetPower1==true)
	{
		m_PowerNum = m_ucPowerLevel[1];
		SetPower(0x00,m_PowerNum);
		Sleep(50);
	}
	if(bSetPower2==true)
	{
		m_PowerNum = m_ucPowerLevel[2];
		SetPower(0x01,m_PowerNum);
		Sleep(50);
	}
	if(bSetPower3==true)
	{
		m_PowerNum = m_ucPowerLevel[3];
		SetPower(0x02,m_PowerNum);
		Sleep(50);
	}
	if(bSetPower4==true)
	{
		m_PowerNum = m_ucPowerLevel[4];
		SetPower(0x03,m_PowerNum);
	}		

	if(iSuccess==iNum)
	{
		strStatusDemo = "Power adjustment successful!";
		strPowerConfigMsg = strStatusDemo;
		iSuccess=0;
	}
	else
	{
		strStatusDemo = "Power adjustment failed!";
		strPowerConfigMsg = strStatusDemo;
        iSuccess=0;
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -