form_BaseBand.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_Baseband.h
  40.  *
  41.  * Project:
  42.  * --------
  43.  *   Maui META APP
  44.  *
  45.  * Description:
  46.  * ------------
  47.  *   Baseband 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_BASEBAND_H_
  67. #define _FORM_BASEBAND_H_
  68. //---------------------------------------------------------------------------
  69. #include <Classes.hpp>
  70. #include <Controls.hpp>
  71. #include <StdCtrls.hpp>
  72. #include <Forms.hpp>
  73. #include <Buttons.hpp>
  74. #include <ComCtrls.hpp>
  75. #include <Dialogs.hpp>
  76. #include <ExtCtrls.hpp>
  77. #ifndef  _BB_ADC_H_
  78. #include "bb_adc.h"
  79. #endif
  80. #ifndef  _BB_REG_H_
  81. #include "bb_reg.h"
  82. #endif
  83. #ifndef  _BB_PMIC_REG_H_
  84. #include "bb_pmic_reg.h"
  85. #endif
  86. #ifndef  _BB_CUST_HW_H_
  87. #include "bb_cust_hw.h"
  88. #endif
  89. #ifndef  _BB_LED_H_
  90. #include "bb_led.h"
  91. #endif
  92. #ifndef  _BB_VIBRATOR_H_
  93. #include "bb_vibrator.h"
  94. #endif
  95. #ifndef  _BB_RTC_H_
  96. #include "bb_rtc.h"
  97. #endif
  98. //---------------------------------------------------------------------------
  99. // BG
  100. #define  BATTERY_LEVEL_SHUT_DOWN_IDX            0
  101. #define  BATTERY_LEVEL_NO_MO_CALL_IDX           1
  102. #define  BATTERY_LEVEL_LOW_BATTERY_WARNING_IDX  2
  103. #define  BATTERY_LEVEL_LEVEL1_IDX               3
  104. #define  BATTERY_LEVEL_LEVEL2_IDX               4
  105. #define  BATTERY_LEVEL_LEVEL3_IDX               5
  106. //---------------------------------------------------------------------------
  107. typedef enum
  108. {
  109.     BB_PAGEIDX_ADC = 0,
  110.     BB_PAGEIDX_BB_REG,
  111.     BB_PAGEIDX_PMIC_REG,
  112.     BB_PAGEIDX_BATTERY,
  113.     BB_PAGEIDX_LED,
  114.     BB_PAGEIDX_VBR,
  115.     BB_PAGEIDX_RTC
  116. }E_BB_PAGEIDX_T;
  117. //---------------------------------------------------------------------------
  118. class TfrmBaseBand : public TForm
  119. {
  120. __published: // IDE-managed Components
  121.    TBevel *Bevel1;
  122.    TBitBtn *btnMeasureAdcStart1;
  123.    TBitBtn *btnMeasureAdcStart2;
  124.         TButton *btnADC0;
  125.         TButton *btnADC1;
  126.         TButton *btnADC2;
  127.         TButton *btnADC3;
  128.         TButton *btnADC4;
  129.    TButton *btnAdcDownloadToFlash;
  130.    TButton *btnAdcLoadFromFile;
  131.    TButton *btnAdcSaveToFile;
  132.    TButton *btnAdcUploadFromFlash;
  133.    TButton *btnApply;
  134.         TButton *btnBBRegRead;
  135.         TButton *btnBBRegValue;
  136.         TButton *btnBBRegWrite;
  137.         TEdit *edtBBAddress;
  138.    TEdit *edtInput1;
  139.    TEdit *edtInput2;
  140.         TEdit *edtOffset0;
  141.         TEdit *edtOffset1;
  142.         TEdit *edtOffset2;
  143.         TEdit *edtOffset3;
  144.         TEdit *edtOffset4;
  145.         TEdit *edtSlope0;
  146.         TEdit *edtSlope1;
  147.         TEdit *edtSlope2;
  148.         TEdit *edtSlope3;
  149.         TEdit *edtSlope4;
  150.         TEdit *edtBBValue;
  151.    TLabel *lblLabel01;
  152.    TLabel *lblLabel02;
  153.    TLabel *lblLabel03;
  154.    TLabel *lblLabel04;
  155.    TLabel *lblLabel05;
  156.    TLabel *lblLabel06;
  157.    TLabel *lblLabel07;
  158.    TLabel *lblLabel08;
  159.    TLabel *lblLabel09;
  160.    TLabel *lblLabel10;
  161.    TLabel *lblLabel12;
  162.         TLabel *lblBBRegAddr0X;
  163.         TLabel *lblBBRegValue0X;
  164.    TOpenDialog *OpenDialog;
  165.         TPageControl *pctlToolSel;
  166.    TPanel *Panel1;
  167.    TPanel *pnlProfileTitle;
  168.    TSaveDialog *SaveDialog;
  169.    TStaticText *lblHint;
  170.    TStaticText *txtOutput1;
  171.    TStaticText *txtOutput2;
  172.    TStaticText *txtResultOffset;
  173.    TStaticText *txtResultSlope;
  174.         TTabSheet *tsADC;
  175.         TTabSheet *tsBBReg;
  176.    TTimer *HintTimer;
  177.         TLabel *Label1;
  178.         TEdit *edtMeasureCount;
  179.         TButton *btnADC5;
  180.         TEdit *edtSlope5;
  181.         TEdit *edtOffset5;
  182.         TButton *btnADC6;
  183.         TEdit *edtSlope6;
  184.         TEdit *edtOffset6;
  185.         TButton *btnADCChangeDB;
  186.         TStatusBar *sbAdc;
  187.         TStatusBar *sbReg;
  188.         TTabSheet *tsBL;
  189.         TStatusBar *sbBG;
  190.         TLabel *Label2;
  191.         TGroupBox *GroupBox1;
  192.         TLabel *Label3;
  193.         TEdit *edtBGShutdown;
  194.         TLabel *Label4;
  195.         TEdit *edtBGNoMoCall;
  196.         TEdit *edtBGLowBatteryWarning;
  197.         TLabel *Label5;
  198.         TLabel *Label6;
  199.         TEdit *edtBGLevel1;
  200.         TLabel *Label7;
  201.         TEdit *edtBGLevel2;
  202.         TLabel *Label8;
  203.         TEdit *edtBGLevel3;
  204.         TButton *btnBGUploadFromFlash;
  205.         TButton *btnBGDownloadToFlash;
  206.         TButton *btnBGChangeDB;
  207.         TButton *btnBGLoadFromFile;
  208.         TButton *btnBGSaveToFile;
  209.         TLabel *Label9;
  210.         TLabel *Label10;
  211.         TLabel *Label11;
  212.         TLabel *Label12;
  213.         TLabel *Label13;
  214.         TLabel *Label14;
  215.         TLabel *Label15;
  216.         TComboBox *cbADCBatteryChannel;
  217.         TLabel *Label16;
  218.         TComboBox *cbADCChargerChannel;
  219.         TTabSheet *tsPMICReg;
  220.         TLabel *lblPMICRegAddr;
  221.         TEdit *edtPMICAddress;
  222.         TLabel *lblPMICRegAddr0X;
  223.         TButton *btnPMICRegValue;
  224.         TEdit *edtPMICValue;
  225.         TLabel *lblPMICRegValue0X;
  226.         TButton *btnPMICRegRead;
  227.         TButton *btnPMICRegWrite;
  228.         TStatusBar *m_sbPMIC;
  229.         TButton *btnPMICReg;
  230.         TTabSheet *tsLED;
  231.         TEdit *m_edtKeypadLED;
  232.         TLabel *Label17;
  233.         TButton *m_btnKeypadLEDSet;
  234.         TTabSheet *tsVBR;
  235.         TButton *btnVBROn;
  236.         TButton *btnVBROff;
  237.         TTabSheet *tsRTC;
  238.         TLabel *Label18;
  239.         TEdit *edtRTCYear;
  240.         TLabel *Label19;
  241.         TEdit *edtRTCWDay;
  242.         TEdit *edtRTCMonth;
  243.         TLabel *Label20;
  244.         TLabel *Label21;
  245.         TEdit *edtRTCDay;
  246.         TLabel *Label22;
  247.         TEdit *edtRTCWHour;
  248.         TEdit *edtRTCMinute;
  249.         TEdit *edtRTCSec;
  250.         TLabel *Label23;
  251.         TLabel *Label24;
  252.         TButton *btnRTCQuery;
  253.         TStatusBar *m_sbLED;
  254.         TStatusBar *m_sbVBR;
  255.         TStatusBar *m_sbRTC;
  256.         TEdit *m_edtMainLCD;
  257.         TLabel *Label25;
  258.         TButton *m_btnMainLCDSet;
  259.         void __fastcall btnAdcLoadFromFileClick(TObject *Sender);
  260.         void __fastcall btnAdcSaveToFileClick(TObject *Sender);
  261.         void __fastcall btnAdcDownloadToFlashClick(TObject *Sender);
  262.         void __fastcall btnAdcUploadFromFlashClick(TObject *Sender);
  263.         void __fastcall edtSlopeCheck(TObject *Sender);
  264.         void __fastcall edtOffsetCheck(TObject *Sender);
  265.         void __fastcall edtInputCheck(TObject *Sender);
  266.         void __fastcall HintTimerTimer(TObject *Sender);
  267.         void __fastcall btnAdcClick(TObject *Sender);
  268.         void __fastcall btnMeasureAdcStart1Click(TObject *Sender);
  269.         void __fastcall btnMeasureAdcStart2Click(TObject *Sender);
  270.         void __fastcall btnApplyClick(TObject *Sender);
  271.         void __fastcall edtRegAddrCheck(TObject *Sender);
  272.         void __fastcall edtRegValueCheck(TObject *Sender);
  273.         void __fastcall pctlToolSelChange(TObject *Sender);
  274.         void __fastcall btnBBRegReadClick(TObject *Sender);
  275.         void __fastcall btnBBRegWriteClick(TObject *Sender);
  276.         void __fastcall btnBBRegValueClick(TObject *Sender);
  277.         void __fastcall FormHide(TObject *Sender);
  278.         void __fastcall edtMeasureCountCheck(TObject *Sender);
  279.         void __fastcall btnADCChangeDBClick(TObject *Sender);
  280.         void __fastcall btnBGUploadFromFlashClick(TObject *Sender);
  281.         void __fastcall btnBGDownloadToFlashClick(TObject *Sender);
  282.         void __fastcall btnBGChangeDBClick(TObject *Sender);
  283.         void __fastcall btnBGLoadFromFileClick(TObject *Sender);
  284.         void __fastcall btnBGSaveToFileClick(TObject *Sender);
  285.         void __fastcall edtBatteryLevelVoltageCheck(TObject *Sender);
  286.         void __fastcall FormCreate(TObject *Sender);
  287.         void __fastcall btnPMICRegValueClick(TObject *Sender);
  288.         void __fastcall btnPMICRegReadClick(TObject *Sender);
  289.         void __fastcall btnPMICRegWriteClick(TObject *Sender);
  290.         void __fastcall FormActivate(TObject *Sender);
  291.         void __fastcall edtPMICAddressCheck(TObject *Sender);
  292.         void __fastcall edtPMICValueCheck(TObject *Sender);
  293.         void __fastcall btnPMICRegClick(TObject *Sender);
  294.         void __fastcall m_btnKeypadLEDSetClick(TObject *Sender);
  295.         void __fastcall btnVBROnClick(TObject *Sender);
  296.         void __fastcall edtLEDLightLevelCheck(TObject *Sender);
  297.         void __fastcall btnVBROffClick(TObject *Sender);
  298.         void __fastcall edtRTCYearCheck(TObject *Sender);
  299.         void __fastcall edtRTCMonthCheck(TObject *Sender);
  300.         void __fastcall edtRTCDayCheck(TObject *Sender);
  301.         void __fastcall edtRTCWDayCheck(TObject *Sender);
  302.         void __fastcall edtRTCHourCheck(TObject *Sender);
  303.         void __fastcall edtRTCMinuteCheck(TObject *Sender);
  304.         void __fastcall edtRTCSecCheck(TObject *Sender);
  305.         void __fastcall btnRTCQueryClick(TObject *Sender);
  306.         void __fastcall m_edtMainLCDCheck(TObject *Sender);
  307.         void __fastcall m_edtSubLCDCheck(TObject *Sender);
  308.         void __fastcall m_btnMainLCDSetClick(TObject *Sender);
  309.         void __fastcall m_btnSubLCDSetClick(TObject *Sender);
  310. private: // User declarations
  311.     bool       m_bInit;
  312.     int        m_iFinalBBChip;
  313.     CBBADC     m_BB_ADC_Obj;
  314.     CBBREG     m_BB_REG_Obj;
  315.     CBBPMICREG m_cBB_PMIC_REG_Obj;
  316.     CBBCUSTHW  m_BB_CUSTHW_Obj;
  317.     CBBLED     m_cBB_LED_Obj;
  318.     CBBVBR     m_cBB_VBR_Obj;
  319.     CBBRTC     m_cBB_RTC_Obj;
  320.     // ADC
  321.     unsigned short m_usMeasureCount;
  322.     // BG
  323.     bool  m_bDownloadTrigger;
  324.     unsigned int m_uiBatteryLevelVoltage[VISIBLE_BATTERY_LEVEL_NUM];
  325.     S_CUSTOM_HW_LEVEL  m_custom_hw_level;
  326.     TEdit *m_edtSlope[TOTAL_6218_ADC_NUM];
  327.     TEdit *m_edtOffset[TOTAL_6218_ADC_NUM];
  328.     TButton *m_btnADC[TOTAL_6218_ADC_NUM];
  329.     int  m_iCurAdcChannel;
  330.     // BB register
  331.     unsigned int   m_uiBBRegAddr;
  332.     unsigned short  m_usBBRegValue;
  333.     // PMIC register
  334.     PMIC_ID m_sPmicId;
  335.     unsigned int   m_uiPMICRegAddr;
  336.     unsigned short  m_usPMICRegValue;
  337.     // LED
  338.     FtLEDLevel m_sLEDLevel;
  339.     unsigned char m_cMainLCDLevel;
  340.     unsigned char m_cSubLCDLevel;
  341.     // RTC
  342.     T_Rtc m_sRTC;
  343. public: // User declarations
  344.     // common
  345.     __fastcall TfrmBaseBand(TComponent* Owner);
  346.     void  CurrentPageReset(void);
  347.     void  CurrentPageLock(void);
  348.     void  ShowHintLabel(TControl *sender, char* hint);
  349.     void  ReDrawFields(E_BB_PAGEIDX_T pageidx);
  350.     bool  CheckFields(void );
  351.     void  Force_BB_Stop(void);
  352.     void  Init(void);
  353.     // ADC
  354.     void  Display_AdcBatteryChannel( int bb_chip );
  355.     void  Display_AdcChargerChannel( int bb_chip );
  356.     void  MeasureAdc1_Done( void );
  357.     void  MeasureAdc2_Done( void );
  358.     void  UploadFromFlashDone( void );
  359.     void  DownloadToFlashDone( void );
  360.     // BB register
  361.     void  ReadRegister_Done( void );
  362.     void  WriteRegister_Done( void );
  363.     // PMIC register
  364.     void PMIC_ReadRegister_Done( void );
  365.     void PMIC_WriteRegister_Done( void );
  366.     // BG
  367.     void  ReDrawBGFields( void );
  368.     void  UploadBGFromFlashDone( void );
  369.     void  DownloadBGToFlashDone( void );
  370.     // LED
  371.     void CNF_LED_SetLightLevel(void);
  372.     void CNF_LED_MainLCDLightLevel(void);
  373.     void CNF_LED_SubLCDLightLevel(void);
  374.     // vibrator
  375.     void CNF_VBR_TurnOnVibrator(void);
  376.     void CNF_VBR_TurnOffVibrator(void);
  377.     // RTC
  378.     void CNF_RTC_Query(void);
  379.     // share information
  380.     PMIC_ID* Get_PMIC_ID(void);
  381. };
  382. //---------------------------------------------------------------------------
  383. extern PACKAGE TfrmBaseBand *frmBaseBand;
  384. //---------------------------------------------------------------------------
  385. #endif