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

📄 form_wifimcr.cpp

📁 MTK 手机软件开发 META 源代码,开发环境: C++ Builder
💻 CPP
📖 第 1 页 / 共 5 页
字号:
}
//---------------------------------------------------------------------------
void __fastcall TfrmWiFiMCR::edtSECheck(TObject *Sender)
{
    AnsiString  text;
    unsigned int  uidata;
    int  band;
    TEdit *edit = (TEdit*)Sender;
    char  hint[] = " character is not valid ";

    text = edit->Text;
    if( 0 == btnTRXMACMCRData->Tag )  // Dec
    {
        if( !IsValidDecWiFiMacRegValue( text, uidata ) )
        {
            ShowHintLabel( edit, hint );
            edit->SetFocus();
            return;
        }
    }
    else  // Hex
    {
        if( !IsValidHexWiFiMacRegValue( text, uidata ) )
        {
            ShowHintLabel( edit, hint );
            edit->SetFocus();
            return;
        }
    }
    m_sMCR_Setting[WIFI_MCR_SE][edit->Tag].value = uidata;
}
//---------------------------------------------------------------------------
void __fastcall TfrmWiFiMCR::edtTCCheck(TObject *Sender)
{
    AnsiString  text;
    unsigned int  uidata;
    int  band;
    TEdit *edit = (TEdit*)Sender;
    char  hint[] = " character is not valid ";

    text = edit->Text;
    if( 0 == btnTRXMACMCRData->Tag )  // Dec
    {
        if( !IsValidDecWiFiMacRegValue( text, uidata ) )
        {
            ShowHintLabel( edit, hint );
            edit->SetFocus();
            return;
        }
    }
    else  // Hex
    {
        if( !IsValidHexWiFiMacRegValue( text, uidata ) )
        {
            ShowHintLabel( edit, hint );
            edit->SetFocus();
            return;
        }
    }
    m_sMCR_Setting[WIFI_MCR_TC][edit->Tag].value = uidata;
}
//---------------------------------------------------------------------------
void __fastcall TfrmWiFiMCR::edtRCCheck(TObject *Sender)
{
    AnsiString  text;
    unsigned int  uidata;
    int  band;
    TEdit *edit = (TEdit*)Sender;
    char  hint[] = " character is not valid ";

    text = edit->Text;
    if( 0 == btnTRXMACMCRData->Tag )  // Dec
    {
        if( !IsValidDecWiFiMacRegValue( text, uidata ) )
        {
            ShowHintLabel( edit, hint );
            edit->SetFocus();
            return;
        }
    }
    else  // Hex
    {
        if( !IsValidHexWiFiMacRegValue( text, uidata ) )
        {
            ShowHintLabel( edit, hint );
            edit->SetFocus();
            return;
        }
    }
    m_sMCR_Setting[WIFI_MCR_RC][edit->Tag].value = uidata;
}
//---------------------------------------------------------------------------
void __fastcall TfrmWiFiMCR::edtHIFCheck(TObject *Sender)
{
    AnsiString  text;
    int  band;
    TEdit *edit = (TEdit*)Sender;
    char  hint[] = " character is not valid ";

    text = edit->Text;

    if( WNDRV_HOST_INTERFACE_HPI == m_sWiFiCap.host_interface )
    {
        unsigned short  usdata;
        if( 0 == btnTRXMACMCRData->Tag )  // Dec
        {
            if( !IsValidDecWiFiMacReg16Value( text, usdata ) )
            {
                ShowHintLabel( edit, hint );
                edit->SetFocus();
                return;
            }
        }
        else  // Hex
        {
            if( !IsValidHexWiFiMacReg16Value( text, usdata ) )
            {
                ShowHintLabel( edit, hint );
                edit->SetFocus();
                return;
            }
        }
        m_sMCR16_Setting[WIFI_MCR16_HIF_HPI][edit->Tag].value = usdata;
    }
    else
    {
        unsigned int  uidata;
        if( 0 == btnTRXMACMCRData->Tag )  // Dec
        {
            if( !IsValidDecWiFiMacRegValue( text, uidata ) )
            {
                ShowHintLabel( edit, hint );
                edit->SetFocus();
                return;
            }
        }
        else  // Hex
        {
            if( !IsValidHexWiFiMacRegValue( text, uidata ) )
            {
                ShowHintLabel( edit, hint );
                edit->SetFocus();
                return;
            }
        }

        if( WNDRV_HOST_INTERFACE_SDIO == m_sWiFiCap.host_interface )
        {
            m_sMCR_Setting[WIFI_MCR_HIF_SDIO][edit->Tag].value = uidata;
        }
        else // SPI
        {
            m_sMCR_Setting[WIFI_MCR_HIF_SPI][edit->Tag].value = uidata;
        }
    }
}
//---------------------------------------------------------------------------
void __fastcall TfrmWiFiMCR::HintTimerTimer(TObject *Sender)
{
    HintTimer->Enabled = false;
    lblHint->Visible = false;    
}
//---------------------------------------------------------------------------
void __fastcall TfrmWiFiMCR::btnSaveToFileClick(TObject *Sender)
{
    char str[512];
    bool ok;

    ok = CheckFields();
    if(!ok)
    {
        sbWiFiMCR->Panels->Items[0]->Text = (AnsiString) "  Save MAC control register setting to file fail";
        Application->MessageBox( "Execution Failure : Save MAC control register setting to file", "FAILURE", MB_OK );
        return;
    }
    ok = SaveDialog->Execute();
    if( !ok )
    {
        sbWiFiMCR->Panels->Items[0]->Text = (AnsiString) "  Save MAC control register setting to file fail";
        Application->MessageBox( "Execution Failure : Save MAC control register setting to file", "FAILURE", MB_OK );
        return;
    }


    strcpy( str, SaveDialog->FileName.c_str() );
    for(int i=0; i<WIFI_MCR_TYPE_NUM; i++ )
    {
        for(int j=0; j<WIFI_MCR_MAX_NUM; j++ )
        {
            m_WIFI_MAC_Obj.Set_MCR_Setting( i, j, m_sMCR_Setting[i][j] );
        }
    }

    for(int i=0; i<WIFI_MCR16_TYPE_NUM; i++ )
    {
        for(int j=0; j<WIFI_MCR16_MAX_NUM; j++ )
        {
            m_WIFI_MAC_Obj.Set_MCR16_Setting( i, j, m_sMCR16_Setting[i][j] );
        }
    }

    ok = m_WIFI_MAC_Obj.REQ_Write_To_File( str, m_sWiFiCap.host_interface );
    if( !ok )
    {
        sbWiFiMCR->Panels->Items[0]->Text = (AnsiString) "  Save MAC control register setting to file fail";
        Application->MessageBox( "Execution Failure : Save MAC control register setting to file", "FAILURE", MB_OK );
        return;
    }

    sbWiFiMCR->Panels->Items[0]->Text = (AnsiString) "  Save MAC control register setting to file successfully";
}
//---------------------------------------------------------------------------

