📄 form_wifi.cpp
字号:
edtTXPacketCount->Enabled = true;
edtTXPacketInterval->Enabled = true;
cbTXPreamble->Enabled = true;
cbTXBitPattern->Enabled = true;
}
//---------------------------------------------------------------------------
void TfrmWiFi::DisableCPTUIComponent(void)
{
// ALC
m_edtTXTargetAlc->Enabled = false;
m_cbTXTargetGain->Enabled = false;
m_cbTXAlcTracking->Enabled = false;
m_cbTargetAlc->Enabled = false;
// MAC header
edtTXFramCtrl1->Enabled = false;
edtTXFramCtrl0->Enabled = false;
edtTXDuration1->Enabled = false;
edtTXDuration0->Enabled = false;
edtTXAddress15->Enabled = false;
edtTXAddress14->Enabled = false;
edtTXAddress13->Enabled = false;
edtTXAddress12->Enabled = false;
edtTXAddress11->Enabled = false;
edtTXAddress10->Enabled = false;
edtTXAddress25->Enabled = false;
edtTXAddress24->Enabled = false;
edtTXAddress23->Enabled = false;
edtTXAddress22->Enabled = false;
edtTXAddress21->Enabled = false;
edtTXAddress20->Enabled = false;
edtTXAddress35->Enabled = false;
edtTXAddress34->Enabled = false;
edtTXAddress33->Enabled = false;
edtTXAddress32->Enabled = false;
edtTXAddress31->Enabled = false;
edtTXAddress30->Enabled = false;
edtTXSeqCtrl1->Enabled = false;
edtTXSeqCtrl0->Enabled = false;
edtTXPacketLength->Enabled = false;
edtTXPacketCount->Enabled = false;
edtTXPacketInterval->Enabled = false;
cbTXPreamble->Enabled = false;
cbTXBitPattern->Enabled = false;
}
//---------------------------------------------------------------------------
void TfrmWiFi::CurrentPageReset( void )
{
switch(pctlToolSel->ActivePageIndex)
{
case PAGEIDX_TXALL:
{
m_iTestPageIndex = PAGEIDX_NONE;
// cbTXChannelID->Enabled = true;
// cbTXTxFilter->Enabled = true;
// cbTXTxRate->Enabled = true;
// btnTXTxPowerDac->Enabled = true;
// edtTXTxPowerDAC->Enabled = true;
rbTXOP->Enabled = true;
rbTXCS->Enabled = true;
rbCPT->Enabled = true;
rbTXLF->Enabled = true;
// TX DC offset
//edtTXIDC->Enabled = true;
//edtTXQDC->Enabled = true;
btnTXCalTxDC->Enabled = true;
btnTXUploadFromFlash->Enabled = true;
btnTXDownloadToFlash->Enabled = true;
btnTXChangeDB->Enabled = true;
//btnTXLoadFromFile->Enabled = true;
//btnTXSaveToFile->Enabled = true;
btnLoadTxPowerFromEE->Enabled = true;
btnTXTxChannelPower->Enabled = true;
m_btnTxAlc->Enabled = true;
btnTXStart->Enabled = true;
btnTXStart->Tag = 0;
if( rbCPT->Checked )
{
EnableCPTUIComponent();
}
}
break;
case PAGEIDX_CPRX:
{
m_iTestPageIndex = PAGEIDX_NONE;
cbCPRChannelID->Enabled = true;
// cbCPRRxAntenna->Enabled = true;
cbCPRRxAntenna->Enabled = true;
btnCPRReset->Enabled = true;
btnCPRQueryRxCounter->Enabled = true;
btnCPRStart->Enabled = true;
btnCPRStart->Tag = 0;
}
break;
case PAGEIDX_PS:
{
m_iTestPageIndex = PAGEIDX_NONE;
cbPSPowerMode->Enabled = true;
btnPSStart->Enabled = true;
btnPSStart->Tag = 0;
}
break;
case PAGEIDX_BB:
{
edtBBCRIndex->Enabled = true;
edtBBCRData->Enabled = true;
btnBBRead->Enabled = true;
btnBBWrite->Enabled = true;
btnBBCRData->Enabled = true;
btnBBDumpBBReg->Enabled = true;
btnBBRead->Tag = 0;
btnBBWrite->Tag = 0;
}
break;
case PAGEIDX_MAC:
{
edtMACMCRAddress->Enabled = true;
edtMACMCRData->Enabled = true;
btnMACRead->Enabled = true;
btnMACWrite->Enabled = true;
btnMACMCRData->Enabled = true;
btnMACDumpAllMacReg->Enabled = true;
btnMACRead->Tag = 0;
btnMACWrite->Tag = 0;
}
break;
case PAGEIDX_EE:
{
edtEEIndex->Enabled = true;
edtEEData->Enabled = true;
btnEERead->Enabled = true;
btnEEWrite->Enabled = true;
btnEEData->Enabled = true;
btnEE->Enabled = true;
btnEERead->Tag = 0;
btnEEWrite->Tag = 0;
}
break;
case PAGEIDX_SC:
{
btnSCScriptFile->Enabled = true;
btnSCStart->Enabled = true;
btnSCStart->Tag = 0;
}
break;
}
}
//---------------------------------------------------------------------------
void TfrmWiFi::CurrentPageLock( void )
{
switch(pctlToolSel->ActivePageIndex)
{
case PAGEIDX_TXALL:
{
m_iTestPageIndex = PAGEIDX_TXALL;
// cbTXChannelID->Enabled = false;
// cbTXTxFilter->Enabled = false;
// cbTXTxRate->Enabled = false;
// btnTXTxPowerDac->Enabled = false;
// edtTXTxPowerDAC->Enabled = false;
// edtTXPacketInterval->Enabled = false;
// edtTXPacketLength->Enabled = false;
// edtTXPacketCount->Enabled = false;
// cbTXBitPattern->Enabled = false;
// DisableCPTUIComponent();
rbTXOP->Enabled = false;
rbTXCS->Enabled = false;
rbCPT->Enabled = false;
rbTXLF->Enabled = false;
// TX DC offset
btnTXCalTxDC->Enabled = false;
btnTXUploadFromFlash->Enabled = false;
btnTXDownloadToFlash->Enabled = false;
btnTXChangeDB->Enabled = false;
btnLoadTxPowerFromEE->Enabled = false;
btnTXTxChannelPower->Enabled = false;
m_btnTxAlc->Enabled = false;
btnTXStart->Enabled = false;
btnTXStart->Tag = 1;
}
break;
case PAGEIDX_CPRX:
{
m_iTestPageIndex = PAGEIDX_CPRX;
cbCPRChannelID->Enabled = false;
cbCPRRxAntenna->Enabled = false;
// cbCPRRxAntenna->Enabled = false;
btnCPRReset->Enabled = false;
btnCPRQueryRxCounter->Enabled = false;
btnCPRStart->Enabled = false;
btnCPRStart->Tag = 1;
}
break;
case PAGEIDX_PS:
{
m_iTestPageIndex = PAGEIDX_PS;
cbPSPowerMode->Enabled = false;
btnPSStart->Enabled = false;
btnPSStart->Tag = 1;
}
break;
case PAGEIDX_BB:
{
// m_iTestPageIndex = PAGEIDX_BB;
edtBBCRIndex->Enabled = false;
edtBBCRData->Enabled = false;
btnBBRead->Enabled = false;
btnBBWrite->Enabled = false;
btnBBCRData->Enabled = false;
btnBBDumpBBReg->Enabled = false;
btnBBRead->Tag = 1;
btnBBWrite->Tag = 1;
}
break;
case PAGEIDX_MAC:
{
// m_iTestPageIndex = PAGEIDX_MAC;
edtMACMCRAddress->Enabled = false;
edtMACMCRData->Enabled = false;
btnMACRead->Enabled = false;
btnMACWrite->Enabled = false;
btnMACMCRData->Enabled = false;
btnMACDumpAllMacReg->Enabled = false;
btnMACRead->Tag = 1;
btnMACWrite->Tag = 1;
}
break;
case PAGEIDX_EE:
{
// m_iTestPageIndex = PAGEIDX_EE;
edtEEIndex->Enabled = false;
edtEEData->Enabled = false;
btnEERead->Enabled = false;
btnEEWrite->Enabled = false;
btnEEData->Enabled = false;
btnEE->Enabled = false;
btnEERead->Tag = 1;
btnEEWrite->Tag = 1;
}
break;
case PAGEIDX_SC:
{
btnSCScriptFile->Enabled = false;
btnSCStart->Enabled = false;
btnSCStart->Tag = 1;
}
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmWiFi::btnTXStartClick(TObject *Sender)
{
if( rbTXOP->Checked )
{
TXOPExecute();
}
else if( rbTXCS->Checked )
{
TXCSExecute();
}
else if( rbCPT->Checked )
{
CPTExecute();
}
else
{
LFExecute();
}
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
void TfrmWiFi::CPTExecute(void)
{
int i;
AnsiString text;
S_WIFICPT m_sWiFiCPT;
m_sWiFiCPT.bAlcSupport = m_bAlcSupport;
m_sWiFiCPT.wifi_id = m_final_WiFiId;
m_sWiFiCPT.channel_freq = GetWiFiChannelFreqFromStr( cbTXChannelID->Text );
if( IDX_TX_FILTER_NORTH_AMERICA == cbTXTxFilter->ItemIndex )
{
m_sWiFiCPT.reg_domain.country_code[0] = 'U';
m_sWiFiCPT.reg_domain.country_code[1] = 'S';
}
else
{
m_sWiFiCPT.reg_domain.country_code[0] = 'J';
m_sWiFiCPT.reg_domain.country_code[1] = 'P';
}
m_sWiFiCPT.tx_rate = (WiFi_TestRate_E) GetWiFiTxRateFromStr( cbTXTxRate->Text );
text = edtTXPacketLength->Text; if( !IsValidWiFiPacketLength( text, m_sWiFiCPT.pkt_length ) ) { edtCPTPacketLengthCheck(edtTXPacketLength); return; }
text = edtTXPacketCount->Text; if( !IsValidWiFiPacketCount( text, m_sWiFiCPT.pkt_count ) ) { edtCPTPacketCountCheck(edtTXPacketCount); return; }
text = edtTXPacketInterval->Text; if( !IsValidWiFiPacketInterval( text, m_sWiFiCPT.pkt_interval ) ) { edtCPTPacketIntervalCheck(edtTXPacketInterval); return; }
if( 0 == btnTXTxPowerDac->Tag )
{
text = edtTXTxPowerDAC->Text; if( !IsValidDecWiFiTxPowerDac( text, m_sWiFiCPT.tx_pwr_dac ) ) { edtCPTTxPowerDACCheck(edtTXTxPowerDAC); return; }
}
else
{
text = edtTXTxPowerDAC->Text; if( !IsValidHexWiFiTxPowerDac( text, m_sWiFiCPT.tx_pwr_dac ) ) { edtCPTTxPowerDACCheck(edtTXTxPowerDAC); return; }
}
switch (cbTXBitPattern->ItemIndex)
{
case WIFI_IDX_ALL_0:
{
m_sWiFiCPT.pattern = WIFI_TX_ALL_ZEROS;
}
break;
case WIFI_IDX_ALL_1:
{
m_sWiFiCPT.pattern = WIFI_TX_ALL_ONES;
}
break;
case WIFI_IDX_ALTERNATE:
{
m_sWiFiCPT.pattern = WIFI_TX_ALTERNATE_BITS;
}
break;
case WIFI_IDX_RANDOM:
{
m_sWiFiCPT.pattern = WIFI_TX_PSEUDO_RANDOM;
}
break;
default:
{
}
break;
}
m_sWiFiCPT.is_short_preamble = cbTXPreamble->ItemIndex;
// MAC header
for( i=0; i<WIFI_MAC_HEAD_FRAME_CTRL_LEN; i++ )
{ text = edtTXFramCtrl[i]->Text; if( !IsValidHexWiFiMacHeaderFrameCtrl( text, m_sWiFiCPT.s_mac_header.frame_ctrl[i] ) ) { edtTXFramCtrlCheck(edtTXFramCtrl[i]); return; }
}
for( i=0; i<WIFI_MAC_HEAD_DURATION_LEN; i++ )
{ text = edtTXDuration[i]->Text; if( !IsValidHexWiFiMacHeaderDuration( text, m_sWiFiCPT.s_mac_header.duration[i] ) ) { edtTXDurationCheck(edtTXDuration[i]); return; }
}
for( i=0; i<WIFI_MAC_HEAD_ADDRESS_LEN; i++ )
{ text = edtTXAddress1[i]->Text; if( !IsValidHexWiFiMacHeaderAddress( text, m_sWiFiCPT.s_mac_header.address1[i] ) ) { edtTXAddress1Check(edtTXAddress1[i]); return; }
}
for( i=0; i<WIFI_MAC_HEAD_ADDRESS_LEN; i++ )
{ text = edtTXAddress2[i]->Text; if( !IsValidHexWiFiMacHeaderAddress( text, m_sWiFiCPT.s_mac_header.address2[i] ) ) { edtTXAddress2Check(edtTXAddress2[i]); return; }
}
for( i=0; i<WIFI_MAC_HEAD_ADDRESS_LEN; i++ )
{ text = edtTXAddress3[i]->Text; if( !IsValidHexWiFiMacHeaderAddress( text, m_sWiFiCPT.s_mac_header.address3[i] ) ) { edtTXAddress3Check(edtTXAddress3[i]); return; }
}
for( i=0; i<WIFI_MAC_HEAD_SEQ_CTRL_LEN; i++ )
{ text = edtTXSeqCtrl[i]->Text; if( !IsValidHexWiFiMacHeaderAddress( text, m_sWiFiCPT.s_mac_header.seq_ctrl[i] ) ) { edtTXSeqCtrlCheck(edtTXSeqCtrl[i]); return; }
}
if (m_bAlcSupport)
{
m_sWiFiCPT.ui_txFlags = 0;
if (!m_cbTXTargetGain->Checked)
{
m_sWiFiCPT.ui_txFlags |= WIFI_TX_FLAG_NO_TXGAIN;
}
if (m_cbTXAlcTracking->Checked)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -