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

📄 form_wifimcr.cpp

📁 MTK 手机软件开发 META 源代码,开发环境: C++ Builder
💻 CPP
📖 第 1 页 / 共 5 页
字号:
                    {
                        sprintf( str, "%X", m_sMCR16_Setting[WIFI_MCR16_HIF_HPI][i].value );
                        edtHIF[i]->Text = str;
                    }
                }
                break;

                case WNDRV_HOST_INTERFACE_SPI:
                {
                    for( i=0; i<WIFI_HIF_SPI_NUM; i++ )
                    {
                        sprintf( str, "%X", m_sMCR_Setting[WIFI_MCR_HIF_SPI][i].value );
                        edtHIF[i]->Text = str;
                    }
                }
                break;
            }
        }

    }
}

//---------------------------------------------------------------------------
bool TfrmWiFiMCR::CheckFields( void )
{
    int i;
    unsigned int         uidata[WIFI_MCR_MAX_NUM];
    AnsiString text;
    
    // system control register
    if( 0 == btnSYSMACMCRData->Tag ) // Dec
    {
        // System Control
        for( i=0; i<WIFI_SC_NUM; i++ )
        {   text = edtSC[i]->Text;  if( !IsValidDecWiFiMacRegValue( text, uidata[i] ) )         {  edtSCCheck(edtSC[i]);   return false;   }
        }

        // Miscellaneous and Debug Port
        for( i=0; i<WIFI_MDP_NUM; i++ )
        {   text = edtMDP[i]->Text;  if( !IsValidDecWiFiMacRegValue( text, uidata[i] ) )         {  edtMDPCheck(edtMDP[i]);   return false;   }
        }

        // Phyical Layer Control Interface
        for( i=0; i<WIFI_PLCI_NUM; i++ )
        {   text = edtPLCI[i]->Text;  if( !IsValidDecWiFiMacRegValue( text, uidata[i] ) )         {  edtPLCICheck(edtPLCI[i]);   return false;   }
        }

        // MAC Protocol Timing Control
        for( i=0; i<WIFI_MPTC_NUM; i++ )
        {   text = edtMPTC[i]->Text;  if( !IsValidDecWiFiMacRegValue( text, uidata[i] ) )         {  edtMPTCCheck(edtMPTC[i]);   return false;   }
        }

        // NVA Control
        for( i=0; i<WIFI_NC_NUM; i++ )
        {   text = edtNC[i]->Text;  if( !IsValidDecWiFiMacRegValue( text, uidata[i] ) )         {  edtMPTCCheck(edtNC[i]);   return false;   }
        }

        // Beacon Generation
        for( i=0; i<WIFI_BG_NUM; i++ )
        {   text = edtBG[i]->Text;  if( !IsValidDecWiFiMacRegValue( text, uidata[i] ) )         {  edtMPTCCheck(edtBG[i]);   return false;   }
        }
    }
    else // Hex
    {
        // System Control
        for( i=0; i<WIFI_SC_NUM; i++ )
        {   text = edtSC[i]->Text;  if( !IsValidHexWiFiMacRegValue( text, uidata[i] ) )         {  edtSCCheck(edtSC[i]);   return false;   }
        }

        // Miscellaneous and Debug Port
        for( i=0; i<WIFI_MDP_NUM; i++ )
        {   text = edtMDP[i]->Text;  if( !IsValidHexWiFiMacRegValue( text, uidata[i] ) )         {  edtMDPCheck(edtMDP[i]);   return false;   }
        }

        // Phyical Layer Control Interface
        for( i=0; i<WIFI_PLCI_NUM; i++ )
        {   text = edtPLCI[i]->Text;  if( !IsValidHexWiFiMacRegValue( text, uidata[i] ) )         {  edtPLCICheck(edtPLCI[i]);   return false;   }
        }

        // MAC Protocol Timing Control
        for( i=0; i<WIFI_MPTC_NUM; i++ )
        {   text = edtMPTC[i]->Text;  if( !IsValidHexWiFiMacRegValue( text, uidata[i] ) )         {  edtMPTCCheck(edtMPTC[i]);   return false;   }
        }

        // NVA Control
        for( i=0; i<WIFI_NC_NUM; i++ )
        {   text = edtNC[i]->Text;  if( !IsValidHexWiFiMacRegValue( text, uidata[i] ) )         {  edtMPTCCheck(edtNC[i]);   return false;   }
        }

        // Beacon Generation
        for( i=0; i<WIFI_BG_NUM; i++ )
        {   text = edtBG[i]->Text;  if( !IsValidHexWiFiMacRegValue( text, uidata[i] ) )         {  edtMPTCCheck(edtBG[i]);   return false;   }
        }
    }

    // TX/RX related register
    if( 0 == btnTRXMACMCRData->Tag ) // Dec
    {
        // Security Engine
        for( i=0; i<WIFI_SE_NUM; i++ )
        {   text = edtSE[i]->Text;  if( !IsValidDecWiFiMacRegValue( text, uidata[i] ) )         {  edtSCCheck(edtSE[i]);   return false;   }
        }

        // Transmitter Control
        for( i=0; i<WIFI_TC_NUM; i++ )
        {   text = edtTC[i]->Text;  if( !IsValidDecWiFiMacRegValue( text, uidata[i] ) )         {  edtSCCheck(edtTC[i]);   return false;   }
        }

        // Receiver Control
        for( i=0; i<WIFI_RC_NUM; i++ )
        {   text = edtRC[i]->Text;  if( !IsValidDecWiFiMacRegValue( text, uidata[i] ) )         {  edtSCCheck(edtRC[i]);   return false;   }
        }

        // HIF_HPI
        for( i=0; i<WIFI_HIF_HPI_NUM; i++ )
        {   text = edtHIF[i]->Text;  if( !IsValidDecWiFiMacRegValue( text, uidata[i] ) )         {  edtHIFCheck(edtHIF[i]);   return false;   }
        }

    }
    else
    {
        // Security Engine
        for( i=0; i<WIFI_SE_NUM; i++ )
        {   text = edtSE[i]->Text;  if( !IsValidHexWiFiMacRegValue( text, uidata[i] ) )         {  edtSCCheck(edtSE[i]);   return false;   }
        }

        // Transmitter Control
        for( i=0; i<WIFI_TC_NUM; i++ )
        {   text = edtTC[i]->Text;  if( !IsValidHexWiFiMacRegValue( text, uidata[i] ) )         {  edtSCCheck(edtTC[i]);   return false;   }
        }

        // Receiver Control
        for( i=0; i<WIFI_RC_NUM; i++ )
        {   text = edtRC[i]->Text;  if( !IsValidHexWiFiMacRegValue( text, uidata[i] ) )         {  edtSCCheck(edtRC[i]);   return false;   }
        }

        // HIF_HPI
        for( i=0; i<WIFI_HIF_HPI_NUM; i++ )
        {   text = edtHIF[i]->Text;  if( !IsValidHexWiFiMacRegValue( text, uidata[i] ) )         {  edtHIFCheck(edtHIF[i]);   return false;   }
        }
    }
    return true;
}

