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

📄 form_bt.cpp

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

    // RF test
    cbRFTxPattern->ItemIndex = 0;

    // packet test
    cbPKTBaudRate->ItemIndex = 0;

    // throughput test
    m_cbTTScanType->ItemIndex = 3;

    // connection test
    cbCTScanType->ItemIndex = 3;
    m_uiInquiryTimeout = edtCTInquiryTimeout->Text.ToInt() * 1.28 * 1000;
    m_sBTPIN.uc_pin_len = 4;
    for( int i=0; i<m_sBTPIN.uc_pin_len; i++ )
        m_sBTPIN.uc_PIN[i] = '0';
}

//---------------------------------------------------------------------------
void __fastcall TfrmBT::FormActivate(TObject *Sender)
{
    if (m_bInit)
    {
        m_bInit = false;
        ApplyHideProperty();
        BT_ModuleID_S* p_bt_module_id = frmMainSel->Get_BTMoudleID();
        m_cBtId = p_bt_module_id->id;
        
        DisplayBtRfTestUi();
        DisplayBtPktTestUi();
        DisplayBtThroughputTestUi();
        DisplayBtConnectionTestUi();
        CBTPOWER BT_POWER_Obj;
        BT_POWER_Obj.REQ_Power_On_Main_BT_Start();
        m_eTtVer = m_cBT_TT_Obj.Query_TtTestVersion();
    }
}

//---------------------------------------------------------------------------
void __fastcall TfrmBT::FormClose(TObject *Sender, TCloseAction &Action)
{
    // HCI file
    SaveHCIFile();
    AbortConnectWithTarget();
}

//---------------------------------------------------------------------------
void __fastcall TfrmBT::FormDestroy(TObject *Sender)
{
    // free memory
    if( m_pHCILog )
        delete  m_pHCILog;

    if( m_pRFLog )
        delete  m_pRFLog;

    if( m_pPKTLog )
        delete  m_pPKTLog;

    if( m_pSCTLog )
        delete  m_pSCTLog;

    if(  m_pTTLog )
        delete  m_pTTLog;

    if( m_pCTLog )
        delete  m_pCTLog;
        
    DeAllocateVector();


    if( m_bConnectTargetok )
    {
        META_ShutDownTarget_r( m_META_HANDLE_Obj.Get_SecondHandle() );
        META_DisconnectWithTarget_r( m_META_HANDLE_Obj.Get_SecondHandle() );
        m_bConnectTargetok = false;
    }

    if( NULL == m_pT_CWT )
        m_sCWT.iBootStop = BOOT_STOP;
    WaitForSingleObject( m_sCWT.METADLL_Connect_Event, 5000 );

    // release handle
    m_META_HANDLE_Obj.REQ_ReleaseSecondHandle_Start();
}

//===========================================================================
void TfrmBT::DisplayBtRfTestUi(void)
{
    cbRFTxType->Clear();
    AnsiString as_nonedr_pkt_name[] =
    {
        "NULL",
        "POLL",
        "FHS",
        "DM1",
        "DH1",
        "HV1",
        "HV2",
        "HV3",
        "DV",
        "AUX",
        "DM3",
        "DH3",
        "DM5",
        "DH5",
        "EV3",
        "EV4",
        "EV5"
    };

    for (int i=0; i<BT_RF_TX_NONEDR_IDX_COUNT; i++)
    {
        cbRFTxType->Items->Add(as_nonedr_pkt_name[i]);
    }

    if (BTMODULE_MT6611 == m_cBtId)
    {
        AnsiString as_edr_pkt_name[] =
        {
            "2-DH1",
            "2-EV3",
            "2-DH3",
            "2-EV5",
            "2-DH5",
            "3-EV3",
            "3-DH1",
            "3-DH3",
            "3-EV5",
            "3-DH5"
        };

        for (int i=0; i<BT_RF_TX_IDX_COUNT-BT_RF_TX_NONEDR_IDX_COUNT; i++)
        {
            cbRFTxType->Items->Add(as_edr_pkt_name[i]);
        }
    }
    cbRFTxType->ItemIndex = 0;
}

//---------------------------------------------------------------------------
void TfrmBT::DisplayBtPktTestUi(void)
{
    bool b_visible = (BTMODULE_MT6611 == m_cBtId);

    for (int i=BT_PACKET_IDX_2DH1; i<BT_PACKET_IDX_COUNT; i++)
    {
        m_cbPKTType[i]->Visible = b_visible;
        m_edtPKTPollPeriod[i]->Visible = b_visible;
        m_edtPKTPktCount[i]->Visible = b_visible;
        m_edtPKTTesterTXCount[i]->Visible = b_visible;
        m_edtPKTTesterRXCount[i]->Visible = b_visible;
        m_edtPKTDUTTXCount[i]->Visible = b_visible;
        m_edtPKTDUTRXCount[i]->Visible = b_visible;
    }
}

//---------------------------------------------------------------------------
void TfrmBT::DisplayBtThroughputTestUi(void)
{
    bool b_eco_support = (BTMODULE_MT6611 == m_cBtId);
    m_cbTT2DH1->Visible = b_eco_support;
    m_cbTT2DH3->Visible = b_eco_support;
    m_cbTT2DH5->Visible = b_eco_support;
    m_cbTT3DH1->Visible = b_eco_support;
    m_cbTT3DH3->Visible = b_eco_support;
    m_cbTT3DH5->Visible = b_eco_support;

    if (b_eco_support)
    {
        edtTTDataLen->Text = "1021";
    }
    else
    {
        edtTTDataLen->Text = "339";
    }
}

//---------------------------------------------------------------------------
void TfrmBT::DisplayBtConnectionTestUi(void)
{
    bool b_edr_support = (BTMODULE_MT6611 == m_cBtId);
    cbCT2DH1->Visible = b_edr_support;
    cbCT2DH3->Visible = b_edr_support;
    cbCT2DH5->Visible = b_edr_support;
    cbCT3DH1->Visible = b_edr_support;
    cbCT3DH3->Visible = b_edr_support;
    cbCT3DH5->Visible = b_edr_support;

    AnsiString as_SCO_NONEDR_PKT[] =
    {
        "HV1",
        "HV2",
        "HV3",
        "EV3",
        "EV4",
        "EV5"
    };

    cbCTSCOPktType->Clear();
    for (int i=0; i<SCO_PKT_NONEDR_IDX_COUNT; i++)
    {
        cbCTSCOPktType->Items->Add(as_SCO_NONEDR_PKT[i]);
    }

    if (b_edr_support)
    {
        AnsiString as_SCO_EDR_PKT[] =
        {
            "2-EV3",
            "3-EV3",
            "2-EV5",
            "3-EV5"
        };

        for (int i=0; i<SCO_PKT_IDX_COUNT-SCO_PKT_IDX_2EV3; i++)
        {
            cbCTSCOPktType->Items->Add(as_SCO_EDR_PKT[i]);
        }
    }    
    cbCTSCOPktType->ItemIndex = 0;
}
//---------------------------------------------------------------------------
void  TfrmBT::CurrentPageReset( void )
{
    switch (m_pctlToolSel->ActivePageIndex)
    {
        case PAGEIDX_BT_HCI:
        {
            btnHCIStart->Enabled = true;
            btnHCIStart->Tag = 0;
        }
        break;

        case PAGEIDX_BT_RF:
        {
            btnRFTxStart->Enabled = true;
            btnRFTxStart->Tag = 0;
           // btnRFRxStart->Enabled = true;
           // btnRFRxStart->Tag = 0;
            btnRFEnterTestMode->Enabled = true;
            btnRFQueryBdAddr->Enabled = true;
            btnRFChangeLevel->Enabled = false;
        }
        break;

        case PAGEIDX_BT_PKT:
        {
            cbPKTDM1->Enabled = true;
            cbPKTDH1->Enabled = true;
            cbPKTDM3->Enabled = true;
            cbPKTDH3->Enabled = true;
            cbPKTDM5->Enabled = true;

            btnPKTConnectDUT->Enabled = true;
            btnPKTStart->Enabled = true;
            btnPKTStart->Tag = 0;
        }
        break;

        case PAGEIDX_BT_SCT:
        {
            btnSCTStart->Enabled = true;
            btnSCTStart->Tag = 0;
        }
        break;

        case PAGEIDX_BT_TT:
        {
            ReDrawTTFields( DRAM_MASK_TT_BUTTON );

        }
        break;

        case PAGEIDX_BT_CT:
        {
            btnCTLDIRead->Enabled = true;
            btnCTLDIWrite->Enabled = true;
            btnCTEnterPIN->Enabled = true;
           // btnCTConnectSCO->Enabled = true;
          //  btnCTScanStart->Enabled = true;
          //  btnCTScanStart->Tag = 0;
            btnCTInquiryStart->Enabled = true;
            btnCTInquiryStart->Tag = 0;
           // btnCTConnect->Enabled = true;
           // btnCTDisconnect->Enabled = true;
           // btnCTChangeAclPktType->Enabled = true;
            btnCTResetLD->Enabled = true;
            ReDrawCTFields( DRAM_MASK_CT_BUTTON );
        }
        break;


    }

}