void __fastcall TfrmWiFiMCR::cbSCHeaderClick(TObject *Sender)
{
    for( int i=0; i<WIFI_SC_NUM; i++ )
    {
        cbSC[i]->Checked = cbSCHeader->Checked;
        m_sMCR_Setting[WIFI_MCR_SC][i].checked = cbSCHeader->Checked;
    }
}
//---------------------------------------------------------------------------

void __fastcall TfrmWiFiMCR::cbMDPHeaderClick(TObject *Sender)
{
    for( int i=0; i<WIFI_MDP_NUM; i++ )
    {
        cbMDP[i]->Checked = cbMDPHeader->Checked;
        m_sMCR_Setting[WIFI_MCR_MDP][i].checked = cbMDPHeader->Checked;
    }
}
//---------------------------------------------------------------------------

void __fastcall TfrmWiFiMCR::cbPLCIHeaderClick(TObject *Sender)
{
    for( int i=0; i<WIFI_PLCI_NUM; i++ )
    {
        cbPLCI[i]->Checked = cbPLCIHeader->Checked;
        m_sMCR_Setting[WIFI_MCR_PLCI][i].checked = cbPLCIHeader->Checked;
    }
}
//---------------------------------------------------------------------------

void __fastcall TfrmWiFiMCR::cbMPTCHeaderClick(TObject *Sender)
{
    for( int i=0; i<WIFI_MPTC_NUM; i++ )
    {
        cbMPTC[i]->Checked = cbMPTCHeader->Checked;
        m_sMCR_Setting[WIFI_MCR_MPTC][i].checked = cbMPTCHeader->Checked;
    }
}
//---------------------------------------------------------------------------

