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

📄 form_wifi.cpp

📁 MTK 手机软件开发 META 源代码,开发环境: C++ Builder
💻 CPP
📖 第 1 页 / 共 5 页
字号:
    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 + -