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

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.  *   META_Factory_RF_cb.cpp
  40.  *
  41.  * Project:
  42.  * --------
  43.  *   Maui META APP
  44.  *
  45.  * Description:
  46.  * ------------
  47.  *  META factory RF callback source
  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. #include <windows.h>
  66. #pragma hdrstop
  67. #include "META_Factory.h"
  68. #include "T_META_factory_calibration.h"
  69. #include "meta_msg.h"
  70. extern HANDLE hForm_MF;
  71. // AFC
  72. extern RfAfc_Cnf *MF_rf_afc_cnf;
  73. extern unsigned char RfSetAfcDacCnf;
  74. // PM
  75. extern RfPm_Cnf  *MF_rf_pm_cnf;   // define in T_META_factory_calibration.cpp
  76. // APC
  77. extern bool MF_rf_tx_level_cnf;
  78. extern TfrmFatcory *frmFatcory;
  79. // Tthread
  80. extern bool  is_suspend_cal; // in T_META_factory_calibration.cpp
  81. extern T_META_factory_calibration* pt_calibration;
  82. //------------------------------------------------------------------------------
  83. void __stdcall MF_SelectBand_cnf_cb(const unsigned char cnf, const short token, void *usrData)
  84. {
  85.        frmFatcory->DisableAllCalTimer();
  86.        if (0 == cnf)
  87.        {
  88.           PostMessage(
  89.                      hForm_MF,
  90.                      WM_MF_RF_SELECTBAND_CNF_FAIL,
  91.                      0 ,    // unsigned short -> unsigned int
  92.                      0    // long -> long
  93.                    );
  94.        }
  95.        else
  96.        {
  97.            if(is_suspend_cal == true && pt_calibration != NULL )
  98.            {
  99.                     is_suspend_cal = false;
  100.                     pt_calibration->Resume();
  101.            }
  102.        }
  103. }
  104. //------------------------------------------------------------------------------
  105. void CNF_MF(void)
  106. {
  107.     frmFatcory->DisableAllCalTimer();
  108.     if( is_suspend_cal && pt_calibration != NULL )
  109.     {
  110.         is_suspend_cal = false;
  111.         pt_calibration->Resume();
  112.     }
  113. }
  114. //----------------------------------------------------------------------------
  115. //  IP2
  116. void CNF_SetSky74117IP2MagToReg( void )
  117. {
  118.     frmFatcory->DisableAllCalTimer();
  119.     if( is_suspend_cal && pt_calibration != NULL )
  120.     {
  121.         is_suspend_cal = false;
  122.         pt_calibration->Resume();
  123.     }
  124. }
  125. //---------------------------------------------------------------------------
  126. void CNF_SetSky74117IP2PolToReg( void )
  127. {
  128.     frmFatcory->DisableAllCalTimer();
  129.     if( is_suspend_cal && pt_calibration != NULL )
  130.     {
  131.         is_suspend_cal = false;
  132.         pt_calibration->Resume();
  133.     }
  134. }
  135. //  PM
  136. void __stdcall MF_rf_pm_cnf_cb(const RfPm_Cnf *cnf, const short token, void *usrData)
  137. {
  138.  frmFatcory->DisableAllCalTimer();
  139.          MF_rf_pm_cnf->deviation = cnf->deviation;
  140.          MF_rf_pm_cnf->power     = cnf->power;
  141.          MF_rf_pm_cnf->usedGain  = cnf->usedGain;
  142.          MF_rf_pm_cnf->extra_info.valid = cnf->extra_info.valid;
  143.          MF_rf_pm_cnf->extra_info.iOffset = cnf->extra_info.iOffset;
  144.          MF_rf_pm_cnf->extra_info.qOffset = cnf->extra_info.qOffset;
  145.          MF_rf_pm_cnf->extra_info.validSamples = cnf->extra_info.validSamples;
  146.          if(is_suspend_cal == true && pt_calibration != NULL )
  147.          {
  148.                     is_suspend_cal = false;
  149.                     pt_calibration->Resume();
  150.          }
  151.        //  PostMessage(
  152.        //              hForm_MF,
  153.        //              WM_MF_RF_PM_CNF,
  154.        //              0 ,    // unsigned short -> unsigned int
  155.       //               cnf->power    // long -> long
  156.       //             );
  157. }
  158. //-----------------------------------------------------------------------------
  159. // TX level
  160. void __stdcall MF_rf_tx_level_cb(const unsigned char cnf, const short token, void *usrData)
  161. {
  162.   
  163.      frmFatcory->DisableAllCalTimer();
  164.      MF_rf_tx_level_cnf = cnf;
  165.      PostMessage(
  166.                   hForm_MF,
  167.                   WM_MF_RF_TX_LEVEL_CNF,
  168.                   0,    // unsigned short -> unsigned int
  169.                   cnf    // long -> long
  170.                 );
  171.   }
  172. //-----------------------------------------------------------------------------
  173. // crystal TX level
  174. void __stdcall cb_MF_rf_tx_level_crystal(const unsigned char cnf, const short token, void *usrData)
  175. {
  176.      frmFatcory->DisableAllCalTimer();
  177.      MF_rf_tx_level_cnf = cnf;
  178.      if(is_suspend_cal == true && pt_calibration != NULL ) // added by Andy Ueng
  179.      {
  180.          is_suspend_cal = false;
  181.          pt_calibration->Resume();
  182.      }
  183. }
  184. //-----------------------------------------------------------------------------
  185. // AFC
  186. void __stdcall MF_rf_afc_cb( const RfAfc_Cnf *cnf, const short token, void *usrData )
  187. {
  188.      frmFatcory->DisableAllCalTimer();
  189.      if(MF_rf_afc_cnf == NULL)
  190.      {
  191.         MF_rf_afc_cnf = new RfAfc_Cnf;
  192.      }
  193.      MF_rf_afc_cnf->deviation  = cnf->deviation;
  194.      MF_rf_afc_cnf->fcb_ok_number     = cnf->fcb_ok_number;
  195.      MF_rf_afc_cnf->freqOffset = cnf->freqOffset;
  196.      PostMessage( hForm_MF,
  197.                   WM_MF_RF_AFC_CONTROL_CNF,
  198.                   0,    // unsigned short -> unsigned int
  199.                   cnf->fcb_ok_number    // long -> long
  200.                 );
  201. }
  202. //------------------------------------------------------------------------------
  203. void MF_rf_pm_sub_band_write_cb (FT_NVRAM_WRITE_CNF *cnf, short token, void *usrData )
  204. {
  205.        frmFatcory->DisableAllCalTimer();
  206.        PostMessage(
  207.                      hForm_MF,
  208.                      WM_MF_NVRAM_PATH_LOSS_WRITE_CNF,
  209.                      cnf->status,    // unsigned short -> unsigned int
  210.                      0    //  -> long
  211.                    );
  212. }
  213. //------------------------------------------------------------------------------
  214. void MF_rf_level_ramp_write_cb( FT_NVRAM_WRITE_CNF *cnf, short token, void *usrData)
  215. {
  216.     frmFatcory->DisableAllCalTimer();
  217.     PostMessage(
  218.                      hForm_MF,
  219.                      WM_MF_NVRAM_LEVEL_RAMP_WRITE_CNF,
  220.                      cnf->status,    // unsigned short -> unsigned int
  221.                      0    //  -> long
  222.                );
  223. }
  224. //------------------------------------------------------------------------------
  225. void MF_rf_afc_write_cb ( FT_NVRAM_WRITE_CNF *cnf, short token, void *usrData )
  226. {
  227.        frmFatcory->DisableAllCalTimer();
  228.        PostMessage(
  229.                      hForm_MF,
  230.                      WM_MF_NVRAM_AFC_WRITE_CNF,
  231.                      cnf->status,    // unsigned short -> unsigned int
  232.                      0   // int -> long
  233.                    );
  234.  }
  235. //------------------------------------------------------------------------------
  236. void __stdcall MF_rf_SetAfcDacValue_cb(const unsigned char cnf, const short token, void *usrData)
  237. {
  238.     frmFatcory->DisableAllCalTimer();
  239.     RfSetAfcDacCnf = cnf;
  240.     if (0 == cnf)
  241.     {
  242.           PostMessage(
  243.                         hForm_MF,
  244.                         WM_MF_RF_SET_AFC_DAC_CNF_FAIL,
  245.                         0 ,    // unsigned short -> unsigned int
  246.                         0    // long -> long
  247.                      );
  248.     }
  249.     if(is_suspend_cal == true && pt_calibration != NULL )
  250.     {
  251.         is_suspend_cal = false;
  252.         pt_calibration->Resume();
  253.     }
  254. }
  255. //---------------------------------------------------------------------------
  256. void ccb_set_apc_level()
  257. {
  258.     frmFatcory->DisableAllCalTimer();
  259.     if(is_suspend_cal == true && pt_calibration != NULL )
  260.     {
  261.         is_suspend_cal = false;
  262.         pt_calibration->Resume();
  263.     }
  264. }
  265. //---------------------------------------------------------------------------
  266. void ccb_rf_stop()
  267. {
  268.     frmFatcory->DisableAllCalTimer();
  269.     if(is_suspend_cal == true && pt_calibration != NULL )
  270.     {
  271.         is_suspend_cal = false;
  272.         pt_calibration->Resume();
  273.     }
  274. }
  275. //==============================================================================
  276. void __stdcall ccb_MF_rf_tx_level_TrOff(const unsigned char cnf, const short token, void *usrData)
  277. {
  278.      frmFatcory->DisableAllCalTimer();
  279.      MF_rf_tx_level_cnf = cnf;
  280.      if(is_suspend_cal == true && pt_calibration != NULL ) // added by Andy Ueng
  281.      {
  282.          is_suspend_cal = false;
  283.          pt_calibration->Resume();
  284.      }
  285. }
  286. //------------------------------------------------------------------------------
  287. void __stdcall ccb_rf_setbbtx_cfg_TrOff(const unsigned char cnf, const short token, void *usrData)
  288. {
  289.     frmFatcory->DisableAllCalTimer();
  290.     if(is_suspend_cal == true && pt_calibration != NULL )
  291.     {
  292.         is_suspend_cal = false;
  293.         pt_calibration->Resume();
  294.     }
  295. }
  296. //===============================================================================================
  297. // mutli slot TX
  298. void  ConfirmCallback_MultiSlotTX( void )
  299. {
  300.     frmFatcory->DisableAllCalTimer();
  301.     if(is_suspend_cal == true && pt_calibration != NULL )
  302.     {
  303.         is_suspend_cal = false;
  304.         pt_calibration->Resume();
  305.     }
  306. }