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

📄 form_wifibbcr.cpp

📁 MTK 手机软件开发 META 源代码,开发环境: C++ Builder
💻 CPP
📖 第 1 页 / 共 5 页
字号:

    strcpy( str, SaveDialog->FileName.c_str() );
    for(int i=0; i<WIFI_BBCR_TYPE_NUM; i++ )
    {
        for(int j=0; j<WIFI_BBCR_MAX_NUM; j++ )
        {
            m_WIFI_BB_Obj.Set_BBCR_Setting( i, j, m_sBBCR_Setting[i][j] );
        }
    }

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

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

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

    ok = OpenDialog->Execute();
    if( !ok )
    {
        sbWiFiBBCR->Panels->Items[0]->Text = (AnsiString) "  Load baseband control register setting from file fail";
        Application->MessageBox( "Execution Failure : Load baseband control register setting from file", "FAILURE", MB_OK );
        return;
    }
    strcpy( str, OpenDialog->FileName.c_str() );

    ok = m_WIFI_BB_Obj.REQ_Read_From_File( str );

    if( !ok )
    {
        sbWiFiBBCR->Panels->Items[0]->Text = (AnsiString) "  Load baseband control register setting from file fail";
        Application->MessageBox( "Execution Failure : Load baseband control register setting from file", "FAILURE", MB_OK );
        return;
    }

    for(int i=0; i<WIFI_BBCR_TYPE_NUM; i++ )
    {
        for(int j=0; j<WIFI_BBCR_MAX_NUM; j++ )
        {
            m_sBBCR_Setting[i][j].value = m_WIFI_BB_Obj.Get_BBCR_Setting_Value( i, j );
        }
    }

    ReDrawFields();
    sbWiFiBBCR->Panels->Items[0]->Text = (AnsiString) "  Load baseband control register setting from file successfully";

}
//---------------------------------------------------------------------------

void __fastcall TfrmWiFiBBCR::btnIPTRBBCRDataClick(TObject *Sender)
{
    if( 0 == btnIPTRBBCRData->Tag )  // Dec-->Hex
    {    btnIPTRBBCRData->Tag = 1;
    }
    else  //Hex-->Dec
    {    btnIPTRBBCRData->Tag = 0;
    }
    ReDrawFields();
}
//---------------------------------------------------------------------------

void __fastcall TfrmWiFiBBCR::btnBBPCBBCRDataClick(TObject *Sender)
{
    if( 0 == btnBBPCBBCRData->Tag )  // Dec-->Hex
    {    btnBBPCBBCRData->Tag = 1;
    }
    else  //Hex-->Dec
    {    btnBBPCBBCRData->Tag = 0;
    }
    ReDrawFields();
}
//---------------------------------------------------------------------------

void __fastcall TfrmWiFiBBCR::btnWriteToRegisterClick(TObject *Sender)
{
    if( ! CheckFields() )
    {
        sbWiFiBBCR->Panels->Items[0]->Text = (AnsiString) "  Write baseband register fail";
        Application->MessageBox( "Execution Failure : Write baseband register", "FAILURE", MB_OK );
        return;
    }

    CurrentPageLock();
    Compose_BBCR_Parameter();
    Compose_BBCR_Data();
    if( 0 == m_sBBCR.count )
    {
        sbWiFiBBCR->Panels->Items[0]->Text = (AnsiString)"  Please select at least one baseband register ";
        Application->MessageBox( "Execution Fail : Please select at least one baseband register", "FAIL", MB_OK );
        return;
    }
    m_WIFI_BB_Obj.ConfirmCallback  = ::ConfirmCallback_WriteReg;
    m_WIFI_BB_Obj.REQ_Write_BBCR_Setting_To_Reg_Start( m_sBBCR );

    sbWiFiBBCR->Panels->Items[0]->Text = (AnsiString)"  Write baseband register progressing";
}

//---------------------------------------------------------------------------
void TfrmWiFiBBCR::ConfirmCallback_WriteReg( void )
{
    int state = m_WIFI_BB_Obj.Get_ConfirmState();

    switch( state )
    {
        case STATE_BB_OK:
        {

            sbWiFiBBCR->Panels->Items[0]->Text = (AnsiString)"  Write baseband register successfully";
        }
        break;

        case STATE_BB_FAIL:
        {
            sbWiFiBBCR->Panels->Items[0]->Text = (AnsiString)"  Write baseband register fail";
            Application->MessageBox( "Execution Timeout : Write baseband register", "FAIL", MB_OK );
        }
        break;

        case STATE_BB_TIMEOUT:
        {
            sbWiFiBBCR->Panels->Items[0]->Text = (AnsiString)"  Write baseband register timeout";
            Application->MessageBox( "Execution Timeout : Write baseband register", "TIMEOUT", MB_OK );
        }
        break;

        case STATE_BB_STOP:
            sbWiFiBBCR->Panels->Items[0]->Text = (AnsiString)"  Write baseband register stop";
        break;
    }
    CurrentPageReset();
}

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
void __fastcall TfrmWiFiBBCR::btnReadFromRegisterClick(TObject *Sender)
{
    CurrentPageLock();
    Compose_BBCR_Parameter();
    if( 0 == m_sBBCR.count )
    {
        sbWiFiBBCR->Panels->Items[0]->Text = (AnsiString)"  Please select at least one baseband register ";
        Application->MessageBox( "Execution Fail : Please select at least one baseband register", "FAIL", MB_OK );
        return;
    }
    m_WIFI_BB_Obj.ConfirmCallback  = ::ConfirmCallback_ReadReg;
    m_WIFI_BB_Obj.REQ_Read_BBCR_Setting_From_Reg_Start( m_sBBCR );
    sbWiFiBBCR->Panels->Items[0]->Text = (AnsiString)"  Read baseband register progressing";
}