//---------------------------------------------------------------------------
void  TfrmWiFiMCR::CurrentPageLock( void )
{
}

//---------------------------------------------------------------------------
void  TfrmWiFiMCR::CurrentPageReset( void )
{
}

//---------------------------------------------------------------------------
void  TfrmWiFiMCR::ShowHintLabel( TControl *sender, char* hint )
{
   TPoint pt0 = this->ClientOrigin;
   TPoint pt1 = sender->ClientOrigin;
   lblHint->Left = (pt1.x-pt0.x);
   lblHint->Top  = (pt1.y-pt0.y)+sender->Height+3;
   lblHint->Caption = hint;
   lblHint->Visible = true;
   HintTimer->Enabled = true;
}

//---------------------------------------------------------------------------
void __fastcall TfrmWiFiMCR::edtSCCheck(TObject *Sender)
{
    AnsiString  text;
    unsigned int  uidata;
    int  band;
    TEdit *edit = (TEdit*)Sender;
    char  hint[] = " character is not valid ";

    text = edit->Text;
    if( 0 == btnSYSMACMCRData->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_SC][edit->Tag].value = uidata;
}

//---------------------------------------------------------------------------
void __fastcall TfrmWiFiMCR::edtMDPCheck(TObject *Sender)
{
    AnsiString  text;
    unsigned int  uidata;
    int  band;
    TEdit *edit = (TEdit*)Sender;
    char  hint[] = " character is not valid ";

    text = edit->Text;
    if( 0 == btnSYSMACMCRData->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_MDP][edit->Tag].value = uidata;
}
//---------------------------------------------------------------------------
void __fastcall TfrmWiFiMCR::edtPLCICheck(TObject *Sender)
{
    AnsiString  text;
    unsigned int  uidata;
    int  band;
    TEdit *edit = (TEdit*)Sender;
    char  hint[] = " character is not valid ";

    text = edit->Text;
    if( 0 == btnSYSMACMCRData->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_PLCI][edit->Tag].value = uidata;
}
//---------------------------------------------------------------------------
void __fastcall TfrmWiFiMCR::edtMPTCCheck(TObject *Sender)
{
    AnsiString  text;
    unsigned int  uidata;
    int  band;
    TEdit *edit = (TEdit*)Sender;
    char  hint[] = " character is not valid ";

    text = edit->Text;
    if( 0 == btnSYSMACMCRData->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_MPTC][edit->Tag].value = uidata;
}
//---------------------------------------------------------------------------
void __fastcall TfrmWiFiMCR::edtNCCheck(TObject *Sender)
{
    AnsiString  text;
    unsigned int  uidata;
    int  band;
    TEdit *edit = (TEdit*)Sender;
    char  hint[] = " character is not valid ";

    text = edit->Text;
    if( 0 == btnSYSMACMCRData->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_NC][edit->Tag].value = uidata;
}
//---------------------------------------------------------------------------
void __fastcall TfrmWiFiMCR::edtBGCheck(TObject *Sender)
{
    AnsiString  text;
    unsigned int  uidata;
    int  band;
    TEdit *edit = (TEdit*)Sender;
    char  hint[] = " character is not valid ";

    text = edit->Text;
    if( 0 == btnSYSMACMCRData->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_BG][edit->Tag].value = uidata;

⌨️ 快捷键说明

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