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

MTK

开发平台:

C++ Builder

  1. //---------------------------------------------------------------------------
  2. #ifndef _FORM_WIFIALC2400M_H_
  3. #define _FORM_WIFIALC2400M_H_
  4. //---------------------------------------------------------------------------
  5. #include <Classes.hpp>
  6. #include <Controls.hpp>
  7. #include <StdCtrls.hpp>
  8. #include <Forms.hpp>
  9. #include <ExtCtrls.hpp>
  10. #include <ComCtrls.hpp>
  11. #include <Dialogs.hpp>
  12. #ifndef  _WIFI_ALC_H_
  13. #include "wifi_alc.h"
  14. #endif
  15. #ifndef  _WIFI_EE_H_
  16. #include "wifi_ee.h"
  17. #endif
  18. //---------------------------------------------------------------------------
  19. typedef enum
  20. {
  21.     DRAW_MASK_WIFI_ALC2400M_CCK_ALC     = 0x01,
  22.     DRAW_MASK_WIFI_ALC2400M_CCK_POWER   = 0x02,
  23.     DRAW_MASK_WIFI_ALC2400M_OFDM_OFFSET = 0x04,
  24.     DRAW_MASK_WIFI_ALC2400M_OFDM_ALC    = 0x08,
  25.     DRAW_MASK_WIFI_ALC2400M_OFDM_POWER  = 0x10,
  26.     DRAW_MASK_WIFI_ALC2400M_SLOPE       = 0x20
  27. }E_DRAW_MASK_WIFI_ALC2400M;
  28. typedef enum
  29. {
  30.     CHECK_MASK_WIFI_ALC2400M_CCK_ALC    = 0x01,
  31.     CHECK_MASK_WIFI_ALC2400M_CCK_POWER  = 0x02,
  32.     CHECK_MASK_WIFI_ALC2400M_OFDM_ALC   = 0x04,
  33.     CHECK_MASK_WIFI_ALC2400M_OFDM_POWER = 0x08,
  34.     CHECK_MASK_WIFI_ALC2400M_SLOPE      = 0x10
  35. }E_CHECK_MASK_WIFI_ALC2400M;
  36. typedef enum
  37. {
  38.     WIFI_EE_ALC_TYPE_2_4_G_CCK = 0,
  39.     WIFI_EE_ALC_TYPE_2_4_G_OFDM,
  40.     WIFI_EE_ALC_TYPE_SLOPE
  41. }E_WIFI_EE_ALC_TYPE_T;
  42. //---------------------------------------------------------------------------
  43. class TfrmWiFiALC2400M : public TForm
  44. {
  45. __published: // IDE-managed Components
  46.         TPanel *Panel1;
  47.         TPanel *Panel2;
  48.         TLabel *Label1;
  49.         TLabel *Label2;
  50.         TLabel *Label3;
  51.         TLabel *Label4;
  52.         TLabel *Label5;
  53.         TLabel *Label6;
  54.         TLabel *Label7;
  55.         TLabel *Label8;
  56.         TLabel *Label9;
  57.         TLabel *Label10;
  58.         TLabel *Label11;
  59.         TLabel *Label12;
  60.         TLabel *Label13;
  61.         TLabel *Label14;
  62.         TEdit *m_edtTxAlcCCK00;
  63.         TEdit *m_edtTxAlcCCK01;
  64.         TEdit *m_edtTxAlcCCK02;
  65.         TEdit *m_edtTxAlcCCK03;
  66.         TEdit *m_edtTxAlcCCK04;
  67.         TEdit *m_edtTxAlcCCK05;
  68.         TEdit *m_edtTxAlcCCK06;
  69.         TEdit *m_edtTxAlcCCK07;
  70.         TEdit *m_edtTxAlcCCK08;
  71.         TEdit *m_edtTxAlcCCK09;
  72.         TEdit *m_edtTxAlcCCK10;
  73.         TEdit *m_edtTxAlcCCK11;
  74.         TEdit *m_edtTxAlcCCK12;
  75.         TEdit *m_edtTxAlcCCK13;
  76.         TPanel *Panel5;
  77.         TPanel *Panel6;
  78.         TLabel *Label29;
  79.         TEdit *m_edtTxOutputPowerDbCCK00;
  80.         TEdit *m_edtTxOutputPowerDbCCK01;
  81.         TEdit *m_edtTxOutputPowerDbCCK02;
  82.         TEdit *m_edtTxOutputPowerDbCCK03;
  83.         TEdit *m_edtTxOutputPowerDbCCK04;
  84.         TEdit *m_edtTxOutputPowerDbCCK05;
  85.         TEdit *m_edtTxOutputPowerDbCCK06;
  86.         TEdit *m_edtTxOutputPowerDbCCK07;
  87.         TEdit *m_edtTxOutputPowerDbCCK08;
  88.         TEdit *m_edtTxOutputPowerDbCCK09;
  89.         TEdit *m_edtTxOutputPowerDbCCK10;
  90.         TEdit *m_edtTxOutputPowerDbCCK11;
  91.         TEdit *m_edtTxOutputPowerDbCCK12;
  92.         TEdit *m_edtTxOutputPowerDbCCK13;
  93.         TLabel *Label30;
  94.         TButton *m_btnOFDMTxRate0;
  95.         TLabel *Label15;
  96.         TButton *m_btnOFDMTxRate1;
  97.         TButton *m_btnOFDMTxRate2;
  98.         TButton *m_btnOFDMTxRate3;
  99.         TButton *m_btnOFDMTxRate4;
  100.         TButton *m_btnOFDMTxRate5;
  101.         TButton *m_btnOFDMTxRate6;
  102.         TButton *m_btnOFDMTxRate7;
  103.         TEdit *m_edtOFDMTxAlcOffset0;
  104.         TEdit *m_edtOFDMTxAlcOffset1;
  105.         TEdit *m_edtOFDMTxAlcOffset2;
  106.         TEdit *m_edtOFDMTxAlcOffset3;
  107.         TEdit *m_edtOFDMTxAlcOffset4;
  108.         TEdit *m_edtOFDMTxAlcOffset5;
  109.         TEdit *m_edtOFDMTxAlcOffset6;
  110.         TEdit *m_edtOFDMTxAlcOffset7;
  111.         TLabel *Label16;
  112.         TPanel *Panel4;
  113.         TPanel *m_pnlOFDMTxRate;
  114.         TLabel *Label17;
  115.         TLabel *Label18;
  116.         TLabel *Label19;
  117.         TLabel *Label20;
  118.         TLabel *Label21;
  119.         TLabel *Label22;
  120.         TLabel *Label23;
  121.         TLabel *Label24;
  122.         TLabel *Label25;
  123.         TLabel *Label26;
  124.         TLabel *Label27;
  125.         TLabel *Label28;
  126.         TLabel *Label31;
  127.         TLabel *Label32;
  128.         TEdit *m_edtTxAlcOFDM00;
  129.         TEdit *m_edtTxAlcOFDM01;
  130.         TEdit *m_edtTxAlcOFDM02;
  131.         TEdit *m_edtTxAlcOFDM03;
  132.         TEdit *m_edtTxAlcOFDM06;
  133.         TEdit *m_edtTxAlcOFDM07;
  134.         TEdit *m_edtTxAlcOFDM09;
  135.         TEdit *Edit8;
  136.         TEdit *m_edtTxAlcOFDM04;
  137.         TEdit *m_edtTxAlcOFDM05;
  138.         TEdit *m_edtTxAlcOFDM08;
  139.         TEdit *m_edtTxAlcOFDM10;
  140.         TEdit *m_edtTxAlcOFDM11;
  141.         TEdit *m_edtTxAlcOFDM12;
  142.         TEdit *m_edtTxAlcOFDM13;
  143.         TLabel *Label33;
  144.         TEdit *m_edtTxOutputPowerDbOFDM01;
  145.         TEdit *m_edtTxOutputPowerDbOFDM02;
  146.         TEdit *m_edtTxOutputPowerDbOFDM03;
  147.         TEdit *m_edtTxOutputPowerDbOFDM04;
  148.         TEdit *m_edtTxOutputPowerDbOFDM05;
  149.         TEdit *m_edtTxOutputPowerDbOFDM06;
  150.         TEdit *m_edtTxOutputPowerDbOFDM07;
  151.         TEdit *m_edtTxOutputPowerDbOFDM08;
  152.         TEdit *m_edtTxOutputPowerDbOFDM09;
  153.         TEdit *m_edtTxOutputPowerDbOFDM10;
  154.         TEdit *m_edtTxOutputPowerDbOFDM11;
  155.         TEdit *m_edtTxOutputPowerDbOFDM12;
  156.         TEdit *m_edtTxOutputPowerDbOFDM13;
  157.         TLabel *Label34;
  158.         TButton *btnUploadFromFlash;
  159.         TButton *btnDownloadToFlash;
  160.         TButton *btnChangeDB;
  161.         TButton *btnLoadFromFile;
  162.         TButton *btnSaveToFile;
  163.         TStatusBar *m_sbALC;
  164.         TTimer *HintTimer;
  165.         TStaticText *lblHint;
  166.         TSaveDialog *SaveDialog;
  167.         TOpenDialog *OpenDialog;
  168.         TEdit *m_edtTxOutputPowerDbOFDM00;
  169.         TButton *m_btnApply;
  170.         TEdit *m_edtOFDMTxOutputPowerOffset0;
  171.         TEdit *m_edtOFDMTxOutputPowerOffset1;
  172.         TEdit *m_edtOFDMTxOutputPowerOffset2;
  173.         TEdit *m_edtOFDMTxOutputPowerOffset3;
  174.         TEdit *m_edtOFDMTxOutputPowerOffset4;
  175.         TEdit *m_edtOFDMTxOutputPowerOffset5;
  176.         TEdit *m_edtOFDMTxOutputPowerOffset6;
  177.         TEdit *m_edtOFDMTxOutputPowerOffset7;
  178.         TLabel *Label35;
  179.         TPanel *Panel3;
  180.         TPanel *Panel7;
  181.         TLabel *Label36;
  182.         TLabel *Label37;
  183.         TLabel *Label39;
  184.         TEdit *m_edtALCSlop1Divider;
  185.         TEdit *m_edtALCSlop1Dividend;
  186.         TEdit *m_edtALCSlop2Divider;
  187.         TEdit *m_edtALCSlop2Dividend;
  188.         TButton *m_btnLoadFromEEPROM;
  189.         void __fastcall edtTxAlcCCKCheck(TObject *Sender);
  190.         void __fastcall edtTxOutputPowerDbCCKCheck(TObject *Sender);
  191.         void __fastcall btnOFDMTxRateClick(TObject *Sender);
  192.         void __fastcall HintTimerTimer(TObject *Sender);
  193.         void __fastcall edtTxAlcOFDMCheck(TObject *Sender);
  194.         void __fastcall edtTxOutputPowerDbOFDMCheck(TObject *Sender);
  195.         void __fastcall btnUploadFromFlashClick(TObject *Sender);
  196.         void __fastcall btnDownloadToFlashClick(TObject *Sender);
  197.         void __fastcall btnSaveToFileClick(TObject *Sender);
  198.         void __fastcall btnLoadFromFileClick(TObject *Sender);
  199.         void __fastcall m_btnApplyClick(TObject *Sender);
  200.         void __fastcall edtOFDMTxAlcOffsetCheck(TObject *Sender);
  201.         void __fastcall edtOFDMTxOutputPowerOffsetCheck(TObject *Sender);
  202.         void __fastcall m_edtALCSlopDividerCheck(TObject *Sender);
  203.         void __fastcall m_edtALCSlopDividendCheck(TObject *Sender);
  204.         void __fastcall btnChangeDBClick(TObject *Sender);
  205.         void __fastcall m_btnLoadFromEEPROMClick(TObject *Sender);
  206. private: // User declarations
  207.         S_WIFI_EEPROM   m_sEE;
  208.         CWIFIEE   m_WIFI_EE_Obj;
  209.         WiFi_ALC_2400M_S  m_sWiFiAlcPower2400M;
  210.         WiFi_TxALC_2400M_S m_sWiFiAlcSlope2400M;
  211.         char m_cOFDMTxAlcOffset[WIFI_ALC_2400M_TX_RATE_NUM];
  212.         char m_cOFDMTxOutputPowerOffset[WIFI_ALC_2400M_TX_RATE_NUM];
  213.         CWIFIALC m_cWIFI_ALC_Obj;
  214.         // UI
  215.         TEdit *m_edtTxAlcCCK[WIFI_ALC_2400M_CH_NUM];
  216.         TEdit *m_edtTxOutputPowerDbCCK[WIFI_ALC_2400M_CH_NUM];
  217.         TButton *m_btnOFDMTxRate[WIFI_ALC_2400M_TX_RATE_NUM];
  218.         TEdit *m_edtOFDMTxAlcOffset[WIFI_ALC_2400M_TX_RATE_NUM];
  219.         TEdit *m_edtOFDMTxOutputPowerOffset[WIFI_ALC_2400M_TX_RATE_NUM];
  220.         TEdit *m_edtTxAlcOFDM[WIFI_ALC_2400M_CH_NUM];
  221.         TEdit *m_edtTxOutputPowerDbOFDM[WIFI_ALC_2400M_CH_NUM];
  222. public: // User declarations
  223.         __fastcall TfrmWiFiALC2400M(TComponent* Owner);
  224.         void  ReDrawFields(E_DRAW_MASK_WIFI_ALC2400M mask);
  225.         bool  CheckFields(E_CHECK_MASK_WIFI_ALC2400M mask);
  226.         void  CurrentPageReset(void);
  227.         void  CurrentPageLock(void);
  228.         void  ShowHintLabel(TControl *sender, char* hint);
  229.         // NVRAM
  230.         void UploadAlc2400MFromFlashDone(void);
  231.         void DownloadAlc2400MToFlashDone(void);
  232.         // EEPROM
  233.         void Compose_EEPROM_Parameter(E_WIFI_EE_ALC_TYPE_T type);
  234.         void WiFiAlcEEToNVRAMFormat(E_WIFI_EE_ALC_TYPE_T type);
  235.         void CNF_ReadAlcCCKFromEE(void);
  236.         void CNF_ReadAlcOFDMFromEE(void);
  237.         void CNF_ReadAlcSlopeFromEE(void);
  238. };
  239. //---------------------------------------------------------------------------
  240. extern PACKAGE TfrmWiFiALC2400M *frmWiFiALC2400M;
  241. //---------------------------------------------------------------------------
  242. #endif