//---------------------------------------------------------------------------
void TfrmWiFiBBCR::ConfirmCallback_ReadReg( void )
{
    int state = m_WIFI_BB_Obj.Get_ConfirmState();

    switch( state )
    {
        case STATE_BB_OK:
        {
           // for(int i=0; i<WIFI_BBCR_TYPE_NUM; i++ )
           // {
           //     for(int j=0; j<WIFI_BBCR_MAX_NUM; j++ )
           //     {
           //         m_sBBCR_Setting[i][j].value = m_WIFI_BB_Obj.Get_WiFiBBCRValue( i, j );
           //     }
           // }
            m_sBBCR = m_WIFI_BB_Obj.Get_BBCR();
            DeCompose_BBCR_Data();
            ReDrawFields();
            sbWiFiBBCR->Panels->Items[0]->Text = (AnsiString)"  Read baseband register successfully";
        }
        break;

        case STATE_BB_FAIL:
        {
            sbWiFiBBCR->Panels->Items[0]->Text = (AnsiString)"  Read baseband register fail";
            Application->MessageBox( "Execution Fail : Read baseband register", "FAIL", MB_OK );
        }
        break;

        case STATE_BB_TIMEOUT:
        {
            sbWiFiBBCR->Panels->Items[0]->Text = (AnsiString)"  Read baseband register timeout";
            Application->MessageBox( "Execution Timeout : Read baseband register", "TIMEOUT", MB_OK );
        }
        break;

        case STATE_BB_STOP:
            sbWiFiBBCR->Panels->Items[0]->Text = (AnsiString)"  Read baseband register stop";
        break;
    }
    CurrentPageReset();
}

//---------------------------------------------------------------------------
void __fastcall TfrmWiFiBBCR::HintTimerTimer(TObject *Sender)
{
    HintTimer->Enabled = false;
    lblHint->Visible = false;
}

//---------------------------------------------------------------------------
void TfrmWiFiBBCR::Compose_BBCR_Parameter( void )
{

    m_sBBCR.count = 0;

    for(int i=0; i<WIFI_BBCR_TYPE_NUM; i++ )
    {
        for(int j=0; j<WIFI_BBCR_MAX_NUM; j++ )
        {
            if( m_sBBCR_Setting[i][j].checked )
            {
                m_sBBCR.bb_reg8[m_sBBCR.count].index = m_sBBCR_Setting[i][j].idx;
                m_sBBCR.count++;
            }
        }
    }
#if 0
   // m_sBBCR.number = m_sBBCR_Setting[WIFI_BBCR_BBPC][WIFI_BBPC_NUM-1].idx+1;
    m_sBBCR.index = m_sBBCR_Setting[WIFI_BBCR_IPC][0].idx; // 0x00
    for( i=0; i<m_sBBCR.number; i++ )
        m_sBBCR.flag[i] = false;

    for(int i=0; i<WIFI_BBCR_TYPE_NUM; i++ )
    {
        for(int j=0; j<WIFI_BBCR_MAX_NUM; j++ )
        {
            if( m_sBBCR_Setting[i][j].checked )
            {
                m_sBBCR.flag[m_sBBCR_Setting[i][j].idx] = true;
            }
        }
    }
#endif
}

//---------------------------------------------------------------------------
void TfrmWiFiBBCR::Compose_BBCR_Data( void )
{
    int count=0;
    for(int i=0; i<WIFI_BBCR_TYPE_NUM; i++ )
    {
        for(int j=0; j<WIFI_BBCR_MAX_NUM; j++ )
        {
            if( m_sBBCR_Setting[i][j].checked )
            {
                m_sBBCR.bb_reg8[count].bbcr_data8 = m_sBBCR_Setting[i][j].value;
                count++;
            }
        }
    }

}

//---------------------------------------------------------------------------
void TfrmWiFiBBCR::DeCompose_BBCR_Data( void )
{
    int count=0;
    for(int i=0; i<WIFI_BBCR_TYPE_NUM; i++ )
    {
        for(int j=0; j<WIFI_BBCR_MAX_NUM; j++ )
        {
            if( m_sBBCR_Setting[i][j].checked )
            {
                m_sBBCR_Setting[i][j].value = m_sBBCR.bb_reg8[count].bbcr_data8;
                count++;
            }
        }
    }

}

⌨️ 快捷键说明

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