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

MTK

开发平台:

C++ Builder

  1. /*****************************************************************************
  2. *  Copyright Statement:
  3. *  --------------------
  4. *  This software is protected by Copyright and the information contained
  5. *  herein is confidential. The software may not be copied and the information
  6. *  contained herein may not be used or disclosed except with the written
  7. *  permission of MediaTek Inc. (C) 2005
  8. *
  9. *  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
  10. *  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
  11. *  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
  12. *  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
  13. *  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
  14. *  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
  15. *  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
  16. *  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
  17. *  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
  18. *  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
  19. *  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
  20. *  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
  21. *
  22. *  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
  23. *  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
  24. *  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
  25. *  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
  26. *  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
  27. *
  28. *  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
  29. *  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
  30. *  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
  31. *  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
  32. *  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
  33. *
  34. *****************************************************************************/
  35. /*****************************************************************************
  36.  *
  37.  * Filename:
  38.  * ---------
  39.  *   form_RFGUIApcProfile.h
  40.  *
  41.  * Project:
  42.  * --------
  43.  *   Maui META APP
  44.  *
  45.  * Description:
  46.  * ------------
  47.  *   RF graphic interface APC profile form header
  48.  *
  49.  * Author:
  50.  * -------
  51.  *  Andy Ueng (mtk00490)
  52.  *
  53.  *============================================================================
  54.  *             HISTORY
  55.  * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
  56.  *------------------------------------------------------------------------------
  57.  * $Revision$
  58.  * $Modtime$
  59.  * $Log$
  60.  * 
  61.  *------------------------------------------------------------------------------
  62.  * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
  63.  *============================================================================
  64.  ****************************************************************************/
  65. //---------------------------------------------------------------------------
  66. #ifndef  _FORM_RFGUIAPCPROFILE_H_
  67. #define  _FORM_RFGUIAPCPROFILE_H_
  68. //---------------------------------------------------------------------------
  69. #include <Classes.hpp>
  70. #include <Controls.hpp>
  71. #include <StdCtrls.hpp>
  72. #include <Forms.hpp>
  73. #include <ComCtrls.hpp>
  74. #include <ExtCtrls.hpp>
  75. #include <Buttons.hpp>
  76. #include <Dialogs.hpp>
  77. //----------------------------------------------------------------------------
  78. // RF
  79. #ifndef  _RF_APC_H_
  80. #include "rf_apc.h"
  81. #endif
  82. #ifndef  _RF_TX_H_
  83. #include "rf_tx.h"
  84. #endif
  85. // thread
  86. #ifndef  _RF_TADO_THRD_H_
  87. #include "rf_tado_thrd.h"
  88. #endif
  89. #ifndef  _RF_SETRAMP_THRD_H_
  90. #include "rf_setramp_thrd.h"
  91. #endif
  92. // NVRAM
  93. #ifndef  _NVRAM_COMMON_H_
  94. #include "nvram_common.h"
  95. #endif
  96. //---------------------------------------------------------------------------
  97. class TfrmGUIApcProfile : public TForm
  98. {
  99. __published: // IDE-managed Components
  100.         TImage *imRampProfile;
  101.         TPanel *pnlProfileTItle;
  102.         TButton *btnUploadFromFlash;
  103.         TButton *btnDownloadToFlash;
  104.         TButton *btnChangeDB;
  105.         TStatusBar *sbGUIAPCProfile;
  106.         TPanel *pnlRamp;
  107.         TLabel *lblRampUp;
  108.         TLabel *lblRampDown;
  109.         TEdit *edtRampUp00;
  110.         TEdit *edtRampUp01;
  111.         TEdit *edtRampUp02;
  112.         TEdit *edtRampUp03;
  113.         TEdit *edtRampUp04;
  114.         TEdit *edtRampUp05;
  115.         TEdit *edtRampUp06;
  116.         TEdit *edtRampUp07;
  117.         TEdit *edtRampUp08;
  118.         TEdit *edtRampUp09;
  119.         TEdit *edtRampUp10;
  120.         TEdit *edtRampUp11;
  121.         TEdit *edtRampUp13;
  122.         TEdit *edtRampUp12;
  123.         TEdit *edtRampUp14;
  124.         TEdit *edtRampUp15;
  125.         TEdit *edtRampDn00;
  126.         TEdit *edtRampDn01;
  127.         TEdit *edtRampDn02;
  128.         TEdit *edtRampDn03;
  129.         TEdit *edtRampDn04;
  130.         TEdit *edtRampDn05;
  131.         TEdit *edtRampDn06;
  132.         TEdit *edtRampDn07;
  133.         TEdit *edtRampDn08;
  134.         TEdit *edtRampDn09;
  135.         TEdit *edtRampDn10;
  136.         TEdit *edtRampDn11;
  137.         TEdit *edtRampDn12;
  138.         TEdit *edtRampDn13;
  139.         TEdit *edtRampDn14;
  140.         TEdit *edtRampDn15;
  141.         TButton *btnUpLeft;
  142.         TButton *btnUpRight;
  143.         TButton *btnDnLeft;
  144.         TButton *btnDnRight;
  145.         TPanel *pnlPCL;
  146.         TLabel *lblPclDac;
  147.         TLabel *lblPCL;
  148.         TEdit *edtPCLDAC00;
  149.         TEdit *edtPCLDAC01;
  150.         TEdit *edtPCLDAC02;
  151.         TEdit *edtPCLDAC03;
  152.         TEdit *edtPCLDAC04;
  153.         TEdit *edtPCLDAC05;
  154.         TEdit *edtPCLDAC06;
  155.         TEdit *edtPCLDAC07;
  156.         TEdit *edtPCLDAC08;
  157.         TEdit *edtPCLDAC09;
  158.         TEdit *edtPCLDAC10;
  159.         TEdit *edtPCLDAC11;
  160.         TEdit *edtPCLDAC13;
  161.         TEdit *edtPCLDAC12;
  162.         TEdit *edtPCLDAC14;
  163.         TEdit *edtPCLDAC15;
  164.         TButton *btnPCL00;
  165.         TButton *btnPCL01;
  166.         TButton *btnPCL02;
  167.         TButton *btnPCL03;
  168.         TButton *btnPCL04;
  169.         TButton *btnPCL05;
  170.         TButton *btnPCL06;
  171.         TButton *btnPCL07;
  172.         TButton *btnPCL08;
  173.         TButton *btnPCL09;
  174.         TButton *btnPCL10;
  175.         TButton *btnPCL11;
  176.         TButton *btnPCL12;
  177.         TButton *btnPCL13;
  178.         TButton *btnPCL14;
  179.         TButton *btnPCL15;
  180.         TLabel *lblVertical0;
  181.         TLabel *lblVertical1;
  182.         TLabel *lblVertical2;
  183.         TLabel *lblVertical3;
  184.         TLabel *lblVertical4;
  185.         TLabel *lblVertical5;
  186.         TLabel *lblVertical6;
  187.         TLabel *lblVertical7;
  188.         TLabel *lblVertical8;
  189.         TLabel *lblVertical9;
  190.         TLabel *lblRampUpH0;
  191.         TLabel *lblRampUpH1;
  192.         TLabel *lblRampUpH2;
  193.         TLabel *lblRampUpH3;
  194.         TLabel *lblRampUpH4;
  195.         TLabel *lblRampDownH0;
  196.         TLabel *lblRampDownH1;
  197.         TLabel *lblRampDownH2;
  198.         TLabel *lblRampDownH3;
  199.         TLabel *lblRampDownH4;
  200.         TLabel *Label1;
  201.         TLabel *Label2;
  202.         TLabel *Label3;
  203.         TLabel *Label4;
  204.         TLabel *Label5;
  205.         TLabel *Label6;
  206.         TLabel *Label7;
  207.         TLabel *Label8;
  208.         TLabel *Label9;
  209.         TLabel *Label10;
  210.         TLabel *Label11;
  211.         TLabel *Label12;
  212.         TLabel *Label13;
  213.         TLabel *Label14;
  214.         TLabel *Label15;
  215.         TLabel *Label16;
  216.         TLabel *lblRampUpH5;
  217.         TLabel *lblRampDownH5;
  218.         TLabel *lblRampUpH6;
  219.         TLabel *lblRampUpH7;
  220.         TLabel *lblRampUpH8;
  221.         TLabel *lblRampUpH9;
  222.         TLabel *lblRampUpH10;
  223.         TLabel *lblRampUpH11;
  224.         TLabel *lblRampUpH12;
  225.         TLabel *lblRampUpH13;
  226.         TLabel *lblRampUpH14;
  227.         TLabel *lblRampUpH15;
  228.         TLabel *lblRampDownH6;
  229.         TLabel *lblRampDownH7;
  230.         TLabel *lblRampDownH8;
  231.         TLabel *lblRampDownH9;
  232.         TLabel *lblRampDownH10;
  233.         TLabel *lblRampDownH11;
  234.         TLabel *lblRampDownH12;
  235.         TLabel *lblRampDownH13;
  236.         TLabel *lblRampDownH14;
  237.         TLabel *lblRampDownH15;
  238.         TStaticText *lblHint;
  239.         TTimer *HintTimer;
  240.         TEdit *edtTestArfcn;
  241.         TLabel *lblTestArfcn;
  242.         TBitBtn *btnTXStart;
  243.         TEdit *edtHighApcDcOffset;
  244.         TLabel *lblHighApcDcOffset;
  245.         TTabControl *tctlAPC;
  246.         TButton *btnLoadFromFile;
  247.         TButton *btnSaveToFile;
  248.         TSaveDialog *SaveDialog;
  249.         TOpenDialog *OpenDialog;
  250.         TBitBtn *btnTXStop;
  251.         TLabel *lblLowApcDcOffset;
  252.         TEdit *edtLowApcDcOffset;
  253.         TLabel *lblAPCLowestPower;
  254.         TEdit *edtAPCLowestPower;
  255.         TLabel *Label17;
  256.         TStaticText *m_stNVRAMDB;
  257.         TOpenDialog *m_dlgOpenDB;
  258.         void __fastcall btnUploadFromFlashClick(TObject *Sender);
  259.         void __fastcall FormShow(TObject *Sender);
  260.         void __fastcall imRampProfileDragOver(TObject *Sender,
  261.           TObject *Source, int X, int Y, TDragState State, bool &Accept);
  262.         void __fastcall imRampProfileEndDrag(TObject *Sender,
  263.           TObject *Target, int X, int Y);
  264.         void __fastcall btnUpRightClick(TObject *Sender);
  265.         void __fastcall btnDnRightClick(TObject *Sender);
  266.         void __fastcall btnUpLeftClick(TObject *Sender);
  267.         void __fastcall btnDnLeftClick(TObject *Sender);
  268.         void __fastcall edtRampUpCheck(TObject *Sender);
  269.         void __fastcall edtRampDnCheck(TObject *Sender);
  270.         void __fastcall HintTimerTimer(TObject *Sender);
  271.         void __fastcall btnTXStartClick(TObject *Sender);
  272.         void __fastcall edtHighApcDcOffsetCheck(TObject *Sender);
  273.         void __fastcall OnBtnPclClick(TObject *Sender);
  274.         void __fastcall tctlAPCChange(TObject *Sender);
  275.         void __fastcall edtPCLDACCheck(TObject *Sender);
  276.         void __fastcall edtTestArfcnCheck(TObject *Sender);
  277.         void __fastcall btnDownloadToFlashClick(TObject *Sender);
  278.         void __fastcall btnLoadFromFileClick(TObject *Sender);
  279.         void __fastcall btnSaveToFileClick(TObject *Sender);
  280.         void __fastcall btnTXProfileSettingClick(TObject *Sender);
  281.         void __fastcall FormActivate(TObject *Sender);
  282.         void __fastcall FormHide(TObject *Sender);
  283.         void __fastcall btnChangeDBClick(TObject *Sender);
  284.         void __fastcall btnTXStopClick(TObject *Sender);
  285.         void __fastcall FormClose(TObject *Sender, TCloseAction &Action);
  286.         void __fastcall FormCreate(TObject *Sender);
  287.         void __fastcall edtLowApcDcOffsetCheck(TObject *Sender);
  288.         void __fastcall edtAPCLowestPowerCheck(TObject *Sender);
  289. private: // User declarations
  290.         // common
  291.         unsigned int m_uiFinalRFID;
  292.         bool m_bInit;
  293.         bool m_bMultiSlotTxExSupport;
  294.         E_NVRAM_TRIGGER m_eNvramTrigger;
  295.         // UI
  296.         TEdit   *edtPCLDAC[16];
  297.         TButton *btnPCL[16];
  298.         TEdit   *edtRampUp[16];
  299.         TEdit   *edtRampDn[16];
  300.         // image
  301.         int max_y_grid, min_y_grid;
  302.         int  vStart, hStart, vScale, hScale, vDistance, hDistance, Segments;
  303.         TLabel *lblVertical[RAMP_VERTICAL_LABEL_NUM];
  304.         TLabel *lblRampUpH[16], *lblRampDownH[16];
  305.         bool  isRampUpCircleOnDrag, isRampDownCircleOnDrag;
  306.         bool  m_bDragTrigger;
  307.         int RampCircleOnDragIndex;
  308.         CRFAPC   *RF_APC_Obj;
  309.         CRFTX    *RF_TX_Obj;
  310.         E_BANDSEL  m_eCurBand;
  311.         short m_sCurPCLIndex;
  312.         int  Tsc;
  313.         short  m_sAfcDac;
  314.         APCTxPattern m_eBurstType;
  315.         unsigned short  m_usHighApcDcOffset[MAX_SUPPORT_BAND_NUM];
  316.         unsigned short  m_usLowApcDcOffset[MAX_SUPPORT_BAND_NUM];
  317.         int  ApcLowestPower[MAX_SUPPORT_BAND_NUM];
  318.         short m_sTestArfcn[MAX_SUPPORT_BAND_NUM];  // GSM900, DCS1800, PCS1900, GSM 850
  319.         int  lastTabIndex;
  320.         l1cal_rampTable_T    m_sRFCal_RamTable[MAX_SUPPORT_BAND_NUM];
  321.         l1cal_rampTable_T    m_sOldRFCal_RamTable[MAX_SUPPORT_BAND_NUM];
  322.         sRampPoint  RampUpPoint, RampDownPoint;
  323.         bool  m_bTADOSupport;
  324.         // query
  325.         sTRFTADO     t_RfTado;
  326.         sTRFSETRAMP  t_RfSetRamp;
  327. public: // User declarations
  328.         __fastcall TfrmGUIApcProfile(TComponent* Owner);
  329.         void _fastcall SubClassWndProc(Messages::TMessage &Message);
  330.         // initialize
  331.         void  Set_RF_APC_Obj(CRFAPC *rf_apc_obj);
  332.         void  Set_RF_TX_Obj(CRFTX *rf_tx_obj);
  333.         void  Init(void);
  334.         void  ReDrawFields(int draw_mask);
  335.         bool  CheckFields(void);
  336.         // DB file
  337.         void  read_APC_files_setup(AnsiString asSetupFile, AnsiString asExeName);
  338.         void  read_APC_db_file(AnsiString asFileName);
  339.         void  write_APC_files_setup(AnsiString asSetupFile, AnsiString asExeName);
  340.         void  read_db_file(AnsiString asFileName);
  341.         void  UpdateDBFileCaption(AnsiString asFileName);
  342.         // image
  343.         void  ClearImage(void);
  344.         void  PlotGrid(int min_x, int max_x, int min_y, int max_y);
  345.         void  PlotRampProfileCurve(void);
  346.         void  PlotRampProfileCircle(void);
  347.         void  PlotCurve(int plot_mask);
  348.         void  UpdateRampdata(int ramp_flag, int idx);
  349.         int   ImageRangeCheck(int X, int Y);
  350.         void  getImageValidRange(sRfImageRange  *p_ImageRange);
  351.         bool  RampDataChange(l1cal_rampTable_T *p_RFCal_RamTable1, l1cal_rampTable_T *p_RFCal_RamTable2 );
  352.         // other UI
  353.         void DisplayTADOUI(bool b_tado_support);
  354.         void ShowHintLabel(TControl *sender, char* hint);
  355.         void CurrentPageLock(void );
  356.         void CurrentPageReset(void);
  357.         // query
  358.         void __fastcall on_QueryTwoApcDcOffset_Fail(TObject *Sender);
  359.         void __fastcall on_QueryTwoApcDcOffset_TerminateSuccess(TObject *Sender);
  360.         void  Query_TwoApcDcOffset_Support(void);
  361.         void __fastcall on_QueryRfSetRampTableSupport_Fail(TObject *Sender);
  362.         void __fastcall on_QueryRfSetRampTableSupport_TerminateSuccess(TObject *Sender);
  363.         void  Query_RfSetRampTable_Support(void);
  364.         // NVRAM
  365.         void UploadFromFlash(void);
  366.         void DownloadToFlash(void);
  367.         // callback
  368.         void ConfirmCallback_RfSetRampTable(void);
  369.         void ConfirmCallback_TX(void);
  370.         void CNF_NVRAM_Init(void);
  371.         void CNF_ReadFromNVRAM(void);
  372.         void UploadFromFlashDone(void);
  373.         void DownloadToFlashDone(void);
  374. };
  375. //---------------------------------------------------------------------------
  376. extern PACKAGE TfrmGUIApcProfile *frmGUIApcProfile;
  377. //---------------------------------------------------------------------------
  378. #endif