📄 form_bt.h
字号:
//---------------------------------------------------------------------------
#ifndef _FORM_BT_H_
#define _FORM_BT_H_
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <ComCtrls.hpp>
#include <Grids.hpp>
#include <Dialogs.hpp>
#include <ExtCtrls.hpp>
#include <Buttons.hpp>
#include <ActnList.hpp>
// general
#ifndef _T_CWT_H_
#include "t_cwt.h"
#endif
// man
#ifndef _MAN_HANDLE_H_
#include "man_handle.h"
#endif
// UART
#ifndef _UART_H_
#include "uart.h"
#endif
// BT
#ifndef _BT_COMMON_H_
#include "bt_common.h"
#endif
#ifndef _BT_HCI_H_
#include "bt_hci.h"
#endif
#ifndef _BT_RF_H_
#include "bt_rf.h"
#endif
#ifndef _BT_PKT_H_
#include "bt_pkt.h"
#endif
#ifndef _BT_SCRIPT_H_
#include "bt_script.h"
#endif
#ifndef _BT_CON_H_
#include "bt_con.h"
#endif
#ifndef _BT_THROUGHPUT_H_
#include "bt_throughput.h"
#endif
#ifndef _BT_STOP_H_
#include "bt_stop.h"
#endif
#ifndef _BT_MT_H_
#include "bt_mt.h"
#endif
// misc
#ifndef _TIME_UTILS_H_
#include "time_utils.h"
#endif
//---------------------------------------------------------------------------
typedef enum
{
DRAM_MASK_HCI_SEND=0x01,
DRAM_MASK_HCI_RECEIVE=0x02
}E_DRAM_MASK_HCI;
typedef enum
{
DRAM_MASK_RF_BD_ADDRESS=0x01,
DRAM_MASK_RF_ACCESS_CODE=0x02,
DRAM_MASK_RF_TX_OTHERS=0x04,
DRAM_MASK_RF_RX=0x08
}E_DRAM_MASK_RF;
typedef enum
{
CHECK_MASK_RF_TX=0,
CHECK_MASK_RF_RX,
}E_CHECK_MASK_RF;
typedef enum
{
DRAM_MASK_PKT_CONFIG=0x01,
DRAM_MASK_PKT_MONITOR=0x02,
DRAM_MASK_PKT_BD_ADDR=0x04
}E_DRAM_MASK_PKT;
typedef enum
{
DRAM_MASK_CT_LOCAL_BDADDR = 0x01,
DRAM_MASK_CT_ACL_BDADDR = 0x02,
DRAM_MASK_CT_SCO_BDADDR = 0x04,
DRAM_MASK_CT_DISCOVERED_LIST = 0x08,
DRAM_MASK_CT_CONNECT_LIST = 0x10,
DRAM_MASK_CT_BUTTON = 0x20,
DRAM_MASK_CT_ACL_STATUS = 0x40,
DRAM_MASK_CT_SCO_STATUS = 0x80,
}
E_DRAM_MASK_CT;
typedef enum
{
CHECK_MASK_PKT=0,
CHECK_MASK_PKT_TCI,
CHECK_MASK_PKT_MONITOR
}E_CHECK_MASK_PKT;
typedef enum
{
PKT_STATE_RUNNING=0,
PKT_STATE_IDLE
}E_PKT_STATE;
typedef struct
{
E_PKT_STATE e_state[BT_PACKET_IDX_COUNT];
bool b_finish[BT_PACKET_IDX_COUNT];
}S_PKT_STATUS;
typedef enum
{
CHECK_MASK_TT_BD_ADDR=0,
CHECK_MASK_TT_TX,
}E_CHECK_MASK_TT;
typedef enum
{
DRAM_MASK_TT_ACL_STATUS = 0x01,
DRAM_MASK_TT_BUTTON = 0x02,
}E_DRAM_MASK_TT;
//---------------------------------------------------------------------------
class TfrmBT : public TForm
{
__published: // IDE-managed Components
TPageControl *m_pctlToolSel;
TTabSheet *tsHCI;
TTabSheet *TabSheet2;
TTabSheet *TabSheet3;
TGroupBox *GroupBox1;
TStaticText *stHCIFile;
TButton *btnHCIFile;
TLabel *lblHCIGroup;
TComboBox *cbHCIGroup;
TLabel *lblHCICommand;
TComboBox *cbHCICommand;
TStringGrid *sgSendHCI;
TRichEdit *memHCIResult;
TSaveDialog *SaveDialog;
TTimer *HintTimer;
TOpenDialog *OpenDialog;
TOpenDialog *dlgOpenHCIFile;
TStatusBar *sbHCI;
TStatusBar *sbRF;
TStatusBar *sbPKT;
TStringGrid *sgReceiveHCI;
TLabel *Label1;
TStaticText *stHCIOpcode;
TLabel *Label2;
TGroupBox *GroupBox2;
TLabel *Label3;
TComboBox *cbRFTxPattern;
TPanel *Panel1;
TRadioButton *rbRFTxSingleFreq;
TRadioButton *rbRFTxFreqHop;
TEdit *edtRFTxSignleFreq;
TPanel *Panel2;
TLabel *Label4;
TLabel *Label5;
TLabel *Label6;
TComboBox *cbRFTxType;
TEdit *edtRFTxDataLen;
TEdit *edtRFTxPollPeriod;
TPanel *Panel3;
TLabel *Label9;
TEdit *edtRFTxAccessCode7;
TLabel *Label10;
TPanel *Panel4;
TCheckBox *cbRFTxPowerCtrl;
TLabel *Label11;
TEdit *edtRFTxLevel;
TGroupBox *GroupBox4;
TLabel *Label13;
TLabel *Label14;
TLabel *Label15;
TLabel *Label16;
TCheckBox *cbPKTDM1;
TEdit *edtPKTDM1DataLen;
TEdit *edtPKTDM1PollPeriod;
TEdit *edtPKTDM1PktCount;
TCheckBox *cbPKTDH1;
TEdit *edtPKTDH1DataLen;
TEdit *edtPKTDH1PollPeriod;
TEdit *edtPKTDM3PktCount;
TCheckBox *cbPKTDM3;
TEdit *edtPKTDM3DataLen;
TEdit *edtPKTDM3PollPeriod;
TEdit *edtPKTDH3PktCount;
TCheckBox *cbPKTDH3;
TEdit *edtPKTDH3DataLen;
TEdit *edtPKTDH3PollPeriod;
TEdit *edtPKTDM5PktCount;
TCheckBox *cbPKTDM5;
TEdit *edtPKTDM5DataLen;
TEdit *edtPKTDM5PollPeriod;
TEdit *edtPKTDH5PktCount;
TCheckBox *cbPKTDH5;
TEdit *edtPKTDH5DataLen;
TEdit *edtPKTDH5PollPeriod;
TCheckBox *cbPKTHV1;
TCheckBox *cbPKTHV2;
TCheckBox *cbPKTHV3;
TCheckBox *cbPKTEV3;
TCheckBox *cbPKTEV4;
TCheckBox *cbPKTEV5;
TEdit *edtPKTHV1PktCount;
TEdit *edtPKTHV1PollPeriod;
TEdit *edtPKTHV2PktCount;
TEdit *edtPKTHV2PollPeriod;
TEdit *edtPKTHV3PktCount;
TEdit *edtPKTHV3PollPeriod;
TEdit *edtPKTEV3PktCount;
TEdit *edtPKTEV3PollPeriod;
TEdit *edtPKTEV4PktCount;
TEdit *edtPKTEV4PollPeriod;
TEdit *edtPKTEV5PollPeriod;
TEdit *edtPKTDH1PktCount;
TEdit *edtPKTEV5PktCount;
TGroupBox *GroupBox5;
TLabel *Label18;
TLabel *Label19;
TEdit *edtPKTTesterDM1TXCount;
TEdit *edtPKTTesterDM1RXCount;
TEdit *edtPKTTesterDH1TXCount;
TEdit *edtPKTTesterDH1RXCount;
TEdit *edtPKTTesterDM3TXCount;
TEdit *edtPKTTesterDM3RXCount;
TEdit *edtPKTTesterDH3TXCount;
TEdit *edtPKTTesterDH3RXCount;
TEdit *edtPKTTesterDM5TXCount;
TEdit *edtPKTTesterDM5RXCount;
TEdit *edtPKTTesterDH5TXCount;
TEdit *edtPKTTesterDH5RXCount;
TEdit *edtPKTTesterHV1TXCount;
TEdit *edtPKTTesterHV1RXCount;
TEdit *edtPKTTesterHV2TXCount;
TEdit *edtPKTTesterHV2RXCount;
TEdit *edtPKTTesterHV3TXCount;
TEdit *edtPKTTesterHV3RXCount;
TEdit *edtPKTTesterEV3TXCount;
TEdit *edtPKTTesterEV3RXCount;
TEdit *edtPKTTesterEV4TXCount;
TEdit *edtPKTTesterEV4RXCount;
TEdit *edtPKTTesterEV5TXCount;
TEdit *edtPKTTesterEV5RXCount;
TEdit *edtRFTxAccessCode6;
TEdit *edtRFTxAccessCode5;
TEdit *edtRFTxAccessCode4;
TEdit *edtRFTxAccessCode3;
TEdit *edtRFTxAccessCode2;
TEdit *edtRFTxAccessCode1;
TEdit *edtRFTxAccessCode0;
TStaticText *lblHint;
TCheckBox *cbRFTxWhiten;
TLabel *Label12;
TStaticText *stPKTTesterBDAddr;
TStaticText *stPKTDUTBDAddr;
TLabel *Label21;
TGroupBox *GroupBox6;
TLabel *Label17;
TLabel *Label22;
TEdit *edtPKTDUTDM1TXCount;
TEdit *edtPKTDUTDH1TXCount;
TEdit *edtPKTDUTDM3TXCount;
TEdit *edtPKTDUTDH3TXCount;
TEdit *edtPKTDUTDM5TXCount;
TEdit *edtPKTDUTDH5TXCount;
TEdit *edtPKTDUTHV1TXCount;
TEdit *edtPKTDUTHV2TXCount;
TEdit *edtPKTDUTHV3TXCount;
TEdit *edtPKTDUTEV3TXCount;
TEdit *edtPKTDUTEV4TXCount;
TEdit *edtPKTDUTEV5TXCount;
TEdit *edtPKTDUTDM1RXCount;
TEdit *edtPKTDUTDH1RXCount;
TEdit *edtPKTDUTDM3RXCount;
TEdit *edtPKTDUTDH3RXCount;
TEdit *edtPKTDUTDH5RXCount;
TEdit *edtPKTDUTHV1RXCount;
TEdit *edtPKTDUTHV2RXCount;
TEdit *edtPKTDUTHV3RXCount;
TEdit *edtPKTDUTEV3RXCount;
TEdit *edtPKTDUTEV4RXCount;
TEdit *edtPKTDUTEV5RXCount;
TEdit *edtPKTDUTDM5RXCount;
TLabel *Label23;
TComboBox *cbHCICategory;
TGroupBox *GroupBox7;
TRadioButton *rbHCICategory;
TRadioButton *rbHCIGroup;
TLabel *Label24;
TLabel *Label25;
TStaticText *stHCILastEvent;
TRichEdit *memRFResult;
TTimer *glbTimer;
TGroupBox *GroupBox8;
TLabel *Label26;
TComboBox *cbPKTCOM;
TComboBox *cbPKTBaudRate;
TLabel *Label20;
TShape *shpPKTConnect;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -