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

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_RFApcProfile.h
  40.  *
  41.  * Project:
  42.  * --------
  43.  *   Maui META APP
  44.  *
  45.  * Description:
  46.  * ------------
  47.  *   RF 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_RFAPCPROFILE_H_
  67. #define _FORM_RFAPCPROFILE_H_
  68. //---------------------------------------------------------------------------
  69. #include <Classes.hpp>
  70. #include <Controls.hpp>
  71. #include <StdCtrls.hpp>
  72. #include <Forms.hpp>
  73. #include <Dialogs.hpp>
  74. #include <ComCtrls.hpp>
  75. #include <ExtCtrls.hpp>
  76. #include <Buttons.hpp>
  77. #include "rf_common.h"
  78. #include "rf_tx.h"
  79. #include "rf_apc.h"
  80. // thread
  81. #ifndef  _RF_TADO_THRD_H_
  82. #include "rf_tado_thrd.h"
  83. #endif
  84. #ifndef  _RF_SETRAMP_THRD_H_
  85. #include "rf_setramp_thrd.h"
  86. #endif
  87. //---------------------------------------------------------------------------
  88. #define  TOTAL_PCL_DAC_NUM             16
  89. #define  TOTAL_RAMP_UP_NUM             16
  90. #define  TOTAL_RAMP_DOWN_NUM           16
  91. #define  TOTAL_SUBBAND_WEIGHT_NUM      11
  92. #define  TOTAL_BATTERY_COMPENSATE_NUM   9
  93. //---------------------------------------------------------------------------
  94. extern  const int PCL_RANGE[][16];
  95. //---------------------------------------------------------------------------
  96. class TfrmApcProfile : public TForm
  97. {
  98. __published: // IDE-managed Components
  99.    TBitBtn *btnTXStart;
  100.    TButton *btnDnLeft;
  101.    TButton *btnDnRight;
  102.    TButton *btnDownloadToFlash;
  103.    TButton *btnLoadFromFile;
  104.    TButton *btnPCL00;
  105.    TButton *btnPCL01;
  106.    TButton *btnPCL02;
  107.    TButton *btnPCL03;
  108.    TButton *btnPCL04;
  109.    TButton *btnPCL05;
  110.    TButton *btnPCL06;
  111.    TButton *btnPCL07;
  112.    TButton *btnPCL08;
  113.    TButton *btnPCL09;
  114.    TButton *btnPCL10;
  115.    TButton *btnPCL11;
  116.    TButton *btnPCL12;
  117.    TButton *btnPCL13;
  118.    TButton *btnPCL14;
  119.    TButton *btnPCL15;
  120.    TButton *btnSaveToFile;
  121.    TButton *btnUpLeft;
  122.    TButton *btnUpRight;
  123.    TButton *btnUploadFromFlash;
  124.         TEdit *edtHighApcDcOffset;
  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.    TEdit *edtRampUp00;
  142.    TEdit *edtRampUp01;
  143.    TEdit *edtRampUp02;
  144.    TEdit *edtRampUp03;
  145.    TEdit *edtRampUp04;
  146.    TEdit *edtRampUp05;
  147.    TEdit *edtRampUp06;
  148.    TEdit *edtRampUp07;
  149.    TEdit *edtRampUp08;
  150.    TEdit *edtRampUp09;
  151.    TEdit *edtRampUp10;
  152.    TEdit *edtRampUp11;
  153.    TEdit *edtRampUp12;
  154.    TEdit *edtRampUp13;
  155.    TEdit *edtRampUp14;
  156.    TEdit *edtRampUp15;
  157.    TEdit *edtTestArfcn;
  158.    TEdit *edtWtARFCN00;
  159.    TEdit *edtWtARFCN01;
  160.    TEdit *edtWtARFCN02;
  161.    TEdit *edtWtARFCN03;
  162.    TEdit *edtWtARFCN04;
  163.    TEdit *edtWtARFCN05;
  164.    TEdit *edtWtARFCN06;
  165.    TEdit *edtWtARFCN07;
  166.    TEdit *edtWtARFCN08;
  167.    TEdit *edtWtARFCN09;
  168.    TEdit *edtWtARFCN10;
  169.    TEdit *edtWtHigh00;
  170.    TEdit *edtWtHigh01;
  171.    TEdit *edtWtHigh02;
  172.    TEdit *edtWtHigh03;
  173.    TEdit *edtWtHigh04;
  174.    TEdit *edtWtHigh05;
  175.    TEdit *edtWtHigh06;
  176.    TEdit *edtWtHigh07;
  177.    TEdit *edtWtHigh08;
  178.    TEdit *edtWtHigh09;
  179.    TEdit *edtWtHigh10;
  180.    TEdit *edtWtLow00;
  181.    TEdit *edtWtLow01;
  182.    TEdit *edtWtLow02;
  183.    TEdit *edtWtLow03;
  184.    TEdit *edtWtLow04;
  185.    TEdit *edtWtLow05;
  186.    TEdit *edtWtLow06;
  187.    TEdit *edtWtLow07;
  188.    TEdit *edtWtLow08;
  189.    TEdit *edtWtLow09;
  190.    TEdit *edtWtLow10;
  191.    TEdit *edtWtPCL00;
  192.    TEdit *edtWtPCL01;
  193.    TEdit *edtWtPCL02;
  194.    TEdit *edtWtPCL03;
  195.    TEdit *edtWtPCL04;
  196.    TEdit *edtWtPCL05;
  197.    TEdit *edtWtPCL06;
  198.    TEdit *edtWtPCL07;
  199.    TEdit *edtWtPCL08;
  200.    TEdit *edtWtPCL09;
  201.    TEdit *edtWtPCL10;
  202.         TLabel *lblHighApcDcOffset;
  203.    TLabel *lblHighWt;
  204.    TLabel *lblLowWt;
  205.    TLabel *lblMaxARFCN;
  206.    TLabel *lblMidPCL;
  207.    TLabel *lblPCL;
  208.    TLabel *lblPclDac;
  209.    TLabel *lblRampDown;
  210.    TLabel *lblRampUp;
  211.    TLabel *lblTestArfcn;
  212.    TOpenDialog *OpenDialog;
  213.    TPanel *pnlPCL;
  214.    TPanel *pnlProfileTItle;
  215.    TPanel *pnlRamp;
  216.    TPanel *pnlWeight;
  217.    TPanel *pnlWeightTitle;
  218.    TSaveDialog *SaveDialog;
  219.    TTabControl *tctlAPC;
  220.    TStaticText *lblHint;
  221.    TTimer *HintTimer;
  222.         TPanel *pnlBatteryCompensateTitle;
  223.         TPanel *pnlBatteryCompensate;
  224.         TEdit *edtBatteryCompensate00;
  225.         TEdit *edtBatteryCompensate01;
  226.         TEdit *edtBatteryCompensate02;
  227.         TEdit *edtBatteryCompensate10;
  228.         TEdit *edtBatteryCompensate11;
  229.         TEdit *edtBatteryCompensate12;
  230.         TEdit *edtBatteryCompensate20;
  231.         TEdit *edtBatteryCompensate21;
  232.         TEdit *edtBatteryCompensate22;
  233.         TLabel *Label1;
  234.         TLabel *Label2;
  235.         TLabel *Label3;
  236.         TLabel *Label4;
  237.         TLabel *Label5;
  238.         TLabel *Label6;
  239.         TButton *btnChangeDB;
  240.         TStatusBar *sbAPCProfile;
  241.         TPanel *pnlTxAfcOffsetHeader;
  242.         TPanel *pnlTxAfcOffset;
  243.         TEdit *edtTxAfcOffset;
  244.         TEdit *edtPCLDAC00;
  245.         TEdit *edtPCLDAC01;
  246.         TEdit *edtPCLDAC02;
  247.         TEdit *edtPCLDAC03;
  248.         TEdit *edtPCLDAC04;
  249.         TEdit *edtPCLDAC05;
  250.         TEdit *edtPCLDAC06;
  251.         TEdit *edtPCLDAC07;
  252.         TEdit *edtPCLDAC08;
  253.         TEdit *edtPCLDAC09;
  254.         TEdit *edtPCLDAC10;
  255.         TEdit *edtPCLDAC11;
  256.         TEdit *edtPCLDAC12;
  257.         TEdit *edtPCLDAC13;
  258.         TEdit *edtPCLDAC14;
  259.         TEdit *edtPCLDAC15;
  260.         TBitBtn *btnTXStop;
  261.         TPanel *pnlCAL3Mode;
  262.         TPanel *pnlCAL3ModeHeader;
  263.         TLabel *Label10;
  264.         TEdit *edtAP;
  265.         TLabel *Label11;
  266.         TEdit *edtAS;
  267.         TLabel *Label12;
  268.         TEdit *edtAO;
  269.         TLabel *Label13;
  270.         TEdit *edtBD;
  271.         TLabel *lblBVReg;
  272.         TButton *btnSetCAL3ModeToRegister;
  273.         TLabel *Label7;
  274.         TStaticText *stNVRAMDB;
  275.         TLabel *Label8;
  276.         TStaticText *stBvmode;
  277.         TCheckBox *cbC3ModeEnable;
  278.         TEdit *edtTN;
  279.         TEdit *edtTO;
  280.         TLabel *lblTN;
  281.         TLabel *lblTO;
  282.         TComboBox *cbxTsc;
  283.         TLabel *lblLabel43;
  284.         TEdit *edtAfc;
  285.         TLabel *lblLabel45;
  286.         TLabel *Label9;
  287.         TLabel *lblLowApcDcOffset;
  288.         TEdit *edtLowApcDcOffset;
  289.         TLabel *lblAPCLowestPower;
  290.         TEdit *edtAPCLowestPower;
  291.         TLabel *Label14;
  292.    void __fastcall DownloadToFlashStart(TObject *Sender);
  293.    void __fastcall FormShow(TObject *Sender);
  294.    void __fastcall OnBtnPclClick(TObject *Sender);
  295.    void __fastcall UploadFromFlashStart(TObject *Sender);
  296.    void __fastcall btnLeftClick(TObject *Sender);
  297.    void __fastcall btnLoadFromFileClick(TObject *Sender);
  298.    void __fastcall btnRightClick(TObject *Sender);
  299.    void __fastcall btnSaveToFileClick(TObject *Sender);
  300.    void __fastcall btnTXStartClick(TObject *Sender);
  301.    void __fastcall edtHighApcDcOffsetCheck(TObject *Sender);
  302.    void __fastcall edtPCLDACCheck(TObject *Sender);
  303.    void __fastcall edtRampDnCheck(TObject *Sender);
  304.    void __fastcall edtRampUpCheck(TObject *Sender);
  305.    void __fastcall edtTestArfcnCheck(TObject *Sender);
  306.    void __fastcall edtWtARFCNCheck(TObject *Sender);
  307.    void __fastcall edtWtHighCheck(TObject *Sender);
  308.    void __fastcall edtWtLowCheck(TObject *Sender);
  309.    void __fastcall edtWtPCLCheck(TObject *Sender);
  310.    void __fastcall tctlAPCChange(TObject *Sender);
  311.    void __fastcall FormActivate(TObject *Sender);
  312.    void __fastcall HintTimerTimer(TObject *Sender);
  313.    void __fastcall FormHide(TObject *Sender);
  314.         void __fastcall edtBatteryCompensateCheck(TObject *Sender);
  315.         void __fastcall btnChangeDBClick(TObject *Sender);
  316.         void __fastcall btnGUIRampClick(TObject *Sender);
  317.         void __fastcall edtTxAfcOffsetCheck(TObject *Sender);
  318.         void __fastcall btnTXStopClick(TObject *Sender);
  319.         void __fastcall cbBVClick(TObject *Sender);
  320.         void __fastcall edtAPCheck(TObject *Sender);
  321.         void __fastcall edtASCheck(TObject *Sender);
  322.         void __fastcall edtAOCheck(TObject *Sender);
  323.         void __fastcall edtBDCheck(TObject *Sender);
  324.         void __fastcall edtAOFCheck(TObject *Sender);
  325.         void __fastcall edtBVW12Check(TObject *Sender);
  326.         void __fastcall edtBVW13Check(TObject *Sender);
  327.         void __fastcall edtBVW14Check(TObject *Sender);
  328.         void __fastcall edtTNCheck(TObject *Sender);
  329.         void __fastcall edtTOCheck(TObject *Sender);
  330.         void __fastcall edtPMCheck(TObject *Sender);
  331.         void __fastcall cbC3ModeEnableClick(TObject *Sender);
  332.         void __fastcall edtTCCheck(TObject *Sender);
  333.         void __fastcall edtTBCheck(TObject *Sender);
  334.         void __fastcall btnSetCAL3ModeToRegisterClick(TObject *Sender);
  335.         void __fastcall FormClose(TObject *Sender, TCloseAction &Action);
  336.         void __fastcall FormCreate(TObject *Sender);
  337.         void __fastcall edtAfcDacCheck(TObject *Sender);
  338.         void __fastcall edtLowApcDcOffsetCheck(TObject *Sender);
  339.         void __fastcall edtAPCLowestPowerCheck(TObject *Sender);
  340. private: // User declarations
  341.    // common
  342.    bool    m_bInit;
  343.    bool    m_bFirstFormShow;
  344.    TEdit   *edtPCLDAC[16];
  345.    TButton *btnPCL[16];
  346.    TEdit   *edtRampUp[16];
  347.    TEdit   *edtRampDn[16];
  348.    TEdit   *edtWtARFCN[12];
  349.    TEdit   *edtWtHigh[12];
  350.    TEdit   *edtWtLow[12];
  351.    TEdit   *edtWtPCL[12];
  352.    TEdit   *edtBatteryCompensateArray[3][3];
  353.    int lastTabIndex;
  354.    unsigned int  m_uiFinalRFID;
  355.    bool isSetCal3ModeTrigger;
  356.    bool  m_bTADOSupport;
  357.    // band
  358.    unsigned int BandSupportArray[MAX_SUPPORT_BAND_NUM];
  359.    // Renesas
  360.    RF_BRIGHT5P_Coef_T        b5p_coef;
  361.    sC3Mode  c3mode;
  362.    sBVW0  bvw640;
  363.    sBVW0  bvw650;
  364.    sBVW0  bvw660;
  365.    sBVW0  bvw670;
  366.    sBVW2  bvw2[MAX_RENESAS_BV_WORD_NUM];
  367.    bool m_bDownloadTrigger;
  368.    E_BANDSEL m_eCurBand;
  369.    int m_iCurPCLIndex;
  370.    short m_sTestArfcn[MAX_SUPPORT_BAND_NUM];  // GSM900, DCS1800, PCS1900, GSM 850
  371.    unsigned short  m_usHighApcDcOffset[MAX_SUPPORT_BAND_NUM];
  372.    unsigned short  m_usLowApcDcOffset[MAX_SUPPORT_BAND_NUM];
  373.    int  m_iApcLowestPower[MAX_SUPPORT_BAND_NUM];
  374.    short tx_afc_offset[MAX_SUPPORT_BAND_NUM];
  375.    CRFTX   *RF_TX_Obj;
  376.    CRFAPC  *RF_APC_Obj;
  377.    l1cal_rampTable_T m_sRFCal_RamTable[MAX_SUPPORT_BAND_NUM];
  378.    char m_cTsc;
  379.    short  m_sAfcDac;
  380.    APCTxPattern m_eBurstType;
  381.    // query
  382.    sTRFTADO     t_RfTado;
  383.    sTRFSETRAMP  t_RfSetRamp;
  384. protected:
  385.    void  ShowHintLabel(TControl *sender, char* hint);
  386. public: // User declarations
  387.    __fastcall TfrmApcProfile(TComponent* Owner);
  388.    void _fastcall  SubClassWndProc(Messages::TMessage &Message);
  389.     // common
  390.     bool read_db_file(AnsiString asFileName);
  391.     void UpdateDBFileCaption(AnsiString asFileName);
  392.     // call back
  393.     void  ConfirmCallback_RfSetRampTable(void);
  394.     void  ConfirmCallback_TX(void);
  395.     void  UploadApcFromFlashDone(void);
  396.     void  UploadB5PFromFlashDone(void);
  397.     void  DownloadApcToFlashDone(void);
  398.     void  DownloadB5PToFlashDone(void);
  399.     void  CNF_SetB5PToReg(void);
  400.     void  CNF_SetW6sImmediateBSI(void);
  401.     // UI
  402.     void  DisplayTADOUI(bool b_tado_support);
  403.     void  read_APC_files_setup(AnsiString asSetupFile, AnsiString asExeName);
  404.     void  read_APC_db_file(AnsiString asFileName);
  405.     void  write_APC_files_setup(AnsiString asSetupFile, AnsiString asExeName);
  406.     void  CurrentPageLock(void);
  407.     void  CurrentPageReset(void);
  408.     void  ReDrawFields(int draw_mask);
  409.     bool  CheckFields(void);
  410.     // band
  411.     // Renesas
  412.     void Compose_C3Reg(int tn, int to, int pm, int &c3reg);
  413.     void DeCompose_C3Reg(int c3reg, int &tn, int &to, int &pm);
  414.     void Display_RenesasUI(int band_mode);
  415.     void Display_Word3(void);
  416.     void Display_Word6s(int band_mode);
  417.     void Display_C3WordEditor(void);
  418.     void Display_BVW64(void);
  419.     void Display_BVW65(void);
  420.     void Display_BVW66(void);
  421.     void Display_BVW67(void);
  422.     bool ComposeRenesasField(void);
  423.     bool DeComposeRenesasField(void);
  424.     void Get_CurrentWord6s(unsigned int &cur_w6s);
  425.     // query
  426.     void __fastcall on_QueryTwoApcDcOffset_Fail(TObject *Sender);
  427.     void __fastcall on_QueryTwoApcDcOffset_TerminateSuccess(TObject *Sender);
  428.     void  Query_TwoApcDcOffset_Support(void);
  429.     void __fastcall on_QueryRfSetRampTableSupport_Fail(TObject *Sender);
  430.     void __fastcall on_QueryRfSetRampTableSupport_TerminateSuccess(TObject *Sender);
  431.     void  Query_RfSetRampTable_Support(void);
  432.     // Global information
  433.     void Init(void);
  434.     void Set_RF_APC_Obj(CRFAPC  *rf_apc_obj);
  435.     void Set_RF_TX_Obj(CRFTX *rf_tx_obj);
  436.     void Set_Tsc(int tsc);
  437.     void Set_AfcDac(int afc_dac);
  438.     void Set_BurstType(APCTxPattern burst_type);
  439. };
  440. //---------------------------------------------------------------------------
  441. extern PACKAGE TfrmApcProfile *frmApcProfile;
  442. //---------------------------------------------------------------------------
  443. #endif