📄 setpower.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 + -