form_WiFI.h
上传用户:gelin96
上传日期:2017-01-08
资源大小:20993k
文件大小:28k
源码类别:

MTK

开发平台:

C++ Builder

  1. //---------------------------------------------------------------------------
  2. #ifndef _FORM_WiFI_H_
  3. #define _FORM_WiFI_H_
  4. //---------------------------------------------------------------------------
  5. #include <Classes.hpp>
  6. #include <Controls.hpp>
  7. #include <StdCtrls.hpp>
  8. #include <Forms.hpp>
  9. #include <ComCtrls.hpp>
  10. #include <Buttons.hpp>
  11. #include <ExtCtrls.hpp>
  12. #include <Dialogs.hpp>
  13. #include <Menus.hpp>
  14. #include <ActnList.hpp>
  15. #ifndef  _WIFI_GNRL_H_
  16. #include "wifi_gnrl.h"
  17. #endif
  18. #ifndef  _WIFI_CPTX_H_
  19. #include "wifi_cptx.h"
  20. #endif
  21. #ifndef  _WIFI_CPRX_H_
  22. #include "wifi_cprx.h"
  23. #endif
  24. #ifndef  _WIFI_TXOP_H_
  25. #include "wifi_txop.h"
  26. #endif
  27. #ifndef  _WIFI_TXCS_H_
  28. #include "wifi_txcs.h"
  29. #endif
  30. #ifndef  _WIFI_LF_H_
  31. #include "wifi_lf.h"
  32. #endif
  33. #ifndef  _WIFI_TXDC_H_
  34. #include "wifi_txdc.h"
  35. #endif
  36. #ifndef  _WIFI_PS_H_
  37. #include "wifi_ps.h"
  38. #endif
  39. #ifndef  _WIFI_BB_H_
  40. #include "wifi_bb.h"
  41. #endif
  42. #ifndef  _WIFI_MAC_H_
  43. #include "wifi_mac.h"
  44. #endif
  45. #ifndef  _WIFI_EE_H_
  46. #include "wifi_ee.h"
  47. #endif
  48. #ifndef  _WIFI_APC_2400M_H_
  49. #include "wifi_apc_2400m.h"
  50. #endif
  51. #ifndef  _WIFI_ALC_H_
  52. #include "wifi_alc.h"
  53. #endif
  54. #ifndef  _WIFI_SC_H_
  55. #include "wifi_sc.h"
  56. #endif
  57. #ifndef  _WIFI_STOP_H_
  58. #include "wifi_stop.h"
  59. #endif
  60. //---------------------------------------------------------------------------
  61. typedef enum
  62. {
  63.     ACCESS_SINGLE = 0,
  64.     ACCESS_DUMP,
  65.     ACCESS_TX_POWER,
  66.     ACCESS_TX_DC_OFFSET
  67. } E_ACCESS_TYPE;
  68. typedef enum
  69. {
  70.     OP_READ = 0,
  71.     OP_WRITE
  72. } E_OPERATION_TYPE;
  73. //---------------------------------------------------------------------------
  74. class TfrmWiFi : public TForm
  75. {
  76. __published: // IDE-managed Components
  77.         TPageControl *pctlToolSel;
  78.         TTabSheet *tsTX;
  79.         TTabSheet *tsCPR;
  80.         TGroupBox *gbCPTInput;
  81.         TBitBtn *btnTXStart;
  82.         TBitBtn *btnTXStop;
  83.         TStatusBar *sbTX;
  84.         TGroupBox *gbCPRInput;
  85.         TLabel *lblCPRChannelID;
  86.         TComboBox *cbCPRChannelID;
  87.         TGroupBox *gbCPRRxPacketStatistics;
  88.         TGroupBox *gbCPRRxCounter;
  89.         TLabel *lblCPRED;
  90.         TStaticText *stCPRED;
  91.         TLabel *lblCPROSD;
  92.         TStaticText *stCPROSD;
  93.         TLabel *lblCPRSQ1;
  94.         TStaticText *stCPRSQ1;
  95.         TLabel *lblCPRSFD;
  96.         TStaticText *stCPRSFD;
  97.         TLabel *lblCPRCRC16;
  98.         TStaticText *stCPRCRC16;
  99.         TStatusBar *sbCPR;
  100.         TButton *btnCPRReset;
  101.         TBitBtn *btnCPRStop;
  102.         TBitBtn *btnCPRStart;
  103.         TTabSheet *tsPS;
  104.         TGroupBox *gbPSInput;
  105.         TTabSheet *tsBB;
  106.         TStatusBar *sbPS;
  107.         TStatusBar *sbBB;
  108.         TTabSheet *tsMAC;
  109.         TStatusBar *sbMAC;
  110.         TStaticText *lbl;
  111.         TTimer *HintTimer;
  112.         TButton *btnTXUploadFromFlash;
  113.         TButton *btnTXDownloadToFlash;
  114.         TButton *btnTXLoadFromFile;
  115.         TButton *btnTXSaveToFile;
  116.         TOpenDialog *OpenDialog;
  117.         TSaveDialog *SaveDialog;
  118.         TTimer *TimerWiFi;
  119.         TRichEdit *memBBResult;
  120.         TTabSheet *tsEE;
  121.         TStatusBar *sbEE;
  122.         TButton *btnTXTxChannelPower;
  123.         TRichEdit *memMACResult;
  124.         TRichEdit *memEEResult;
  125.         TLabel *Label1;
  126.         TComboBox *cbPSPowerMode;
  127.         TBitBtn *btnPSStart;
  128.         TBitBtn *btnPSStop;
  129.         TButton *btnCPRQueryRxCounter;
  130.         TPanel *Panel1;
  131.         TGroupBox *gbBBInput;
  132.         TLabel *lblBBCRIndex;
  133.         TLabel *lblBBCRData0X;
  134.         TEdit *edtBBCRIndex;
  135.         TEdit *edtBBCRData;
  136.         TButton *btnBBRead;
  137.         TButton *btnBBWrite;
  138.         TButton *btnBBCRData;
  139.         TButton *btnBBDumpBBReg;
  140.         TPanel *Panel2;
  141.         TGroupBox *gbMACInput;
  142.         TLabel *lblMACMCRAddress;
  143.         TLabel *lblMACMCRAddress0X;
  144.         TLabel *lblMACMCRData0X;
  145.         TEdit *edtMACMCRAddress;
  146.         TEdit *edtMACMCRData;
  147.         TButton *btnMACRead;
  148.         TButton *btnMACWrite;
  149.         TButton *btnMACMCRData;
  150.         TButton *btnMACDumpAllMacReg;
  151.         TPanel *Panel3;
  152.         TGroupBox *GroupBox5;
  153.         TLabel *lblEEIndex;
  154.         TLabel *lblEEIndex0X;
  155.         TLabel *lblEEData0X;
  156.         TEdit *edtEEIndex;
  157.         TButton *btnEEData;
  158.         TEdit *edtEEData;
  159.         TButton *btnEERead;
  160.         TButton *btnEEWrite;
  161.         TButton *btnEE;
  162.         TPopupMenu *pmWiFi;
  163.         TMenuItem *miCopy;
  164.         TButton *btnBBStop;
  165.         TButton *btnEEStop;
  166.         TLabel *lblCPRRxAntenna;
  167.         TComboBox *cbCPRRxAntenna;
  168.         TGroupBox *gbTXType;
  169.         TRadioButton *rbCPT;
  170.         TRadioButton *rbTXOP;
  171.         TRadioButton *rbTXCS;
  172.         TRadioButton *rbTXLF;
  173.         TPanel *Panel4;
  174.         TLabel *lblCPRRxRate;
  175.         TLabel *lblCPRSum;
  176.         TLabel *lblCPRGood;
  177.         TLabel *lblCPRBad;
  178.         TLabel *lblCPRFerRate;
  179.         TStaticText *stCPR1MSum;
  180.         TStaticText *stCPR1MGood;
  181.         TStaticText *stCPR1MBad;
  182.         TStaticText *stCPR1MFer;
  183.         TStaticText *stCPR2MSum;
  184.         TStaticText *stCPR2MGood;
  185.         TStaticText *stCPR2MBad;
  186.         TStaticText *stCPR2MFer;
  187.         TStaticText *stCPR5_5MSum;
  188.         TStaticText *stCPR5_5MGood;
  189.         TStaticText *stCPR5_5MBad;
  190.         TStaticText *stCPR5_5MFer;
  191.         TStaticText *stCPR11MSum;
  192.         TStaticText *stCPR11MGood;
  193.         TStaticText *stCPR11MBad;
  194.         TStaticText *stCPR11MFer;
  195.         TStaticText *stCPR6MSum;
  196.         TStaticText *stCPR6MGood;
  197.         TStaticText *stCPR6MBad;
  198.         TStaticText *stCPR6MFer;
  199.         TStaticText *stCPR9MSum;
  200.         TStaticText *stCPR9MGood;
  201.         TStaticText *stCPR9MBad;
  202.         TStaticText *stCPR9MFer;
  203.         TStaticText *stCPR12MSum;
  204.         TStaticText *stCPR12MGood;
  205.         TStaticText *stCPR12MBad;
  206.         TStaticText *stCPR12MFer;
  207.         TStaticText *stCPR18MSum;
  208.         TStaticText *stCPR18MGood;
  209.         TStaticText *stCPR18MBad;
  210.         TStaticText *stCPR18MFer;
  211.         TStaticText *stCPR24MSum;
  212.         TStaticText *stCPR24MGood;
  213.         TStaticText *stCPR24MBad;
  214.         TStaticText *stCPR24MFer;
  215.         TStaticText *stCPR36MSum;
  216.         TStaticText *stCPR36MGood;
  217.         TStaticText *stCPR36MBad;
  218.         TStaticText *stCPR36MFer;
  219.         TStaticText *stCPR48MSum;
  220.         TStaticText *stCPR48MGood;
  221.         TStaticText *stCPR48MBad;
  222.         TStaticText *stCPR48MFer;
  223.         TStaticText *stCPR54MSum;
  224.         TStaticText *stCPR54MGood;
  225.         TStaticText *stCPR54MBad;
  226.         TStaticText *stCPR54MFer;
  227.         TPanel *Panel5;
  228.         TLabel *lblCPRTotal;
  229.         TStaticText *stCPRTotal;
  230.         TLabel *lblCPRSuccess;
  231.         TStaticText *stCPRSuccess;
  232.         TLabel *lblCPRFER;
  233.         TStaticText *stCPRFER;
  234.         TLabel *lblCPRCRCErr;
  235.         TStaticText *stCPRCRCErr;
  236.         TLabel *lblCPRint_rx_ok_num;
  237.         TStaticText *stCPRint_rx_ok_num;
  238.         TLabel *lblCPRint_crc_err_num;
  239.         TStaticText *stCPRint_crc_err_num;
  240.         TLabel *lblCPRpau_rx_ok_count;
  241.         TStaticText *stCPRpau_rx_ok_count;
  242.         TLabel *lblCPRpau_crc_err_count;
  243.         TStaticText *stCPRpau_crc_err_count;
  244.         TLabel *lblCPRpau_cca_count;
  245.         TStaticText *stCPRpau_cca_count;
  246.         TStaticText *stCPR1M;
  247.         TStaticText *stCPR2M;
  248.         TStaticText *stCPR5_5M;
  249.         TStaticText *stCPR11M;
  250.         TStaticText *stCPR6M;
  251.         TStaticText *stCPR9M;
  252.         TStaticText *stCPR12M;
  253.         TStaticText *stCPR18M;
  254.         TStaticText *stCPR24M;
  255.         TStaticText *stCPR36M;
  256.         TStaticText *stCPR48M;
  257.         TStaticText *stCPR54M;
  258.         TPanel *Panel6;
  259.         TLabel *lblCPRMin;
  260.         TLabel *lblCPRMax;
  261.         TLabel *lblCPRMean;
  262.         TLabel *lblCPRVariance;
  263.         TStaticText *stCPRMin;
  264.         TStaticText *stCPRMax;
  265.         TStaticText *stCPRMean;
  266.         TStaticText *stCPRVariance;
  267.         TStaticText *stCPRRssi;
  268.         TPanel *Panel7;
  269.         TStaticText *stCPRPreamble;
  270.         TLabel *lblCPRLong;
  271.         TStaticText *stCPRLong;
  272.         TLabel *lblCPRShort;
  273.         TStaticText *stCPRShort;
  274.         TPanel *pnlCPT;
  275.         TLabel *lblTXPacketLength;
  276.         TEdit *edtTXPacketLength;
  277.         TLabel *lblTXPacketCount;
  278.         TLabel *lblTXPacketInterval;
  279.         TEdit *edtTXPacketInterval;
  280.         TLabel *lblTXBitPattern;
  281.         TComboBox *cbTXBitPattern;
  282.         TLabel *lblTXPreamble;
  283.         TComboBox *cbTXPreamble;
  284.         TLabel *lblTXPacketSent;
  285.         TStaticText *stTXPacketSent;
  286.         TLabel *lblTXAckCount;
  287.         TStaticText *stTXAckCount;
  288.         TStaticText *StaticText1;
  289.         TPanel *Panel8;
  290.         TStaticText *StaticText2;
  291.         TButton *btnTXCalTxDC;
  292.         TEdit *edtTXIDC;
  293.         TEdit *edtTXQDC;
  294.         TPanel *Panel9;
  295.         TLabel *lblTXChannelID;
  296.         TComboBox *cbTXChannelID;
  297.         TLabel *lblTXTxFilter;
  298.         TComboBox *cbTXTxFilter;
  299.         TLabel *lblTXTxRate;
  300.         TComboBox *cbTXTxRate;
  301.         TButton *btnTXTxPowerDac;
  302.         TEdit *edtTXTxPowerDAC;
  303.         TLabel *lblTXTxPowerDac0X;
  304.         TStaticText *StaticText3;
  305.         TPanel *Panel10;
  306.         TLabel *lblTXFrameCtrl0x;
  307.         TStaticText *StaticText4;
  308.         TEdit *edtTXFramCtrl1;
  309.         TEdit *edtTXFramCtrl0;
  310.         TEdit *edtTXAddress13;
  311.         TLabel *lblTXFrameCtrl;
  312.         TEdit *edtTXAddress15;
  313.         TEdit *edtTXAddress14;
  314.         TEdit *edtTXAddress12;
  315.         TEdit *edtTXAddress11;
  316.         TEdit *edtTXAddress10;
  317.         TLabel *lblTXAddress1;
  318.         TEdit *edtTXAddress25;
  319.         TEdit *edtTXAddress24;
  320.         TEdit *edtTXAddress23;
  321.         TEdit *edtTXAddress22;
  322.         TEdit *edtTXAddress21;
  323.         TEdit *edtTXAddress20;
  324.         TLabel *lblTXAddress2;
  325.         TLabel *lblTXAddress3;
  326.         TEdit *edtTXAddress35;
  327.         TEdit *edtTXAddress34;
  328.         TEdit *edtTXAddress33;
  329.         TEdit *edtTXAddress32;
  330.         TEdit *edtTXAddress31;
  331.         TEdit *edtTXAddress30;
  332.         TLabel *lblTXSeqCtrl;
  333.         TEdit *edtTXSeqCtrl1;
  334.         TEdit *edtTXSeqCtrl0;
  335.         TLabel *lblTXDuration;
  336.         TEdit *edtTXDuration1;
  337.         TEdit *edtTXDuration0;
  338.         TLabel *lblTXIDC0x;
  339.         TLabel *lblTXQDC0x;
  340.         TButton *btnTXIDC;
  341.         TButton *btnTXQDC;
  342.         TButton *btnMACRegSetting;
  343.         TButton *btnBBRegSetting;
  344.         TTabSheet *tsSC;
  345.         TGroupBox *GroupBox1;
  346.         TBitBtn *btnSCScriptFile;
  347.         TStaticText *stSCScriptFile;
  348.         TBitBtn *btnSCStart;
  349.         TBitBtn *btnSCStop;
  350.         TMemo *memSCResult;
  351.         TStatusBar *stSC;
  352.         TOpenDialog *dlgOpenScriptFile;
  353.         TStaticText *stCPRpau_rx_fifo_full_count;
  354.         TLabel *lblCPRpau_rx_fifo_full_count;
  355.         TEdit *edtTXPacketCount;
  356.         TButton *btnTXChangeDB;
  357.         TButton *btnEEPROMSetting;
  358.         TLabel *Label2;
  359.         TEdit *edtMACBeginMCRAddr;
  360.         TLabel *Label3;
  361.         TLabel *lblMACEndMCRAddr;
  362.         TEdit *edtMACEndMCRAddr;
  363.         TLabel *Label5;
  364.         TLabel *Label4;
  365.         TEdit *edtBBBeginCRIndex;
  366.         TEdit *edtBBEndCRIndex;
  367.         TLabel *Label7;
  368.         TLabel *Label9;
  369.         TEdit *edtEEBeginIndex;
  370.         TLabel *Label10;
  371.         TEdit *edtEEEndIndex;
  372.         TLabel *Label11;
  373.         TLabel *Label12;
  374.         TStaticText *lblHint;
  375.         TGroupBox *GroupBox3;
  376.         TRadioButton *rbEEByte;
  377.         TRadioButton *rbEEWord;
  378.         TButton *btnLoadTxPowerFromEE;
  379.         TActionList *actList;
  380.         TAction *ToggleHide;
  381.         TButton *m_btnTxAlc;
  382.         TCheckBox *m_cbTXTargetGain;
  383.         TCheckBox *m_cbTXAlcTracking;
  384.         TCheckBox *m_cbTargetAlc;
  385.         TLabel *m_lblAverageALC;
  386.         TStaticText *m_stAverageALC;
  387.         TStaticText *m_stTXCCKGainControl;
  388.         TLabel *m_lblTXCCKGainControl;
  389.         TStaticText *m_stTXOFDMGainControl;
  390.         TLabel *m_lblTXOFDMGainControl;
  391.         TEdit *m_edtTXTargetAlc;
  392.         TLabel *m_lblTXTargetAlc;
  393.         TGroupBox *GroupBox2;
  394.         TRadioButton *rbMAC16bits;
  395.         TRadioButton *rbMAC32bits;
  396.         TButton *btnMACStop;
  397.         void __fastcall btnTXStartClick(TObject *Sender);
  398.        // void __fastcall pctlToolSelChange(TObject *Sender);
  399.         void __fastcall edtCPTPacketCountCheck(TObject *Sender);
  400.         void __fastcall edtCPTPacketLengthCheck(TObject *Sender);
  401.         void __fastcall cbTXTxFilterChange(TObject *Sender);
  402.         void __fastcall cbTXTxRateChange(TObject *Sender);
  403.         void __fastcall edtCPTTxPowerDACCheck(TObject *Sender);
  404.         void __fastcall cbCPTRxAntennaChange(TObject *Sender);
  405.         void __fastcall cbTXChannelIDChange(TObject *Sender);
  406.         void __fastcall btnTXStopClick(TObject *Sender);
  407.         void __fastcall cbCPRChannelIDChange(TObject *Sender);
  408.         void __fastcall cbCPRRxAntennaChange(TObject *Sender);
  409.         void __fastcall btnCPRResetClick(TObject *Sender);
  410.         void __fastcall btnCPRStartClick(TObject *Sender);
  411.         void __fastcall btnCPRStopClick(TObject *Sender);
  412.         void __fastcall cbTXOPChannelIDChange(TObject *Sender);
  413.         void __fastcall cbTXOPTXFilterChange(TObject *Sender);
  414.         void __fastcall cbTXOPTXRateChange(TObject *Sender);
  415.         void __fastcall btnTXOPStopClick(TObject *Sender);
  416.         void __fastcall cbTXCSChannelIDChange(TObject *Sender);
  417.         void __fastcall cbTXCSTXFilterChange(TObject *Sender);
  418.         void __fastcall btnTXCSStopClick(TObject *Sender);
  419.         void __fastcall cbLFChannelIDChange(TObject *Sender);
  420.         void __fastcall cbLFTXFilterChange(TObject *Sender);
  421.         void __fastcall btnLFStopClick(TObject *Sender);
  422.         void __fastcall btnPSStandbyClick(TObject *Sender);
  423.         void __fastcall btnPSSleepClick(TObject *Sender);
  424.         void __fastcall edtBBCRIndexCheck(TObject *Sender);
  425.         void __fastcall edtBBCRDataCheck(TObject *Sender);
  426.         void __fastcall btnBBReadClick(TObject *Sender);
  427.         void __fastcall edtMACMCRAddressCheck(TObject *Sender);
  428.         void __fastcall edtMACMCRDataCheck(TObject *Sender);
  429.         void __fastcall btnMACReadClick(TObject *Sender);
  430.         void __fastcall btnMACWriteClick(TObject *Sender);
  431.         void __fastcall FormShow(TObject *Sender);
  432.         void __fastcall pctlToolSelChange(TObject *Sender);
  433.         void __fastcall HintTimerTimer(TObject *Sender);
  434.         void __fastcall edtCPTPacketIntervalCheck(TObject *Sender);
  435.         void __fastcall btnTXUploadFromFlashClick(TObject *Sender);
  436.         void __fastcall btnTXDownloadToFlashClick(TObject *Sender);
  437.         void __fastcall btnTXChangeDBClick(TObject *Sender);
  438.         void __fastcall btnTXLoadFromFileClick(TObject *Sender);
  439.         void __fastcall btnTXSaveToFileClick(TObject *Sender);
  440.         void __fastcall TimerWiFiTimer(TObject *Sender);
  441.         void __fastcall btnBBWriteClick(TObject *Sender);
  442.         void __fastcall btnBBDumpBBRegClick(TObject *Sender);
  443.         void __fastcall btnBBCRDataClick(TObject *Sender);
  444.         void __fastcall FormCreate(TObject *Sender);
  445.         void __fastcall btnMACMCRDataClick(TObject *Sender);
  446.         void __fastcall btnEEDataClick(TObject *Sender);
  447.         void __fastcall btnEEReadClick(TObject *Sender);
  448.         void __fastcall btnEEWriteClick(TObject *Sender);
  449.         void __fastcall edtEEIndexCheck(TObject *Sender);
  450.         void __fastcall edtEEDataCheck(TObject *Sender);
  451.         void __fastcall btnTXTxChannelPowerClick(TObject *Sender);
  452.         void __fastcall btnTXOPUploadFromFlashClick(TObject *Sender);
  453.         void __fastcall btnTXOPDownloadToFlashClick(TObject *Sender);
  454.         void __fastcall btnTXOPChangeDBClick(TObject *Sender);
  455.         void __fastcall btnTXOPLoadFromFileClick(TObject *Sender);
  456.         void __fastcall btnTXOPSaveToFileClick(TObject *Sender);
  457.         void __fastcall rbTXOPMaxClick(TObject *Sender);
  458.         void __fastcall rbTXOP0dBmClick(TObject *Sender);
  459.         void __fastcall rbTXOP5dBmClick(TObject *Sender);
  460.         void __fastcall rbTXOP10dBmClick(TObject *Sender);
  461.         void __fastcall btnMACDumpAllMacRegClick(TObject *Sender);
  462.         void __fastcall btnEEClick(TObject *Sender);
  463.         void __fastcall btnPSStartClick(TObject *Sender);
  464.         void __fastcall btnPSStopClick(TObject *Sender);
  465.         void __fastcall btnCPRQueryRxCounterClick(TObject *Sender);
  466.         void __fastcall btnTXTxPowerDacClick(TObject *Sender);
  467.         void __fastcall btnTXOPTxPowerDacClick(TObject *Sender);
  468.         void __fastcall btnTXCSTxPowerDacClick(TObject *Sender);
  469.         void __fastcall btnLFTxPowerDacClick(TObject *Sender);
  470.         void __fastcall edtTXOPTxPowerDACCheck(TObject *Sender);
  471.         void __fastcall edtTXCSTxPowerDACCheck(TObject *Sender);
  472.         void __fastcall edtLFTxPowerDACCheck(TObject *Sender);
  473.         void __fastcall miCopyClick(TObject *Sender);
  474.         void __fastcall btnBBStopClick(TObject *Sender);
  475.         void __fastcall btnMACStopClick(TObject *Sender);
  476.         void __fastcall btnEEStopClick(TObject *Sender);
  477.         void __fastcall rbTXOPClick(TObject *Sender);
  478.         void __fastcall rbTXCSClick(TObject *Sender);
  479.         void __fastcall rbTXLFClick(TObject *Sender);
  480.         void __fastcall rbCPTClick(TObject *Sender);
  481.         void __fastcall btnTXCalTxDCClick(TObject *Sender);
  482.         void __fastcall edtTXFramCtrlCheck(TObject *Sender);
  483.         void __fastcall edtTXAddress1Check(TObject *Sender);
  484.         void __fastcall edtTXAddress2Check(TObject *Sender);
  485.         void __fastcall edtTXAddress3Check(TObject *Sender);
  486.         void __fastcall edtTXSeqCtrlCheck(TObject *Sender);
  487.         void __fastcall edtTXIDcOffsetCheck(TObject *Sender);
  488.         void __fastcall edtTXQDCOffsetCheck(TObject *Sender);
  489.         void __fastcall edtTXDurationCheck(TObject *Sender);
  490.         void __fastcall btnTXIDCClick(TObject *Sender);
  491.         void __fastcall btnTXQDCClick(TObject *Sender);
  492.         void __fastcall btnTXDCUploadFromFlashClick(TObject *Sender);
  493.         void __fastcall btnTXDCDownloadToFlashClick(TObject *Sender);
  494.         void __fastcall btnBBRegSettingClick(TObject *Sender);
  495.         void __fastcall btnMACRegSettingClick(TObject *Sender);
  496.         void __fastcall btnSCStartClick(TObject *Sender);
  497.         void __fastcall btnSCScriptFileClick(TObject *Sender);
  498.         void __fastcall btnSCStopClick(TObject *Sender);
  499.         void __fastcall FormDestroy(TObject *Sender);
  500.         void __fastcall btnEEPROMSettingClick(TObject *Sender);
  501.         void __fastcall edtBBBeginCRIndexCheck(TObject *Sender);
  502.         void __fastcall edtBBEndCRIndexCheck(TObject *Sender);
  503.         void __fastcall edtMACBeginMCRAddrCheck(TObject *Sender);
  504.         void __fastcall edtMACEndMCRAddrCheck(TObject *Sender);
  505.         void __fastcall edtBeginEEIndexCheck(TObject *Sender);
  506.         void __fastcall edtEndEEIndexCheck(TObject *Sender);
  507.         void __fastcall rbMAC32bitsClick(TObject *Sender);
  508.         void __fastcall rbMAC16bitsClick(TObject *Sender);
  509.         void __fastcall btnLoadTxPowerFromEEClick(TObject *Sender);
  510.         void __fastcall btnTXLoadTxDcOffsetFromEEClick(TObject *Sender);
  511.         void __fastcall rbEEByteClick(TObject *Sender);
  512.         void __fastcall rbEEWordClick(TObject *Sender);
  513.         void __fastcall ToggleHideExecute(TObject *Sender);
  514.         void __fastcall m_btnTxAlcClick(TObject *Sender);
  515.         void __fastcall FormActivate(TObject *Sender);
  516. private: // User declarations
  517.         // common
  518.         bool  m_bInit;
  519.         int   m_final_WiFiId;
  520.         WiFi_ChipCapability_S m_sWiFiCap;
  521.         WiFi_ChannelList_S  m_sChannelList;
  522.         int   m_iTestPageIndex;
  523.         int   m_iLastPageIndex;
  524.         // WiFi Object
  525.         CWIFIGNRL  m_WIFI_GNRL_Obj;
  526.         CWIFICPT   m_WIFI_CPT_Obj;
  527.         CWIFIALC   m_cWIFI_ALC_Obj;
  528.         CWIFICPRX  m_WIFI_CPRX_Obj;
  529.         CWIFITXOP  m_WIFI_TXOP_Obj;
  530.         CWIFITXCS  m_WIFI_TXCS_Obj;
  531.         CWIFILF    m_WIFI_LF_Obj;
  532.         CWIFITXDC  m_WIFI_TXDC_Obj;
  533.         CWIFIPS    m_WIFI_PS_Obj;
  534.         CWIFIBB    m_WIFI_BB_Obj;
  535.         CWIFIMAC   m_WIFI_MAC_Obj;
  536.         CWIFIEE   m_WIFI_EE_Obj;
  537.         CWIFIAPC   m_WIFI_APC_Obj;
  538.         CWIFISC    m_WIFI_SC_Obj;
  539.         CWIFISTOP  m_WIFI_STOP_Obj;
  540.         // first form show flag
  541.         //bool       m_bInit;
  542.         bool       m_bFirstCPTXShow;
  543.         bool       m_bFirstCPRXShow;
  544.         bool       m_bFirstTXOPShow;
  545.         bool       m_bFirstTXCSShow;
  546.         bool       m_bFirstLFShow;
  547.         bool       m_bFirstCSShow;
  548.         bool       m_bFirstBBShow;
  549.         bool       m_bFirstMACShow;
  550.         // CPTX
  551.         S_WIFICPT  m_sWiFiCPT;
  552.         WiFi_TxPower_2400M_S  m_sTxPwr2400M;
  553.         WiFi_TxPower_5000M_S  m_sTxPwr5000M;
  554.         WiFi_DAC_DC_Offset_S  m_sTxDcOffset;
  555.         TEdit *edtTXFramCtrl[WIFI_MAC_HEAD_FRAME_CTRL_LEN];
  556.         TEdit *edtTXDuration[WIFI_MAC_HEAD_DURATION_LEN];
  557.         TEdit *edtTXAddress1[WIFI_MAC_HEAD_ADDRESS_LEN];
  558.         TEdit *edtTXAddress2[WIFI_MAC_HEAD_ADDRESS_LEN];
  559.         TEdit *edtTXAddress3[WIFI_MAC_HEAD_ADDRESS_LEN];
  560.         TEdit *edtTXSeqCtrl[WIFI_MAC_HEAD_SEQ_CTRL_LEN];
  561.         // CPRX
  562.         WiFi_RxStatus_S  m_sOriRxStatus;
  563.         TStaticText *stCPRSum[WIFI_TEST_RATE_COUNT];
  564.         TStaticText *stCPRGood[WIFI_TEST_RATE_COUNT];
  565.         TStaticText *stCPRBad[WIFI_TEST_RATE_COUNT];
  566.         TStaticText *stCPRFer[WIFI_TEST_RATE_COUNT];
  567.         // TXOP
  568.         //WiFi_RegDomain_S sRegDomain;
  569.         // BB
  570.         unsigned int    m_uiBBCount;
  571.         unsigned int    m_uiBBIdx;
  572.         unsigned char   m_ucBBValue;
  573.         unsigned int    m_uiBBBeginIdx;
  574.         unsigned int    m_uiBBEndIdx;
  575.         S_WiFi_BBCR     m_sBBCR;
  576.         vector<WiFi_BBReg8_S> *m_pvBBCRDisp;
  577.         // MAC
  578.         unsigned int    m_uiMACCount;
  579.         unsigned int    m_uiMacAddr;
  580.         unsigned int    m_uiMacBeginAddr;
  581.         unsigned int    m_uiMacEndAddr;
  582.         unsigned int    m_uiMacData;
  583.         unsigned short  m_usMac16Data;
  584.         S_WiFi_MCR      m_sMCR;
  585.         S_WiFi_MCR16    m_sMCR16;
  586.         vector<WiFi_MACReg16_S> *m_pvMCR16Disp;
  587.         vector<WiFi_MACReg32_S> *m_pvMCRDisp;
  588.         // eeprom
  589.         unsigned int    m_uiEEPROMCount;
  590.         unsigned int m_uiEEPROMIdx;
  591.         unsigned int m_uiEEPROMBeginIdx;
  592.         unsigned int m_uiEEPROMEndIdx;
  593.         unsigned short m_usEEPROMData;
  594.         S_WIFI_EEPROM   m_sEE;
  595.         vector<WiFi_EEPROM_S> *m_pvEEDisp;
  596.         //unsigned int    m_uiDispEEPROMCount;
  597.         // script test
  598.         TStringList *m_pSCLog;
  599.         // ALC
  600.         bool m_bAlcSupport;
  601. public: // User declarations
  602.         __fastcall TfrmWiFi(TComponent* Owner);
  603.         // common
  604.         void Init( void );
  605.         void ApplyHideProperty( void );
  606.         void _fastcall SubClassWndProc( Messages::TMessage &Message);
  607.         // format transform
  608.         unsigned int  ChannelID_To_ChannelFreq( unsigned int channel_id );
  609.         unsigned int  ChannelFreq_To_ChannelID( unsigned int channel_freq );
  610.         // UI
  611.         void  CPTExecute( void );
  612.         void  TXOPExecute( void );
  613.         void  TXCSExecute( void );
  614.         void  LFExecute( void );
  615.         void  ReDrawFields( int page_idx );
  616.         void  ReDrawTXFields( void );
  617.         void  ReDrawTXOPFields( void );
  618.         void  ReDrawBBFields( void );
  619.         void  ReDrawMACFields( void );
  620.         void  ReDrawEEFields( void );
  621.         bool  CheckFields( E_ACCESS_TYPE access_type, E_OPERATION_TYPE op_type );
  622.         bool  CheckTXOPFields( void );
  623.         bool  CheckBBFields( E_ACCESS_TYPE access_type, E_OPERATION_TYPE op_type );
  624.         bool  CheckMACFields( E_ACCESS_TYPE access_type, E_OPERATION_TYPE op_type );
  625.         bool  CheckEEFields( E_ACCESS_TYPE access_type, E_OPERATION_TYPE op_type);
  626.         void  ShowHintLabel( TControl *sender, char* hint );
  627.         void  EnableCPTUIComponent( void );
  628.         void  DisableCPTUIComponent( void );
  629.         void  CurrentPageReset( void );
  630.         void  CurrentPageLock( void );
  631.         void  DisplayWiFiChannel( void );
  632.         void  DisplayWiFiTxRate( void );
  633.         void  Display_CPTXTxPower( void );
  634.         void  Force_WiFi_Stop( void );
  635.         void  FillBBResult( bool  is_title );
  636.         void  FillMACResult( bool  is_title );
  637.         void  FillEEResult( bool  is_title );
  638.         void  REQ_TXOP_SetDbmToDac( int dbm );
  639.         // TX
  640.         void  WiFiTxPowerEEToNVRAM( void );
  641.         void  WiFiTxDcOffsetEEToNVRAM( void );
  642.         void  ConfirmCallback_ReadTxPowerFromEE( void );
  643.         void  ConfirmCallback_ReadTxDcOffsetFromEE( void );
  644.         // BBCR read/write
  645.         void  Compose_BBCR_Parameter( E_ACCESS_TYPE type );
  646.         void  Compose_BBCR_Data( E_ACCESS_TYPE type );
  647.         void  DeCompose_BBCR_Data( E_ACCESS_TYPE type );
  648.         void  AllocateBBCRVector( void );
  649.         void  EraseBBCRVector( void );
  650.         void  DeAllocateBBCRVector( void );
  651.         // MCR read/write
  652.         void  Compose_MCR_Parameter( E_ACCESS_TYPE type );
  653.         void  Compose_MCR_Data( E_ACCESS_TYPE type );
  654.         void  DeCompose_MCR_Data( E_ACCESS_TYPE type );
  655.         void  Compose_MCR16_Parameter( E_ACCESS_TYPE type );
  656.         void  Compose_MCR16_Data( E_ACCESS_TYPE type );
  657.         void  DeCompose_MCR16_Data( E_ACCESS_TYPE type );
  658.         void  AllocateMCRVector( void );
  659.         void  EraseMCRVector( void );
  660.         void  DeAllocateMCRVector( void );
  661.         void  AllocateMCR16Vector( void );
  662.         void  EraseMCR16Vector( void );
  663.         void  DeAllocateMCR16Vector( void );
  664.         // EEPROM read/write
  665.         void Compose_EEPROM_Parameter( E_ACCESS_TYPE type );
  666.         void Compose_EEPROM_Data( E_ACCESS_TYPE type );
  667.         void DeCompose_EEPROM_Data( E_ACCESS_TYPE type );
  668.         void DeAllocateEEPROMVector( void );
  669.         void EraseEEPROMVector( void );
  670.         void AllocateEEPROMVector( void );
  671.         // script
  672.         void  FillSCResult( void );
  673.         // call back
  674.         void  ConfirmCallback_QueryChannelList( void );
  675.         void  ConfirmCallback_CPT( void );
  676.         void  ConfirmCallback_QueryTxStatus( void );
  677.         void  CPTX_UploadTxPower2400MFromFlashDone( void );
  678.         void  CPTX_UploadTxPower5000MFromFlashDone( void );
  679.         void  CPTX_DownloadTxPower2400MToFlashDone( void );
  680.         void  CPTX_DownloadTxPower5000MToFlashDone( void );
  681.         void  TXOP_UploadTxPower2400MFromFlashDone( void );
  682.         void  TXOP_UploadTxPower5000MFromFlashDone( void );
  683.         void  TXOP_DownloadTxPower2400MToFlashDone( void );
  684.         void  TXOP_DownloadTxPower5000MToFlashDone( void );
  685.         void  UploadTxDCFromFlashDone( void );
  686.         void  DownloadTxDCToFlashDone( void );
  687.         void  ConfirmCallback_TxDcOffsetCal( void );
  688.         void  ConfirmCallback_CPRX( void );
  689.         void  ConfirmCallback_QueryRxStatus( void );
  690.         void  ConfirmCallback_QueryOriRxStatus( void );
  691.         void  ConfirmCallback_QueryRxCounter( void );
  692.         void  ConfirmCallback_TXOP( void );
  693.         void  ConfirmCallback_TXCS( void );
  694.         void  ConfirmCallback_LF( void );
  695.         void  ConfirmCallback_PS(void);
  696.         void  ConfirmCallback_ReadBBReg( void );
  697.         void  ConfirmCallback_ReadAllBBReg( void );
  698.         void  ConfirmCallback_WriteBBReg( void );
  699.         void  ConfirmCallback_ReadMACReg( void );
  700.         void  ConfirmCallback_ReadAllMACReg( void );
  701.         void  ConfirmCallback_WriteMACReg( void );
  702.         void  ConfirmCallback_ReadEE( void );
  703.         void  ConfirmCallback_ReadAllEE( void );
  704.         void  ConfirmCallback_WriteEE( void );
  705.         void  ConfirmCallback_SC( void );
  706.         void  CNF_TXOP_SetDbmToDac( void );
  707.         void  CNF_TXOP_QueryDbmToDac( void );
  708. };
  709. //---------------------------------------------------------------------------
  710. extern PACKAGE TfrmWiFi *frmWiFi;
  711. //---------------------------------------------------------------------------
  712. #endif