//---------------------------------------------------------------------------
void  TfrmBT::CurrentPageLock( void )
{
    switch(m_pctlToolSel->ActivePageIndex)
    {
        case PAGEIDX_BT_HCI:
        {   btnHCIStart->Enabled = false;
            btnHCIStart->Tag = 1;
        }
        break;

        case PAGEIDX_BT_RF:
        {
            btnRFTxStart->Enabled = false;
            btnRFTxStart->Tag = 1;
           // btnRFRxStart->Enabled = false;
           // btnRFRxStart->Tag = 1;
            btnRFEnterTestMode->Enabled = false;
            btnRFQueryBdAddr->Enabled = false;
            if( cbRFTxPowerCtrl->Checked )
            {
                btnRFChangeLevel->Enabled = true;
            }    
        }
        break;

        case PAGEIDX_BT_PKT:
        {
            btnPKTConnectDUT->Enabled = false;
            btnPKTStart->Enabled = false;
            btnPKTStart->Tag = 1;
        }
        break;

        case PAGEIDX_BT_SCT:
        {
            btnSCTStart->Enabled = false;
            btnSCTStart->Tag = 1;
        }
        break;

        case PAGEIDX_BT_TT:
        {
            btnTTScan->Enabled = false;
            btnTTAutoAccept->Enabled = false;
            btnTTConnect->Enabled = false;
            btnTTDisconnect->Enabled = false;
            btnTTChangeACLPacketType->Enabled = false;
            btnTTTxStart->Enabled = false;
            btnTTTxStart->Tag = 1;
            btnTTRxStart->Enabled = false;
            btnTTRxStart->Tag = 1;

        }
        break;

        case PAGEIDX_BT_CT:
        {
            btnCTLDIRead->Enabled = false;
            btnCTLDIWrite->Enabled = false;
            btnCTScan->Enabled = false;
            btnCTAutoAccept->Enabled = false;
            btnCTEnterPIN->Enabled = false;
            btnCTConnectSCO->Enabled = false;
            btnCTDisconnectSCO->Enabled = false;
           // btnCTScanStart->Enabled = false;
           // btnCTScanStart->Tag = 1;
            btnCTInquiryStart->Enabled = false;
            btnCTInquiryStart->Tag = 1;
            btnCTInquiryStart->Enabled = false;
            btnCTConnectACL->Enabled = false;
            btnCTDisconnectACL->Enabled = false;
            btnCTChangeAclPktType->Enabled = false;
            btnCTResetLD->Enabled = false;
        }
        break;
    }
}


//---------------------------------------------------------------------------
bool  TfrmBT::CheckHCIFields( void )
{

    return true;
}

⌨️ 快捷键说明

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