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

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.  *   Cal_common.h
  40.  *
  41.  * Project:
  42.  * --------
  43.  *   Maui META APP
  44.  *
  45.  * Description:
  46.  * ------------
  47.  *  Calibration common 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 _CAL_COMMON_H_
  67. #define _CAL_COMMON_H_
  68. // RF
  69. #ifndef  _RF_TXIQ_H_
  70. #include "rf_txiq.h"
  71. #endif
  72. // BT
  73. #ifndef  _BT_INFO_MT6601_H_
  74. #include "bt_info_mt6601.h"
  75. #endif
  76. #ifndef  _BT_INFO_MT6611_H_
  77. #include "bt_info_mt6611.h"
  78. #endif
  79. // WiFi
  80. #ifndef  _WIFI_APC_H_
  81. #include "wifi_apc.h"
  82. #endif
  83. #ifndef  _WIFI_ALC_H_
  84. #include "wifi_alc.h"
  85. #endif
  86. #ifndef  _WIFI_TXDC_H_
  87. #include "wifi_txdc.h"
  88. #endif
  89. //------------------------------------------------------------------------------
  90. /////////////////////////  macro    ////////////////////////////////////////////
  91. //------------------------------------------------------------------------------
  92. #define CHECK_TERMINATE_BY_USER   if ( this->Terminated )           
  93.                                   {                                 
  94.                                       this->OnTerminate = neByUser;  
  95.                                       return false;                  
  96.                                   }
  97.                                
  98. #define SUSPEND_CAL_THREAD   is_suspend_cal = true; 
  99.                              this->Suspend(); 
  100.                              is_suspend_cal = false;
  101. #define STOP_RF  if (!MF_rf_stop.REQ_Start()) 
  102.                  { 
  103.                      CalErrorHandler(WM_MF_RF_STOP_FAIL); 
  104.                      log->Add(DateToStr(Date()) +  " " + CurrentTimeStr() + 
  105.                               " FAIL: Target < stop RF fail." 
  106.                              ); 
  107.                      return false; 
  108.                  }
  109. #define LogAdd(as_str)     log->Add( DateToStr(Date()) +  " " + CurrentTimeStr() + as_str )
  110. typedef struct
  111. {
  112.     bool b_ip2_cal;
  113.     bool b_afc_cal;
  114.     bool b_rx_path_loss_cal;
  115.     bool b_tx_iq_cal;
  116.     bool b_tx_pcl_cal;
  117.     bool b_trx_offset_cal;
  118.     bool b_bt_cap_id_cal;
  119.     bool b_adc_cal;
  120.     bool b_cv_cal;
  121.     bool b_wifi_tx_dc_offset_cal;
  122.     bool b_wifi_tx_power_cal;
  123. }S_CAL_ITEM;
  124. typedef enum
  125. {
  126.     TCVCXO=0,
  127.     CRYSTAL
  128. }E_AFC_TYPE;
  129. typedef enum
  130. {
  131.     RUN_TIME=0,
  132.     WRITE_NVARM
  133. }E_CRYSTAL_CAP_ID_UPDATE;
  134. typedef struct
  135. {
  136.     E_CRYSTAL_CAP_ID_UPDATE  crystal_cap_id_update;
  137.    // bool b_tx_afc_offset_cal;
  138. }S_CRYSTAL_AFC_OPTION;
  139. // TX IQ
  140. typedef enum
  141. {
  142.     TX_IQ_GMSK=0,
  143.     TX_IQ_EPSK
  144. }E_TX_IQ_TYPE;
  145. // APC
  146. typedef enum
  147. {
  148.     TX_SLOT_SINGLE=0,
  149.     TX_SLOT_MULTI
  150. }E_TX_SLOT;
  151. typedef enum
  152. {
  153.     ONE_PCL=0,
  154.     TWO_PCL,
  155.     THREE_PCL,
  156.     FOUR_PCL,
  157.     SIX_DAC,
  158.     FULL_PCL
  159. }E_APC_TYPE_T;
  160. typedef enum
  161. {
  162.     APC_MOD_GMSK = 0x01,
  163.     APC_MOD_EPSK = 0x02
  164. }E_APC_MOD;
  165. typedef enum
  166. {
  167.     RFMD_3140 = 0,
  168.     RFMD_3159,
  169.     SKY_77328,
  170.     SKY_77506,
  171.     SKY_77316,
  172.     SKY_77340,
  173.     RENESAS_PF08155B,
  174.     AXIOM_AX502,
  175.     TRIQUINT_TQM6M5001,
  176. }E_PA_TYPE_T;
  177. typedef enum
  178. {
  179.     PA_BIAS_FIXED = 0,
  180.     PA_BIAS_DYN
  181. }E_PA_BIAS;    
  182. typedef struct
  183. {
  184.     CWIFIAPC*   pc_WIFI_APC_Obj;
  185.     CWIFIALC*   pc_WIFI_ALC_Obj;
  186.     CBTINFO6601* pc_BT_INFO6601_Obj;
  187.     CBTINFO6611* pc_BT_INFO6611_Obj;
  188.     CWIFITXDC*  pc_WIFI_TXDC_Obj;
  189. }S_CAL_OBJ;
  190. typedef struct
  191. {
  192.     int  i_MainMETAHandle;
  193.     bool b_TADOSupport;
  194.     bool b_MultiSlotTxExSupport;
  195.     bool b_WiFiAlcSupport;
  196.     bool b_CalResultPath;
  197.     bool b_ResetRfTester;
  198.     AnsiString as_IniFile;
  199.     AnsiString as_CalPath;
  200.     AnsiString as_ResultBuf;   // log
  201.     BBCHIP_TYPE e_bb_chip;
  202.     unsigned int  ui_rf_id;
  203.     RfMsCapabilityEx_S RfCapability;
  204.     E_BBTXCFG_VER_T e_bbtxcfg_ver;
  205.     WiFi_ChipCapability_S s_wifi_cap;
  206.     BT_ModuleID_S s_bt_bb_id;
  207.     S_CAL_ITEM  s_CalItem;
  208.     E_AFC_TYPE  e_AFC_type;
  209.     S_CRYSTAL_AFC_OPTION  s_crystal_afc_option;
  210.     E_TX_IQ_TYPE e_TX_IQ_type;
  211.     E_APC_TYPE_T  e_GMSK_APC_type;
  212.     E_APC_TYPE_T  e_EPSK_APC_type;
  213.     int i_APC_mod;
  214.     E_PA_TYPE_T   e_PA_type;
  215.     E_PA_BIAS   e_PA_bias;
  216.     E_TX_SLOT   e_tx_slot;
  217.     S_CAL_OBJ   s_cal_obj;
  218. }S_CAL;
  219. #endif