📄 form_bt.cpp
字号:
// 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 + -