void __fastcall TfrmWiFiMCR::cbNCHeaderClick(TObject *Sender)
{
    for( int i=0; i<WIFI_NC_NUM; i++ )
    {
        cbNC[i]->Checked = cbNCHeader->Checked;
        m_sMCR_Setting[WIFI_MCR_NC][i].checked = cbNCHeader->Checked;
    }
}
//---------------------------------------------------------------------------

void __fastcall TfrmWiFiMCR::cbBGHeaderClick(TObject *Sender)
{
    for( int i=0; i<WIFI_BG_NUM; i++ )
    {
        cbBG[i]->Checked = cbBGHeader->Checked;
        m_sMCR_Setting[WIFI_MCR_BG][i].checked = cbBGHeader->Checked;
    }
}
//---------------------------------------------------------------------------

void __fastcall TfrmWiFiMCR::cbSEHeaderClick(TObject *Sender)
{
    for( int i=0; i<WIFI_SE_NUM; i++ )
    {
        cbSE[i]->Checked = cbSEHeader->Checked;
        m_sMCR_Setting[WIFI_MCR_SE][i].checked = cbSEHeader->Checked;
    }
}
//---------------------------------------------------------------------------

void __fastcall TfrmWiFiMCR::cbTCHeaderClick(TObject *Sender)
{
    for( int i=0; i<WIFI_TC_NUM; i++ )
    {
        cbTC[i]->Checked = cbTCHeader->Checked;
        m_sMCR_Setting[WIFI_MCR_TC][i].checked = cbTCHeader->Checked;
    }
}
//---------------------------------------------------------------------------

void __fastcall TfrmWiFiMCR::cbRCHeaderClick(TObject *Sender)
{
    for( int i=0; i<WIFI_RC_NUM; i++ )
    {
        cbRC[i]->Checked = cbRCHeader->Checked;
        m_sMCR_Setting[WIFI_MCR_RC][i].checked = cbRCHeader->Checked;
    }
}
//---------------------------------------------------------------------------

void __fastcall TfrmWiFiMCR::cbHIFHeaderClick(TObject *Sender)
{
    for( int i=0; i<WIFI_HIF_HPI_NUM; i++ )
    {
        cbHIF[i]->Checked = cbHIFHeader->Checked;
        m_sMCR_Setting[WIFI_MCR16_HIF_HPI][i].checked = cbHIFHeader->Checked;
    }
}
//---------------------------------------------------------------------------

void __fastcall TfrmWiFiMCR::btnSYSMACMCRDataClick(TObject *Sender)
{
    if( 0 == btnSYSMACMCRData->Tag )  // Dec-->Hex
    {    btnSYSMACMCRData->Tag = 1;
    }
    else  //Hex-->Dec
    {    btnSYSMACMCRData->Tag = 0;
    }
    ReDrawFields( DRAW_MCR_COMMON | DRAW_MCR_HIF );
}
//---------------------------------------------------------------------------

void __fastcall TfrmWiFiMCR::btnTRXMACMCRDataClick(TObject *Sender)
{
    if( 0 == btnTRXMACMCRData->Tag )  // Dec-->Hex
    {    btnTRXMACMCRData->Tag = 1;
    }
    else  //Hex-->Dec
    {    btnTRXMACMCRData->Tag = 0;
    }
    ReDrawFields( DRAW_MCR_COMMON | DRAW_MCR_HIF );
}

//---------------------------------------------------------------------------
void __fastcall TfrmWiFiMCR::btnLoadFromFileClick(TObject *Sender)
{
    char str[512];
    bool ok;

    ok = OpenDialog->Execute();
    if( !ok )
    {
        sbWiFiMCR->Panels->Items[0]->Text = (AnsiString) "  Load MAC control register setting from file fail";

⌨️ 快捷键说明

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