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

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.  *   rf_mt6139reg.cpp
  40.  *
  41.  * Project:
  42.  * --------
  43.  *   Maui META APP
  44.  *
  45.  * Description:
  46.  * ------------
  47.  *   MT6139 register read/write 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 <IniFiles.hpp>
  66. #pragma hdrstop
  67. #ifndef  _RF_MT6139REG_H_
  68. #include "rf_mt6139reg.h"
  69. #endif
  70. #ifndef  _MAN_ACTIVE_H_
  71. #include "man_active.h"
  72. #endif
  73. //===========================================================================
  74. static CRFMT6139REG*  rf_mt6139reg_ptr;
  75. static bool g_bIsRunning;
  76. // MT6139 All
  77. //----------------------------------------------------------------------------
  78. static void  Get_MT6139AllFromReg( void )
  79. {
  80.     rf_mt6139reg_ptr->Get_MT6139AllFromReg();
  81. }
  82. //----------------------------------------------------------------------------
  83. static void  Set_MT6139AllToReg( void )
  84. {  rf_mt6139reg_ptr->Set_MT6139AllToReg();
  85. }
  86. // MT6139 CW0
  87. //----------------------------------------------------------------------------
  88. static void  Set_MT6139CW0ToReg( void )
  89. {  rf_mt6139reg_ptr->Set_MT6139CW0ToReg();
  90. }
  91. //----------------------------------------------------------------------------
  92. static void  Get_MT6139CW0FromReg( void )
  93. {  rf_mt6139reg_ptr->Get_MT6139CW0FromReg();
  94. }
  95. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  96. // MT6139 CW1
  97. static void  Set_MT6139CW1ToReg( void )
  98. {   rf_mt6139reg_ptr->Set_MT6139CW1ToReg();
  99. }
  100. //----------------------------------------------------------------------------
  101. static void  Get_MT6139CW1FromReg( void )
  102. {  rf_mt6139reg_ptr->Get_MT6139CW1FromReg();
  103. }
  104. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  105. // MT6139 CW2
  106. static void  Set_MT6139CW2ToReg( void )
  107. {   rf_mt6139reg_ptr->Set_MT6139CW2ToReg();
  108. }
  109. //----------------------------------------------------------------------------
  110. static void  Get_MT6139CW2FromReg( void )
  111. {   rf_mt6139reg_ptr->Get_MT6139CW2FromReg();
  112. }
  113. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  114. // MT6139 CW3
  115. static     void  Set_MT6139CW3ToReg( void )
  116. {   rf_mt6139reg_ptr->Set_MT6139CW3ToReg();
  117. }
  118. //----------------------------------------------------------------------------
  119. static     void  Get_MT6139CW3FromReg( void )
  120. {  rf_mt6139reg_ptr->Get_MT6139CW3FromReg();
  121. }
  122. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  123. // MT6139 CW4
  124. static     void  Set_MT6139CW4ToReg( void )
  125. {   rf_mt6139reg_ptr->Set_MT6139CW4ToReg();
  126. }
  127. //----------------------------------------------------------------------------
  128. static     void  Get_MT6139CW4FromReg( void )
  129. {   rf_mt6139reg_ptr->Get_MT6139CW4FromReg();
  130. }
  131. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  132. // MT6139 CW5
  133. static     void  Set_MT6139CW5ToReg( void )
  134. {   rf_mt6139reg_ptr->Set_MT6139CW5ToReg();
  135. }
  136. //----------------------------------------------------------------------------
  137. static     void  Get_MT6139CW5FromReg( void )
  138. {   rf_mt6139reg_ptr->Get_MT6139CW5FromReg();
  139. }
  140. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  141. // MT6139 CW6
  142. static     void  Set_MT6139CW6ToReg( void )
  143. {   rf_mt6139reg_ptr->Set_MT6139CW6ToReg();
  144. }
  145. //----------------------------------------------------------------------------
  146. static     void  Get_MT6139CW6FromReg( void )
  147. {   rf_mt6139reg_ptr->Get_MT6139CW6FromReg();
  148. }
  149. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  150. // MT6139 CW7
  151. static     void  Set_MT6139CW7ToReg( void )
  152. {   rf_mt6139reg_ptr->Set_MT6139CW7ToReg();
  153. }
  154. //----------------------------------------------------------------------------
  155. static     void  Get_MT6139CW7FromReg( void )
  156. {   rf_mt6139reg_ptr->Get_MT6139CW7FromReg();
  157. }
  158. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  159. // MT6139 CW8
  160. static     void  Set_MT6139CW8ToReg( void )
  161. {   rf_mt6139reg_ptr->Set_MT6139CW8ToReg();
  162. }
  163. //----------------------------------------------------------------------------
  164. static     void  Get_MT6139CW8FromReg( void )
  165. {   rf_mt6139reg_ptr->Get_MT6139CW8FromReg();
  166. }
  167. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  168. // MT6139 CW9
  169. static     void  Set_MT6139CW9ToReg( void )
  170. {   rf_mt6139reg_ptr->Set_MT6139CW9ToReg();
  171. }
  172. //----------------------------------------------------------------------------
  173. static     void  Get_MT6139CW9FromReg( void )
  174. {   rf_mt6139reg_ptr->Get_MT6139CW9FromReg();
  175. }
  176. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  177. // MT6139 CW10
  178. static     void  Set_MT6139CW10ToReg( void )
  179. {   rf_mt6139reg_ptr->Set_MT6139CW10ToReg();
  180. }
  181. //----------------------------------------------------------------------------
  182. static     void  Get_MT6139CW10FromReg( void )
  183. {   rf_mt6139reg_ptr->Get_MT6139CW10FromReg();
  184. }
  185. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  186. // MT6139 CW11
  187. static     void  Set_MT6139CW11ToReg( void )
  188. {   rf_mt6139reg_ptr->Set_MT6139CW11ToReg();
  189. }
  190. //----------------------------------------------------------------------------
  191. static     void  Get_MT6139CW11FromReg( void )
  192. {   rf_mt6139reg_ptr->Get_MT6139CW11FromReg();
  193. }
  194. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  195. // MT6139 CW15
  196. static     void  Set_MT6139CW15ToReg( void )
  197. {   rf_mt6139reg_ptr->Set_MT6139CW15ToReg();
  198. }
  199. //----------------------------------------------------------------------------
  200. static     void  Get_MT6139CW15FromReg( void )
  201. {   rf_mt6139reg_ptr->Get_MT6139CW15FromReg();
  202. }
  203. //===========================================================================
  204. CRFMT6139REG::CRFMT6139REG( void )
  205. {
  206.     g_bIsRunning = false;
  207.     ConfirmCallback = 0;
  208.     m_bIsMT6139All = false;
  209. }
  210. //---------------------------------------------------------------------------
  211. CRFMT6139REG::~CRFMT6139REG()
  212. {
  213.     g_bIsRunning = false;
  214.     ConfirmCallback = 0;
  215. }
  216. //---------------------------------------------------------------------------
  217. void  CRFMT6139REG::REQ_Stop( void )
  218. {
  219.    if(!g_bIsRunning)  return;
  220.    Confirm( METAAPP_STOP );
  221. }
  222. //---------------------------------------------------------------------------
  223. void CRFMT6139REG::Confirm(E_METAAPP_RESULT_T confirm_state)
  224. {
  225.     if (!g_bIsRunning)
  226.     {
  227.         return;
  228.     }
  229.     g_bIsRunning = false;
  230.     if (NULL == ConfirmCallback)
  231.     {
  232.         return;
  233.     }
  234.     m_eConfirmState = confirm_state;
  235.     ActiveMan->SetActiveFunction(ConfirmCallback);
  236. }
  237. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  238. ////////////////////////////        All      /////////////////////////////////
  239. //----------------------------------------------------------------------------
  240. void  CRFMT6139REG::Set_MT6139AllToReg_Start( unsigned int rf_id  )
  241. {
  242.     rf_mt6139reg_ptr = this;
  243.     g_bIsRunning = true;
  244.     m_bIsMT6139All = true;
  245.     m_uiFinalRfid = rf_id;
  246.     ActiveMan->SetActiveFunction( ::Set_MT6139AllToReg );
  247. }
  248. //----------------------------------------------------------------------------
  249. void  CRFMT6139REG::Set_MT6139AllToReg( void )
  250. {
  251.     if( ! g_bIsRunning )
  252.     {   Confirm( METAAPP_FAIL );  return;  }
  253.     ActiveMan->SetActiveFunction( ::Set_MT6139CW0ToReg );
  254. }
  255. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  256. void  CRFMT6139REG::Get_MT6139AllFromReg_Start( unsigned int rf_id  )
  257. {
  258.     rf_mt6139reg_ptr = this;
  259.     g_bIsRunning = true;
  260.     m_bIsMT6139All = true;
  261.     m_uiFinalRfid = rf_id;
  262.     ActiveMan->SetActiveFunction( ::Get_MT6139AllFromReg );
  263. }
  264. //----------------------------------------------------------------------------
  265. void  CRFMT6139REG::Get_MT6139AllFromReg( void )
  266. {
  267.     if( ! g_bIsRunning )
  268.     {   Confirm( METAAPP_FAIL );  return;  }
  269.     ActiveMan->SetActiveFunction( ::Get_MT6139CW0FromReg );
  270. }
  271. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  272. ////////////////////////////        CW0      /////////////////////////////////
  273. //----------------------------------------------------------------------------
  274. void  CRFMT6139REG::Compose_MT6139CW0( S_MT6139_CW0  &mt6139_cw0_par, unsigned int &bsi_data, unsigned int  rf_id )
  275. {
  276.     bsi_data = (mt6139_cw0_par.uc_por         << 17)  |
  277.                (mt6139_cw0_par.uc_gpo         << 16)  |
  278.                (mt6139_cw0_par.uc_vcosel      << 15)  |
  279.                (mt6139_cw0_par.uc_afc         <<  9)  |
  280.                (mt6139_cw0_par.uc_flt         <<  8)  |
  281.                (mt6139_cw0_par.uc_dien        <<  7)  |
  282.                (mt6139_cw0_par.uc_synpw       <<  6)  |
  283.                (mt6139_cw0_par.uc_syncp       <<  4)  |
  284.                ADDR_MT6139_CW0;
  285. }
  286. //---------------------------------------------------------------------------
  287. void  CRFMT6139REG::DeCompose_MT6139CW0( unsigned int reg_data, S_MT6139_CW0  &mt6139_cw0_par, unsigned int  rf_id )
  288. {
  289.     mt6139_cw0_par.uc_por        = (reg_data >>13)   & 0x01;
  290.     mt6139_cw0_par.uc_gpo        = (reg_data >>12)   & 0x01;
  291.     mt6139_cw0_par.uc_vcosel     = (reg_data >>11)   & 0x01;
  292.     mt6139_cw0_par.uc_afc        = (reg_data >> 5)   & 0x3F;
  293.     mt6139_cw0_par.uc_flt        = (reg_data >> 4)   & 0x01;
  294.     mt6139_cw0_par.uc_dien       = (reg_data >> 3)   & 0x01;
  295.     mt6139_cw0_par.uc_synpw      = (reg_data >> 2)   & 0x01;
  296.     mt6139_cw0_par.uc_syncp      =  reg_data         & 0x03;
  297. }
  298. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  299. void  CRFMT6139REG::Set_MT6139CW0ToReg_Start( S_MT6139_CW0  &mt6139_cw0_par, unsigned int rf_id  )
  300. {
  301.     rf_mt6139reg_ptr = this;
  302.     g_bIsRunning = true;
  303.     m_bIsMT6139All = false;
  304.     m_sMT6139CW0 = mt6139_cw0_par;
  305.     m_uiFinalRfid = rf_id;
  306.     ActiveMan->SetActiveFunction( ::Set_MT6139CW0ToReg );
  307. }
  308. //----------------------------------------------------------------------------
  309. void  CRFMT6139REG::Set_MT6139CW0ToReg( void )
  310. {
  311.     if( ! g_bIsRunning )
  312.     {   Confirm( METAAPP_FAIL );  return;  }
  313.     unsigned int bsi_data;
  314.     Compose_MT6139CW0( m_sMT6139CW0, bsi_data, m_uiFinalRfid );
  315.     META_RESULT MetaResult = META_Rf_SetRFImmediateBSI_r(m_META_HANDLE_Obj.Get_MainHandle(), 500, bsi_data);
  316.     if(MetaResult!=META_SUCCESS)
  317.     {
  318.         if (MetaResult != META_TIMEOUT)
  319.         {
  320.             Confirm(METAAPP_FAIL);
  321.             return;
  322.         }
  323.         else
  324.         {
  325.             Confirm(METAAPP_TIMEOUT);
  326.             return;
  327.         }
  328.     }
  329.     if( ! m_bIsMT6139All )
  330.     {
  331.         Confirm(METAAPP_SUCCESS);
  332.     }
  333.     else
  334.     {
  335.         ActiveMan->SetActiveFunction( ::Set_MT6139CW1ToReg );
  336.     }
  337. }
  338. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  339. void  CRFMT6139REG::Get_MT6139CW0FromReg_Start( unsigned int rf_id  )
  340. {
  341.     rf_mt6139reg_ptr = this;
  342.     g_bIsRunning = true;
  343.     m_bIsMT6139All = false;
  344.     m_uiFinalRfid = rf_id;
  345.     ActiveMan->SetActiveFunction( ::Get_MT6139CW0FromReg );
  346. }
  347. //----------------------------------------------------------------------------
  348. void  CRFMT6139REG::Get_MT6139CW0FromReg( void )
  349. {
  350.     if( ! g_bIsRunning )
  351.     {   Confirm( METAAPP_FAIL );  return;  }
  352.     unsigned int reg_data;
  353.     META_RESULT MetaResult = META_Rf_GetRFImmediateBSI_r(m_META_HANDLE_Obj.Get_MainHandle(), 500, ADDR_MT6139_AUXOUT_CW0, &reg_data);
  354.     if(MetaResult!=META_SUCCESS)
  355.     {
  356.         if( MetaResult!=META_TIMEOUT )
  357.         {   Confirm( METAAPP_FAIL );  return;  }
  358.         else
  359.         {   Confirm( METAAPP_TIMEOUT );  return;   }
  360.     }
  361.     DeCompose_MT6139CW0( reg_data, m_sMT6139CW0, m_uiFinalRfid);
  362.     if( ! m_bIsMT6139All )
  363.     {
  364.         Confirm(METAAPP_SUCCESS);
  365.     }
  366.     else
  367.     {
  368.         ActiveMan->SetActiveFunction( ::Get_MT6139CW1FromReg );
  369.     }
  370. }
  371. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  372. ////////////////////////////        CW1      /////////////////////////////////
  373. //----------------------------------------------------------------------------
  374. void  CRFMT6139REG::Compose_MT6139CW1( S_MT6139_CW1  &mt6140_cw1_par, unsigned int &bsi_data, unsigned int  rf_id )
  375. {
  376.     bsi_data = (mt6140_cw1_par.uc_trx        << 22) |
  377.                (mt6140_cw1_par.uc_band       << 20) |
  378.                (mt6140_cw1_par.uc_bufmode    << 19) |
  379.                (mt6140_cw1_par.uc_n_integer  << 12) |
  380.                (mt6140_cw1_par.uc_n_fraction <<  4) |
  381.                ADDR_MT6139_CW1;
  382. }
  383. //---------------------------------------------------------------------------
  384. void  CRFMT6139REG::DeCompose_MT6139CW1( unsigned int reg_data, S_MT6139_CW1  &mt6140_cw1_par, unsigned int  rf_id )
  385. {
  386.     mt6140_cw1_par.uc_trx        = (reg_data >> 18) & 0X01;
  387.     mt6140_cw1_par.uc_band       = (reg_data >> 16) & 0X03;
  388.     mt6140_cw1_par.uc_bufmode    = (reg_data >> 15) & 0X01;
  389.     mt6140_cw1_par.uc_n_integer  = (reg_data >>  8) & 0X7F;
  390.     mt6140_cw1_par.uc_n_fraction =  reg_data        & 0xFF;
  391. }
  392. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  393. void  CRFMT6139REG::Set_MT6139CW1ToReg_Start( S_MT6139_CW1  &mt6140_cw1_par, unsigned int rf_id )
  394. {
  395.     rf_mt6139reg_ptr = this;
  396.     g_bIsRunning = true;
  397.     m_bIsMT6139All = false;
  398.     m_sMT6139CW1 = mt6140_cw1_par;
  399.     m_uiFinalRfid = rf_id;
  400.     ActiveMan->SetActiveFunction( ::Set_MT6139CW1ToReg );
  401. }
  402. //----------------------------------------------------------------------------
  403. void  CRFMT6139REG::Set_MT6139CW1ToReg( void )
  404. {
  405.     if( ! g_bIsRunning )
  406.     {   Confirm( METAAPP_FAIL );  return;  }
  407.     unsigned int bsi_data;
  408.     Compose_MT6139CW1( m_sMT6139CW1, bsi_data, m_uiFinalRfid );
  409.     META_RESULT MetaResult = META_Rf_SetRFImmediateBSI_r(m_META_HANDLE_Obj.Get_MainHandle(), 500, bsi_data);
  410.     if(MetaResult!=META_SUCCESS)
  411.     {
  412.         if( MetaResult!=META_TIMEOUT )
  413.         {   Confirm( METAAPP_FAIL );  return;  }
  414.         else
  415.         {   Confirm( METAAPP_TIMEOUT );  return;   }
  416.     }
  417.     if( ! m_bIsMT6139All )
  418.     {
  419.         Confirm(METAAPP_SUCCESS);
  420.     }
  421.     else
  422.     {
  423.         ActiveMan->SetActiveFunction( ::Set_MT6139CW2ToReg );
  424.     }
  425. }
  426. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  427. void  CRFMT6139REG::Get_MT6139CW1FromReg_Start( unsigned int rf_id )
  428. {
  429.     rf_mt6139reg_ptr = this;
  430.     g_bIsRunning = true;
  431.     m_bIsMT6139All = false;
  432.     m_uiFinalRfid = rf_id;
  433.     ActiveMan->SetActiveFunction( ::Get_MT6139CW1FromReg );
  434. }
  435. //----------------------------------------------------------------------------
  436. void  CRFMT6139REG::Get_MT6139CW1FromReg( void )
  437. {
  438.     if( ! g_bIsRunning )
  439.     {   Confirm( METAAPP_FAIL );  return;  }
  440.     unsigned int reg_data;
  441.     META_RESULT MetaResult = META_Rf_GetRFImmediateBSI_r(m_META_HANDLE_Obj.Get_MainHandle(), 500, ADDR_MT6139_AUXOUT_CW1, &reg_data);
  442.     if(MetaResult!=META_SUCCESS)
  443.     {
  444.         if( MetaResult!=META_TIMEOUT )
  445.         {   Confirm( METAAPP_FAIL );  return;  }
  446.         else
  447.         {   Confirm( METAAPP_TIMEOUT );  return;   }
  448.     }
  449.     DeCompose_MT6139CW1( reg_data, m_sMT6139CW1, m_uiFinalRfid );
  450.     if( ! m_bIsMT6139All )
  451.     {
  452.         Confirm(METAAPP_SUCCESS);
  453.     }
  454.     else
  455.     {
  456.         ActiveMan->SetActiveFunction( ::Get_MT6139CW2FromReg );
  457.     }
  458. }
  459. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  460. ////////////////////////////        CW2      /////////////////////////////////
  461. //----------------------------------------------------------------------------
  462. void  CRFMT6139REG::Compose_MT6139CW2( S_MT6139_CW2  &mt6140_cw2_par, unsigned int &bsi_data, unsigned int  rf_id )
  463. {
  464.         bsi_data = (mt6140_cw2_par.uc_dc_dac_ai  << 20) |
  465.                    (mt6140_cw2_par.uc_dc_dac_aq  << 14) |
  466.                    (mt6140_cw2_par.uc_auto_cal   << 13) |
  467.                    (mt6140_cw2_par.uc_mode       << 10) |
  468.                    (mt6140_cw2_par.uc_gain_table << 4 ) |
  469.                    ADDR_MT6139_CW2;
  470. }
  471. //----------------------------------------------------------------------------
  472. void  CRFMT6139REG::DeCompose_MT6139CW2( unsigned int reg_data, S_MT6139_CW2  &mt6140_cw2_par, unsigned int  rf_id )
  473. {
  474.         mt6140_cw2_par.uc_dc_dac_ai        = (reg_data >> 16)  & 0x3F;
  475.         mt6140_cw2_par.uc_dc_dac_aq        = (reg_data >> 10)  & 0x3F;
  476.         mt6140_cw2_par.uc_auto_cal         = (reg_data >>  9)  & 0x01;
  477.         mt6140_cw2_par.uc_mode             = (reg_data >>  6)  & 0x07;
  478.         mt6140_cw2_par.uc_gain_table       = (reg_data      )  & 0x3F;
  479. }
  480. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  481. void  CRFMT6139REG::Set_MT6139CW2ToReg_Start( S_MT6139_CW2  &mt6140_cw2_par, unsigned int rf_id )
  482. {
  483.     rf_mt6139reg_ptr = this;
  484.     g_bIsRunning = true;
  485.     m_bIsMT6139All = false;
  486.     m_sMT6139CW2 = mt6140_cw2_par;
  487.     m_uiFinalRfid = rf_id;
  488.     ActiveMan->SetActiveFunction( ::Set_MT6139CW2ToReg );
  489. }
  490. //----------------------------------------------------------------------------
  491. void  CRFMT6139REG::Set_MT6139CW2ToReg( void )
  492. {
  493.     if( ! g_bIsRunning )
  494.     {   Confirm( METAAPP_FAIL );  return;  }
  495.     unsigned int bsi_data;
  496.     Compose_MT6139CW2( m_sMT6139CW2, bsi_data, m_uiFinalRfid);
  497.     META_RESULT MetaResult = META_Rf_SetRFImmediateBSI_r(m_META_HANDLE_Obj.Get_MainHandle(), 500, bsi_data);
  498.     if(MetaResult!=META_SUCCESS)
  499.     {
  500.         if( MetaResult!=META_TIMEOUT )
  501.         {   Confirm( METAAPP_FAIL );  return;  }
  502.         else
  503.         {   Confirm( METAAPP_TIMEOUT );  return;   }
  504.     }
  505.     if( ! m_bIsMT6139All )
  506.     {
  507.         Confirm(METAAPP_SUCCESS);
  508.     }
  509.     else
  510.     {
  511.         ActiveMan->SetActiveFunction( ::Set_MT6139CW3ToReg );
  512.     }
  513. }
  514. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  515. void  CRFMT6139REG::Get_MT6139CW2FromReg_Start( unsigned int rf_id )
  516. {
  517.     rf_mt6139reg_ptr = this;
  518.     g_bIsRunning = true;
  519.     m_bIsMT6139All = false;
  520.     m_uiFinalRfid = rf_id;
  521.     ActiveMan->SetActiveFunction( ::Get_MT6139CW2FromReg );
  522. }
  523. //----------------------------------------------------------------------------
  524. void  CRFMT6139REG::Get_MT6139CW2FromReg( void )
  525. {
  526.     if( ! g_bIsRunning )
  527.     {   Confirm( METAAPP_FAIL );  return;  }
  528.     unsigned int reg_data;
  529.     META_RESULT MetaResult = META_Rf_GetRFImmediateBSI_r(m_META_HANDLE_Obj.Get_MainHandle(), 500, ADDR_MT6139_AUXOUT_CW2, &reg_data);
  530.     if(MetaResult!=META_SUCCESS)
  531.     {
  532.         if( MetaResult!=META_TIMEOUT )
  533.         {   Confirm( METAAPP_FAIL );  return;  }
  534.         else
  535.         {   Confirm( METAAPP_TIMEOUT );  return;   }
  536.     }
  537.     DeCompose_MT6139CW2( reg_data, m_sMT6139CW2, m_uiFinalRfid );
  538.     if( ! m_bIsMT6139All )
  539.     {
  540.         Confirm(METAAPP_SUCCESS);
  541.     }
  542.     else
  543.     {
  544.         ActiveMan->SetActiveFunction( ::Get_MT6139CW3FromReg );
  545.     }
  546. }
  547. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  548. ////////////////////////////        CW3      /////////////////////////////////
  549. //----------------------------------------------------------------------------
  550. void  CRFMT6139REG::Compose_MT6139CW3( S_MT6139_CW3  &mt6139_cw3_par, unsigned int &bsi_data, unsigned int  rf_id )
  551. {
  552.         bsi_data = (mt6139_cw3_par.uc_txdivil << 13) |
  553.                    (mt6139_cw3_par.uc_rfmixpi << 12) |
  554.                    (mt6139_cw3_par.uc_rfmixpq << 11) |
  555.                    (mt6139_cw3_par.uc_rflnap  << 10) |
  556.                    (mt6139_cw3_par.uc_syndivp <<  9) |
  557.                    (mt6139_cw3_par.uc_synpfdp <<  8) |
  558.                    (mt6139_cw3_par.uc_rxdivp  <<  7) |
  559.                    (mt6139_cw3_par.uc_ifpgap2 <<  6) |
  560.                    (mt6139_cw3_par.uc_ifpgap1 <<  5) |
  561.                    (mt6139_cw3_par.uc_ifpolp  <<  4) |
  562.                    ADDR_MT6139_CW3;
  563. }
  564. //----------------------------------------------------------------------------
  565. void  CRFMT6139REG::DeCompose_MT6139CW3( unsigned int reg_data, S_MT6139_CW3  &mt6139_cw3_par, unsigned int  rf_id )
  566. {
  567.     mt6139_cw3_par.uc_txdivil  = (reg_data >> 9)  & 0x01;
  568.     mt6139_cw3_par.uc_rfmixpi  = (reg_data >> 8)  & 0x01;
  569.     mt6139_cw3_par.uc_rfmixpq  = (reg_data >> 7)  & 0x01;
  570.     mt6139_cw3_par.uc_rflnap   = (reg_data >> 6)  & 0x01;
  571.     mt6139_cw3_par.uc_syndivp  = (reg_data >> 5)  & 0x01;
  572.     mt6139_cw3_par.uc_synpfdp  = (reg_data >> 4)  & 0x01;
  573.     mt6139_cw3_par.uc_rxdivp   = (reg_data >> 3)  & 0x01;
  574.     mt6139_cw3_par.uc_ifpgap2  = (reg_data >> 2)  & 0x01;
  575.     mt6139_cw3_par.uc_ifpgap1  = (reg_data >> 1)  & 0x01;
  576.     mt6139_cw3_par.uc_ifpolp   =  reg_data        & 0x01;
  577. }
  578. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  579. void  CRFMT6139REG::Set_MT6139CW3ToReg_Start( S_MT6139_CW3  &mt6139_cw3_par, unsigned int rf_id )
  580. {
  581.     rf_mt6139reg_ptr = this;
  582.     g_bIsRunning = true;
  583.     m_bIsMT6139All = false;
  584.     m_sMT6139CW3 = mt6139_cw3_par;
  585.     m_uiFinalRfid = rf_id;
  586.     ActiveMan->SetActiveFunction( ::Set_MT6139CW3ToReg );
  587. }
  588. //----------------------------------------------------------------------------
  589. void  CRFMT6139REG::Set_MT6139CW3ToReg( void )
  590. {
  591.     if( ! g_bIsRunning )
  592.     {   Confirm( METAAPP_FAIL );  return;  }
  593.     unsigned int bsi_data;
  594.     Compose_MT6139CW3( m_sMT6139CW3, bsi_data, m_uiFinalRfid );
  595.     META_RESULT MetaResult = META_Rf_SetRFImmediateBSI_r(m_META_HANDLE_Obj.Get_MainHandle(), 500, bsi_data);
  596.     if(MetaResult!=META_SUCCESS)
  597.     {
  598.         if( MetaResult!=META_TIMEOUT )
  599.         {   Confirm( METAAPP_FAIL );  return;  }
  600.         else
  601.         {   Confirm( METAAPP_TIMEOUT );  return;   }
  602.     }
  603.     if( ! m_bIsMT6139All )
  604.     {
  605.         Confirm(METAAPP_SUCCESS);
  606.     }
  607.     else
  608.     {
  609.         ActiveMan->SetActiveFunction( ::Set_MT6139CW4ToReg );
  610.     }
  611. }
  612. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  613. void  CRFMT6139REG::Get_MT6139CW3FromReg_Start( unsigned int rf_id )
  614. {
  615.     rf_mt6139reg_ptr = this;
  616.     g_bIsRunning = true;
  617.     m_bIsMT6139All = false;
  618.     m_uiFinalRfid = rf_id;
  619.     ActiveMan->SetActiveFunction( ::Get_MT6139CW3FromReg );
  620. }
  621. //----------------------------------------------------------------------------
  622. void  CRFMT6139REG::Get_MT6139CW3FromReg( void )
  623. {
  624.     if( ! g_bIsRunning )
  625.     {   Confirm( METAAPP_FAIL );  return;  }
  626.     unsigned int reg_data;
  627.     META_RESULT MetaResult = META_Rf_GetRFImmediateBSI_r(m_META_HANDLE_Obj.Get_MainHandle(), 500, ADDR_MT6139_AUXOUT_CW3, &reg_data);
  628.     if(MetaResult!=META_SUCCESS)
  629.     {
  630.         if( MetaResult!=META_TIMEOUT )
  631.         {   Confirm( METAAPP_FAIL );  return;  }
  632.         else
  633.         {   Confirm( METAAPP_TIMEOUT );  return;   }
  634.     }
  635.     DeCompose_MT6139CW3( reg_data, m_sMT6139CW3, m_uiFinalRfid);
  636.     if( ! m_bIsMT6139All )
  637.     {
  638.         Confirm(METAAPP_SUCCESS);
  639.     }
  640.     else
  641.     {
  642.         ActiveMan->SetActiveFunction( ::Get_MT6139CW4FromReg );
  643.     }
  644. }
  645. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  646. ////////////////////////////        CW4      /////////////////////////////////
  647. //----------------------------------------------------------------------------
  648. void  CRFMT6139REG::Compose_MT6139CW4( S_MT6139_CW4  &mt6139_cw4_par, unsigned int &bsi_data, unsigned int  rf_id )
  649. {
  650.     bsi_data = (mt6139_cw4_par.uc_otaen     << 20) |
  651.                (mt6139_cw4_par.uc_fldis     << 19) |
  652.                (mt6139_cw4_par.uc_cal_delay << 17) |
  653.                (mt6139_cw4_par.uc_vco_vset  << 15) |
  654.                (mt6139_cw4_par.uc_dread     << 14) |
  655.                (mt6139_cw4_par.uc_calmode   << 12) |
  656.                (mt6139_cw4_par.uc_lgac      << 11) |
  657.                (mt6139_cw4_par.uc_modreg    << 10) |
  658.                (mt6139_cw4_par.uc_c_fra_in  <<  9) |
  659.                (mt6139_cw4_par.uc_sxrstdiv  <<  8) |
  660.                (mt6139_cw4_par.uc_syntyp    <<  7) |
  661.                (mt6139_cw4_par.uc_synpfd    <<  5) |
  662.                (mt6139_cw4_par.uc_sca_cr_fi <<  4) |
  663.                ADDR_MT6139_CW4;
  664. }
  665. //----------------------------------------------------------------------------
  666. void  CRFMT6139REG::DeCompose_MT6139CW4( unsigned int reg_data, S_MT6139_CW4  &mt6139_cw4_par, unsigned int  rf_id )
  667. {
  668.     mt6139_cw4_par.uc_otaen     = (reg_data >>16)  & 0x01;
  669.     mt6139_cw4_par.uc_fldis     = (reg_data >>15)  & 0x01;
  670.     mt6139_cw4_par.uc_cal_delay = (reg_data >>13)  & 0x03;
  671.     mt6139_cw4_par.uc_vco_vset  = (reg_data >>11)  & 0x03;
  672.     mt6139_cw4_par.uc_dread     = (reg_data >>10)  & 0x01;
  673.     mt6139_cw4_par.uc_calmode   = (reg_data >> 8)  & 0x03;
  674.     mt6139_cw4_par.uc_lgac      = (reg_data >> 7)  & 0x01;
  675.     mt6139_cw4_par.uc_modreg    = (reg_data >> 6)  & 0x01;
  676.     mt6139_cw4_par.uc_c_fra_in  = (reg_data >> 5)  & 0x01;
  677.     mt6139_cw4_par.uc_sxrstdiv  = (reg_data >> 4)  & 0x01;
  678.     mt6139_cw4_par.uc_syntyp    = (reg_data >> 3)  & 0x01;
  679.     mt6139_cw4_par.uc_synpfd    = (reg_data >> 1)  & 0x03;
  680.     mt6139_cw4_par.uc_sca_cr_fi =  reg_data        & 0x01;
  681. }
  682. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  683. void  CRFMT6139REG::Set_MT6139CW4ToReg_Start( S_MT6139_CW4  &mt6139_cw4_par, unsigned int rf_id )
  684. {
  685.     rf_mt6139reg_ptr = this;
  686.     g_bIsRunning = true;
  687.     m_bIsMT6139All = false;
  688.     m_sMT6139CW4 = mt6139_cw4_par;
  689.     m_uiFinalRfid = rf_id;
  690.     ActiveMan->SetActiveFunction( ::Set_MT6139CW4ToReg );
  691. }
  692. //----------------------------------------------------------------------------
  693. void  CRFMT6139REG::Set_MT6139CW4ToReg( void )
  694. {
  695.     if( ! g_bIsRunning )
  696.     {   Confirm( METAAPP_FAIL );  return;  }
  697.     unsigned int bsi_data;
  698.     Compose_MT6139CW4( m_sMT6139CW4, bsi_data, m_uiFinalRfid );
  699.     META_RESULT MetaResult = META_Rf_SetRFImmediateBSI_r(m_META_HANDLE_Obj.Get_MainHandle(), 500, bsi_data);
  700.     if(MetaResult!=META_SUCCESS)
  701.     {
  702.         if( MetaResult!=META_TIMEOUT )
  703.         {   Confirm( METAAPP_FAIL );  return;  }
  704.         else
  705.         {   Confirm( METAAPP_TIMEOUT );  return;   }
  706.     }
  707.     if( ! m_bIsMT6139All )
  708.     {
  709.         Confirm(METAAPP_SUCCESS);
  710.     }
  711.     else
  712.     {
  713.         ActiveMan->SetActiveFunction( ::Set_MT6139CW5ToReg );
  714.     }
  715. }
  716. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  717. void  CRFMT6139REG::Get_MT6139CW4FromReg_Start( unsigned int rf_id )
  718. {
  719.     rf_mt6139reg_ptr = this;
  720.     g_bIsRunning = true;
  721.     m_bIsMT6139All = false;
  722.     m_uiFinalRfid = rf_id;
  723.     ActiveMan->SetActiveFunction( ::Get_MT6139CW4FromReg );
  724. }
  725. //----------------------------------------------------------------------------
  726. void  CRFMT6139REG::Get_MT6139CW4FromReg( void )
  727. {
  728.     if( ! g_bIsRunning )
  729.     {   Confirm( METAAPP_FAIL );  return;  }
  730.     unsigned int reg_data;
  731.     META_RESULT MetaResult = META_Rf_GetRFImmediateBSI_r(m_META_HANDLE_Obj.Get_MainHandle(), 500, ADDR_MT6139_AUXOUT_CW4, &reg_data);
  732.     if(MetaResult!=META_SUCCESS)
  733.     {
  734.         if( MetaResult!=META_TIMEOUT )
  735.         {   Confirm( METAAPP_FAIL );  return;  }
  736.         else
  737.         {   Confirm( METAAPP_TIMEOUT );  return;   }
  738.     }
  739.     DeCompose_MT6139CW4( reg_data, m_sMT6139CW4, m_uiFinalRfid);
  740.     if( ! m_bIsMT6139All )
  741.     {
  742.         Confirm(METAAPP_SUCCESS);
  743.     }
  744.     else
  745.     {
  746.         ActiveMan->SetActiveFunction( ::Get_MT6139CW5FromReg );
  747.     }
  748. }
  749. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  750. ////////////////////////////        CW5      /////////////////////////////////
  751. //----------------------------------------------------------------------------
  752. void  CRFMT6139REG::Compose_MT6139CW5( S_MT6139_CW5  &mt6139_cw5_par, unsigned int &bsi_data, unsigned int  rf_id )
  753. {
  754.     bsi_data =
  755.                (mt6139_cw5_par.uc_resb       <<  9) |
  756.                (mt6139_cw5_par.uc_res        <<  4) |
  757.                ADDR_MT6139_CW5;
  758. }
  759. //----------------------------------------------------------------------------
  760. void  CRFMT6139REG::DeCompose_MT6139CW5( unsigned int reg_data, S_MT6139_CW5  &mt6139_cw5_par, unsigned int  rf_id )
  761. {
  762.     
  763.     mt6139_cw5_par.uc_resb       = (reg_data >>  5)  & 0x1F;
  764.     mt6139_cw5_par.uc_res        =  reg_data         & 0x1F;
  765. }
  766. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  767. void  CRFMT6139REG::Set_MT6139CW5ToReg_Start( S_MT6139_CW5  &mt6139_cw5_par, unsigned int rf_id )
  768. {
  769.     rf_mt6139reg_ptr = this;
  770.     g_bIsRunning = true;
  771.     m_bIsMT6139All = false;
  772.     m_sMT6139CW5 = mt6139_cw5_par;
  773.     m_uiFinalRfid = rf_id;
  774.     ActiveMan->SetActiveFunction( ::Set_MT6139CW5ToReg );
  775. }
  776. //----------------------------------------------------------------------------
  777. void  CRFMT6139REG::Set_MT6139CW5ToReg( void )
  778. {
  779.     if( ! g_bIsRunning )
  780.     {   Confirm( METAAPP_FAIL );  return;  }
  781.     unsigned int bsi_data;
  782.     Compose_MT6139CW5( m_sMT6139CW5, bsi_data, m_uiFinalRfid );
  783.     META_RESULT MetaResult = META_Rf_SetRFImmediateBSI_r(m_META_HANDLE_Obj.Get_MainHandle(), 500, bsi_data);
  784.     if(MetaResult!=META_SUCCESS)
  785.     {
  786.         if( MetaResult!=META_TIMEOUT )
  787.         {   Confirm( METAAPP_FAIL );  return;  }
  788.         else
  789.         {   Confirm( METAAPP_TIMEOUT );  return;   }
  790.     }
  791.     if( ! m_bIsMT6139All )
  792.     {
  793.         Confirm(METAAPP_SUCCESS);
  794.     }
  795.     else
  796.     {
  797.         ActiveMan->SetActiveFunction( ::Set_MT6139CW6ToReg );
  798.     }
  799. }
  800. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  801. void  CRFMT6139REG::Get_MT6139CW5FromReg_Start( unsigned int rf_id )
  802. {
  803.     rf_mt6139reg_ptr = this;
  804.     g_bIsRunning = true;
  805.     m_bIsMT6139All = false;
  806.     m_uiFinalRfid = rf_id;
  807.     ActiveMan->SetActiveFunction( ::Get_MT6139CW5FromReg );
  808. }
  809. //----------------------------------------------------------------------------
  810. void  CRFMT6139REG::Get_MT6139CW5FromReg( void )
  811. {
  812.     if( ! g_bIsRunning )
  813.     {   Confirm( METAAPP_FAIL );  return;  }
  814.     unsigned int reg_data;
  815.     META_RESULT MetaResult = META_Rf_GetRFImmediateBSI_r(m_META_HANDLE_Obj.Get_MainHandle(), 500, ADDR_MT6139_AUXOUT_CW5, &reg_data);
  816.     if(MetaResult!=META_SUCCESS)
  817.     {
  818.         if( MetaResult!=META_TIMEOUT )
  819.         {   Confirm( METAAPP_FAIL );  return;  }
  820.         else
  821.         {   Confirm( METAAPP_TIMEOUT );  return;   }
  822.     }
  823.     DeCompose_MT6139CW5( reg_data, m_sMT6139CW5, m_uiFinalRfid );
  824.     if( ! m_bIsMT6139All )
  825.     {
  826.         Confirm(METAAPP_SUCCESS);
  827.     }
  828.     else
  829.     {
  830.         ActiveMan->SetActiveFunction( ::Get_MT6139CW6FromReg );
  831.     }
  832. }
  833. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  834. ////////////////////////////        CW6      /////////////////////////////////
  835. //----------------------------------------------------------------------------
  836. void  CRFMT6139REG::Compose_MT6139CW6( S_MT6139_CW6  &mt6139_cw6_par, unsigned int &bsi_data, unsigned int  rf_id )
  837. {
  838.     bsi_data = (mt6139_cw6_par.uc_t_clk    << 16) |
  839.                (mt6139_cw6_par.uc_t_latch  << 15) |
  840.                (mt6139_cw6_par.uc_vco_bufp << 14) |
  841.                (mt6139_cw6_par.uc_monitor  << 13) |
  842.                (mt6139_cw6_par.uc_sio5     << 12) |
  843.                (mt6139_cw6_par.uc_vco_sca  <<  5) |
  844.                (mt6139_cw6_par.uc_vcoset   <<  4) |
  845.                ADDR_MT6139_CW6;
  846. }
  847. //----------------------------------------------------------------------------
  848. void  CRFMT6139REG::DeCompose_MT6139CW6( unsigned int reg_data, S_MT6139_CW6  &mt6139_cw6_par, unsigned int  rf_id )
  849. {
  850.     mt6139_cw6_par.uc_t_clk    = (reg_data >> 12)  & 0x01;
  851.     mt6139_cw6_par.uc_t_latch  = (reg_data >> 11)  & 0x01;
  852.     mt6139_cw6_par.uc_vco_bufp = (reg_data >> 10)  & 0x01;
  853.     mt6139_cw6_par.uc_monitor  = (reg_data >>  9)  & 0x01;
  854.     mt6139_cw6_par.uc_sio5     = (reg_data >>  8)  & 0x01;
  855.     mt6139_cw6_par.uc_vco_sca  = (reg_data >>  1)  & 0x7F;
  856.     mt6139_cw6_par.uc_vcoset   =  reg_data         & 0x01;
  857. }
  858. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  859. void  CRFMT6139REG::Set_MT6139CW6ToReg_Start( S_MT6139_CW6  &mt6139_cw6_par, unsigned int rf_id )
  860. {
  861.     rf_mt6139reg_ptr = this;
  862.     g_bIsRunning = true;
  863.     m_bIsMT6139All = false;
  864.     m_sMT6139CW6 = mt6139_cw6_par;
  865.     m_uiFinalRfid = rf_id;
  866.     ActiveMan->SetActiveFunction( ::Set_MT6139CW6ToReg );
  867. }
  868. //----------------------------------------------------------------------------
  869. void  CRFMT6139REG::Set_MT6139CW6ToReg( void )
  870. {
  871.     if( ! g_bIsRunning )
  872.     {   Confirm( METAAPP_FAIL );  return;  }
  873.     unsigned int bsi_data;
  874.     Compose_MT6139CW6( m_sMT6139CW6, bsi_data, m_uiFinalRfid );
  875.     META_RESULT MetaResult = META_Rf_SetRFImmediateBSI_r(m_META_HANDLE_Obj.Get_MainHandle(), 500, bsi_data);
  876.     if(MetaResult!=META_SUCCESS)
  877.     {
  878.         if( MetaResult!=META_TIMEOUT )
  879.         {   Confirm( METAAPP_FAIL );  return;  }
  880.         else
  881.         {   Confirm( METAAPP_TIMEOUT );  return;   }
  882.     }
  883.     if( ! m_bIsMT6139All )
  884.     {
  885.         Confirm(METAAPP_SUCCESS);
  886.     }
  887.     else
  888.     {
  889.         ActiveMan->SetActiveFunction( ::Set_MT6139CW7ToReg );
  890.     }
  891. }
  892. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  893. void  CRFMT6139REG::Get_MT6139CW6FromReg_Start( unsigned int rf_id )
  894. {
  895.     rf_mt6139reg_ptr = this;
  896.     g_bIsRunning = true;
  897.     m_bIsMT6139All = false;
  898.     m_uiFinalRfid = rf_id;
  899.     ActiveMan->SetActiveFunction( ::Get_MT6139CW6FromReg );
  900. }
  901. //----------------------------------------------------------------------------
  902. void  CRFMT6139REG::Get_MT6139CW6FromReg( void )
  903. {
  904.     if( ! g_bIsRunning )
  905.     {   Confirm( METAAPP_FAIL );  return;  }
  906.     unsigned int reg_data;
  907.     META_RESULT MetaResult = META_Rf_GetRFImmediateBSI_r(m_META_HANDLE_Obj.Get_MainHandle(), 500, ADDR_MT6139_AUXOUT_CW6, &reg_data);
  908.     if(MetaResult!=META_SUCCESS)
  909.     {
  910.         if( MetaResult!=META_TIMEOUT )
  911.         {   Confirm( METAAPP_FAIL );  return;  }
  912.         else
  913.         {   Confirm( METAAPP_TIMEOUT );  return;   }
  914.     }
  915.     DeCompose_MT6139CW6( reg_data, m_sMT6139CW6, m_uiFinalRfid );
  916.     if( ! m_bIsMT6139All )
  917.     {
  918.         Confirm(METAAPP_SUCCESS);
  919.     }
  920.     else
  921.     {
  922.         ActiveMan->SetActiveFunction( ::Get_MT6139CW7FromReg );
  923.     }
  924. }
  925. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  926. ////////////////////////////        CW7      /////////////////////////////////
  927. //----------------------------------------------------------------------------
  928. void  CRFMT6139REG::Compose_MT6139CW7( S_MT6139_CW7  &mt6139_cw7_par, unsigned int &bsi_data, unsigned int rf_id )
  929. {
  930.     bsi_data =
  931.                (mt6139_cw7_par.uc_lpf_corner       << 14) |
  932.                (mt6139_cw7_par.uc_man_cal          << 13) |
  933.                (mt6139_cw7_par.uc_auto_gain_select << 12) |
  934.                (mt6139_cw7_par.uc_rx_gain          <<  4) |
  935.                ADDR_MT6139_CW7;
  936. }
  937. //----------------------------------------------------------------------------
  938. void  CRFMT6139REG::DeCompose_MT6139CW7( unsigned int reg_data, S_MT6139_CW7  &mt6139_cw7_par, unsigned int rf_id )
  939. {
  940.     mt6139_cw7_par.uc_lpf_corner       = (reg_data>>10) & 0x01;
  941.     mt6139_cw7_par.uc_man_cal          = (reg_data>>9)  & 0x01;
  942.     mt6139_cw7_par.uc_auto_gain_select = (reg_data>>8)  & 0x01;
  943.     mt6139_cw7_par.uc_rx_gain          =  reg_data      & 0xFF;
  944. }
  945. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  946. void  CRFMT6139REG::Set_MT6139CW7ToReg_Start( S_MT6139_CW7  &mt6139_cw7_par, unsigned int rf_id )
  947. {
  948.     rf_mt6139reg_ptr = this;
  949.     g_bIsRunning = true;
  950.     m_bIsMT6139All = false;
  951.     m_sMT6139CW7 = mt6139_cw7_par;
  952.     m_uiFinalRfid = rf_id;
  953.     ActiveMan->SetActiveFunction( ::Set_MT6139CW7ToReg );
  954. }
  955. //----------------------------------------------------------------------------
  956. void  CRFMT6139REG::Set_MT6139CW7ToReg( void )
  957. {
  958.     if( ! g_bIsRunning )
  959.     {   Confirm( METAAPP_FAIL );  return;  }
  960.     unsigned int bsi_data;
  961.     Compose_MT6139CW7( m_sMT6139CW7, bsi_data, m_uiFinalRfid );
  962.     META_RESULT MetaResult = META_Rf_SetRFImmediateBSI_r(m_META_HANDLE_Obj.Get_MainHandle(), 500, bsi_data);
  963.     if(MetaResult!=META_SUCCESS)
  964.     {
  965.         if( MetaResult!=META_TIMEOUT )
  966.         {   Confirm( METAAPP_FAIL );  return;  }
  967.         else
  968.         {   Confirm( METAAPP_TIMEOUT );  return;   }
  969.     }
  970.     if( ! m_bIsMT6139All )
  971.     {
  972.         Confirm(METAAPP_SUCCESS);
  973.     }
  974.     else
  975.     {
  976.         ActiveMan->SetActiveFunction( ::Set_MT6139CW8ToReg );
  977.     }
  978. }
  979. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  980. void  CRFMT6139REG::Get_MT6139CW7FromReg_Start( unsigned int rf_id )
  981. {
  982.     rf_mt6139reg_ptr = this;
  983.     g_bIsRunning = true;
  984.     m_bIsMT6139All = false;
  985.     m_uiFinalRfid = rf_id;
  986.     ActiveMan->SetActiveFunction( ::Get_MT6139CW7FromReg );
  987. }
  988. //----------------------------------------------------------------------------
  989. void  CRFMT6139REG::Get_MT6139CW7FromReg( void )
  990. {
  991.     if( ! g_bIsRunning )
  992.     {   Confirm( METAAPP_FAIL );  return;  }
  993.     unsigned int reg_data;
  994.     META_RESULT MetaResult = META_Rf_GetRFImmediateBSI_r(m_META_HANDLE_Obj.Get_MainHandle(), 500, ADDR_MT6139_AUXOUT_CW7, &reg_data);
  995.     if(MetaResult!=META_SUCCESS)
  996.     {
  997.         if( MetaResult!=META_TIMEOUT )
  998.         {   Confirm( METAAPP_FAIL );  return;  }
  999.         else
  1000.         {   Confirm( METAAPP_TIMEOUT );  return;   }
  1001.     }
  1002.     DeCompose_MT6139CW7( reg_data, m_sMT6139CW7, m_uiFinalRfid );
  1003.     if( ! m_bIsMT6139All )
  1004.     {
  1005.         Confirm(METAAPP_SUCCESS);
  1006.     }
  1007.     else
  1008.     {
  1009.         ActiveMan->SetActiveFunction( ::Get_MT6139CW8FromReg );
  1010.     }
  1011. }
  1012. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1013. ////////////////////////////        CW8      /////////////////////////////////
  1014. //----------------------------------------------------------------------------
  1015. void  CRFMT6139REG::Compose_MT6139CW8( S_MT6139_CW8  &mt6139_cw8_par, unsigned int &bsi_data, unsigned int rf_id )
  1016. {
  1017.     bsi_data =
  1018.                (mt6139_cw8_par.uc_rx_ctrl_sw   << 19)  |
  1019.                (mt6139_cw8_par.uc_rx_ctrl_swen << 18)  |
  1020.                (mt6139_cw8_par.uc_dc_dac_bi    << 11)  |
  1021.                (mt6139_cw8_par.uc_dc_dac_ci    <<  4)  |
  1022.                ADDR_MT6139_CW8;
  1023. }
  1024. //----------------------------------------------------------------------------
  1025. void  CRFMT6139REG::DeCompose_MT6139CW8( unsigned int reg_data, S_MT6139_CW8  &mt6139_cw8_par, unsigned int rf_id )
  1026. {
  1027.     mt6139_cw8_par.uc_rx_ctrl_sw    = (reg_data>>15) & 0x1F;
  1028.     mt6139_cw8_par.uc_rx_ctrl_swen  = (reg_data>>14) & 0x01;
  1029.     mt6139_cw8_par.uc_dc_dac_bi     = (reg_data>>7 ) & 0x7F;
  1030.     mt6139_cw8_par.uc_dc_dac_ci     = (reg_data    ) & 0x7F;
  1031. }
  1032. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1033. void  CRFMT6139REG::Set_MT6139CW8ToReg_Start( S_MT6139_CW8  &mt6139_cw8_par, unsigned int rf_id )
  1034. {
  1035.     rf_mt6139reg_ptr = this;
  1036.     g_bIsRunning = true;
  1037.     m_bIsMT6139All = false;
  1038.     m_sMT6139CW8 = mt6139_cw8_par;
  1039.     m_uiFinalRfid = rf_id;
  1040.     ActiveMan->SetActiveFunction( ::Set_MT6139CW8ToReg );
  1041. }
  1042. //----------------------------------------------------------------------------
  1043. void  CRFMT6139REG::Set_MT6139CW8ToReg( void )
  1044. {
  1045.     unsigned int bsi_data;
  1046.     Compose_MT6139CW8( m_sMT6139CW8, bsi_data, m_uiFinalRfid );
  1047.     META_RESULT MetaResult = META_Rf_SetRFImmediateBSI_r(m_META_HANDLE_Obj.Get_MainHandle(), 500, bsi_data);
  1048.     if(MetaResult!=META_SUCCESS)
  1049.     {
  1050.         if( MetaResult!=META_TIMEOUT )
  1051.         {   Confirm( METAAPP_FAIL );  return;  }
  1052.         else
  1053.         {   Confirm( METAAPP_TIMEOUT );  return;   }
  1054.     }
  1055.     if( ! m_bIsMT6139All )
  1056.     {
  1057.         Confirm(METAAPP_SUCCESS);
  1058.     }
  1059.     else
  1060.     {
  1061.         ActiveMan->SetActiveFunction( ::Set_MT6139CW9ToReg );
  1062.     }
  1063. }
  1064. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1065. void  CRFMT6139REG::Get_MT6139CW8FromReg_Start( unsigned int rf_id )
  1066. {
  1067.     rf_mt6139reg_ptr = this;
  1068.     g_bIsRunning = true;
  1069.     m_bIsMT6139All = false;
  1070.     m_uiFinalRfid = rf_id;
  1071.     ActiveMan->SetActiveFunction( ::Get_MT6139CW8FromReg );
  1072. }
  1073. //----------------------------------------------------------------------------
  1074. void  CRFMT6139REG::Get_MT6139CW8FromReg( void )
  1075. {
  1076.     if( ! g_bIsRunning )
  1077.     {   Confirm( METAAPP_FAIL );  return;  }
  1078.     unsigned int reg_data;
  1079.     META_RESULT MetaResult = META_Rf_GetRFImmediateBSI_r(m_META_HANDLE_Obj.Get_MainHandle(), 500, ADDR_MT6139_AUXOUT_CW8, &reg_data);
  1080.     if(MetaResult!=META_SUCCESS)
  1081.     {
  1082.         if( MetaResult!=META_TIMEOUT )
  1083.         {   Confirm( METAAPP_FAIL );  return;  }
  1084.         else
  1085.         {   Confirm( METAAPP_TIMEOUT );  return;   }
  1086.     }
  1087.     DeCompose_MT6139CW8( reg_data, m_sMT6139CW8, m_uiFinalRfid );
  1088.     if( ! m_bIsMT6139All )
  1089.     {
  1090.         Confirm(METAAPP_SUCCESS);
  1091.     }
  1092.     else
  1093.     {
  1094.         ActiveMan->SetActiveFunction( ::Get_MT6139CW9FromReg );
  1095.     }
  1096. }
  1097. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1098. ////////////////////////////        CW9      /////////////////////////////////
  1099. //----------------------------------------------------------------------------
  1100. void  CRFMT6139REG::Compose_MT6139CW9( S_MT6139_CW9  &mt6139_cw9_par, unsigned int &bsi_data, unsigned int rf_id )
  1101. {
  1102.     bsi_data = (mt6139_cw9_par.uc_pwr_dac_am << 21)|
  1103.                (mt6139_cw9_par.uc_pwr_dac_a << 20) |
  1104.                (mt6139_cw9_par.uc_pwr_dac_b << 19) |
  1105.                (mt6139_cw9_par.uc_pwr_dac_c << 18) |
  1106.                (mt6139_cw9_par.uc_dc_dac_bq << 11) |
  1107.                (mt6139_cw9_par.uc_dc_dac_cq <<  4) |
  1108.                ADDR_MT6139_CW9;
  1109. }
  1110. //----------------------------------------------------------------------------
  1111. void  CRFMT6139REG::DeCompose_MT6139CW9( unsigned int reg_data, S_MT6139_CW9  &mt6139_cw9_par, unsigned int rf_id )
  1112. {
  1113.     mt6139_cw9_par.uc_pwr_dac_am  = (reg_data>>17) & 0x01;
  1114.     mt6139_cw9_par.uc_pwr_dac_a   = (reg_data>>16) & 0x01;
  1115.     mt6139_cw9_par.uc_pwr_dac_b   = (reg_data>>15) & 0x01;
  1116.     mt6139_cw9_par.uc_pwr_dac_c   = (reg_data>>14) & 0x01;
  1117.     mt6139_cw9_par.uc_dc_dac_bq   = (reg_data>>7 ) & 0x7F;
  1118.     mt6139_cw9_par.uc_dc_dac_cq   = (reg_data    ) & 0x7F;
  1119. }
  1120. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1121. void  CRFMT6139REG::Set_MT6139CW9ToReg_Start( S_MT6139_CW9  &mt6139_cw9_par, unsigned int rf_id )
  1122. {
  1123.     rf_mt6139reg_ptr = this;
  1124.     g_bIsRunning = true;
  1125.     m_bIsMT6139All = false;
  1126.     m_sMT6139CW9 = mt6139_cw9_par;
  1127.     m_uiFinalRfid = rf_id;
  1128.     ActiveMan->SetActiveFunction( ::Set_MT6139CW9ToReg );
  1129. }
  1130. //----------------------------------------------------------------------------
  1131. void  CRFMT6139REG::Set_MT6139CW9ToReg( void )
  1132. {
  1133.     if( ! g_bIsRunning )
  1134.     {   Confirm( METAAPP_FAIL );  return;  }
  1135.     unsigned int bsi_data;
  1136.     Compose_MT6139CW9( m_sMT6139CW9, bsi_data, m_uiFinalRfid );
  1137.     META_RESULT MetaResult = META_Rf_SetRFImmediateBSI_r(m_META_HANDLE_Obj.Get_MainHandle(), 500, bsi_data);
  1138.     if(MetaResult!=META_SUCCESS)
  1139.     {
  1140.         if( MetaResult!=META_TIMEOUT )
  1141.         {   Confirm( METAAPP_FAIL );  return;  }
  1142.         else
  1143.         {   Confirm( METAAPP_TIMEOUT );  return;   }
  1144.     }
  1145.     if( ! m_bIsMT6139All )
  1146.     {
  1147.         Confirm(METAAPP_SUCCESS);
  1148.     }
  1149.     else
  1150.     {
  1151.         ActiveMan->SetActiveFunction( ::Set_MT6139CW10ToReg );
  1152.     }
  1153. }
  1154. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1155. void  CRFMT6139REG::Get_MT6139CW9FromReg_Start( unsigned int rf_id )
  1156. {
  1157.     rf_mt6139reg_ptr = this;
  1158.     g_bIsRunning = true;
  1159.     m_bIsMT6139All = false;
  1160.     m_uiFinalRfid = rf_id;
  1161.     ActiveMan->SetActiveFunction( ::Get_MT6139CW9FromReg );
  1162. }
  1163. //----------------------------------------------------------------------------
  1164. void  CRFMT6139REG::Get_MT6139CW9FromReg( void )
  1165. {
  1166.     if( ! g_bIsRunning )
  1167.     {   Confirm( METAAPP_FAIL );  return;  }
  1168.     unsigned int reg_data;
  1169.     META_RESULT MetaResult = META_Rf_GetRFImmediateBSI_r(m_META_HANDLE_Obj.Get_MainHandle(), 500, ADDR_MT6139_AUXOUT_CW9, &reg_data);
  1170.     if(MetaResult!=META_SUCCESS)
  1171.     {
  1172.         if( MetaResult!=META_TIMEOUT )
  1173.         {   Confirm( METAAPP_FAIL );  return;  }
  1174.         else
  1175.         {   Confirm( METAAPP_TIMEOUT );  return;   }
  1176.     }
  1177.     DeCompose_MT6139CW9( reg_data, m_sMT6139CW9, m_uiFinalRfid );
  1178.     if( ! m_bIsMT6139All )
  1179.     {
  1180.         Confirm(METAAPP_SUCCESS);
  1181.     }
  1182.     else
  1183.     {
  1184.         ActiveMan->SetActiveFunction( ::Get_MT6139CW10FromReg );
  1185.     }
  1186. }
  1187. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1188. ////////////////////////////        CW10      ////////////////////////////////
  1189. //----------------------------------------------------------------------------
  1190. void  CRFMT6139REG::Compose_MT6139CW10( S_MT6139_CW10  &m_sMT6139CW10_par, unsigned int &bsi_data, unsigned int rf_id )
  1191. {
  1192.     bsi_data = (m_sMT6139CW10_par.uc_am_daci << 11) |
  1193.                (m_sMT6139CW10_par.uc_am_dacq <<  4) |
  1194.                ADDR_MT6139_CW10;
  1195. }
  1196. //----------------------------------------------------------------------------
  1197. void  CRFMT6139REG::DeCompose_MT6139CW10( unsigned int reg_data, S_MT6139_CW10  &m_sMT6139CW10_par, unsigned int rf_id )
  1198. {
  1199.     m_sMT6139CW10_par.uc_am_daci = (reg_data >> 7) & 0xFF;
  1200.     m_sMT6139CW10_par.uc_am_dacq =  reg_data       & 0xFF;
  1201. }
  1202. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1203. void  CRFMT6139REG::Set_MT6139CW10ToReg_Start( S_MT6139_CW10  &mt6140_cw10_par, unsigned int rf_id )
  1204. {
  1205.     rf_mt6139reg_ptr = this;
  1206.     g_bIsRunning = true;
  1207.     m_bIsMT6139All = false;
  1208.     m_sMT6139CW10 = mt6140_cw10_par;
  1209.     m_uiFinalRfid = rf_id;
  1210.     ActiveMan->SetActiveFunction( ::Set_MT6139CW10ToReg );
  1211. }
  1212. //----------------------------------------------------------------------------
  1213. void  CRFMT6139REG::Set_MT6139CW10ToReg( void )
  1214. {
  1215.     if( ! g_bIsRunning )
  1216.     {   Confirm( METAAPP_FAIL );  return;  }
  1217.     unsigned int bsi_data;
  1218.     Compose_MT6139CW10( m_sMT6139CW10, bsi_data, m_uiFinalRfid );
  1219.     META_RESULT MetaResult = META_Rf_SetRFImmediateBSI_r(m_META_HANDLE_Obj.Get_MainHandle(), 500, bsi_data);
  1220.     if(MetaResult!=META_SUCCESS)
  1221.     {
  1222.         if( MetaResult!=META_TIMEOUT )
  1223.         {   Confirm( METAAPP_FAIL );  return;  }
  1224.         else
  1225.         {   Confirm( METAAPP_TIMEOUT );  return;   }
  1226.     }
  1227.     if( ! m_bIsMT6139All )
  1228.     {
  1229.         Confirm(METAAPP_SUCCESS);
  1230.     }
  1231.     else
  1232.     {
  1233.         ActiveMan->SetActiveFunction( ::Set_MT6139CW11ToReg );
  1234.     }
  1235. }
  1236. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1237. void  CRFMT6139REG::Get_MT6139CW10FromReg_Start( unsigned int rf_id )
  1238. {
  1239.     rf_mt6139reg_ptr = this;
  1240.     g_bIsRunning = true;
  1241.     m_bIsMT6139All = false;
  1242.     m_uiFinalRfid = rf_id;
  1243.     ActiveMan->SetActiveFunction( ::Get_MT6139CW10FromReg );
  1244. }
  1245. //----------------------------------------------------------------------------
  1246. void  CRFMT6139REG::Get_MT6139CW10FromReg( void )
  1247. {
  1248.     if( ! g_bIsRunning )
  1249.     {   Confirm( METAAPP_FAIL );  return;  }
  1250.     unsigned int reg_data;
  1251.     META_RESULT MetaResult = META_Rf_GetRFImmediateBSI_r(m_META_HANDLE_Obj.Get_MainHandle(), 500, ADDR_MT6139_AUXOUT_CW10, &reg_data);
  1252.     if(MetaResult!=META_SUCCESS)
  1253.     {
  1254.         if( MetaResult!=META_TIMEOUT )
  1255.         {   Confirm( METAAPP_FAIL );  return;  }
  1256.         else
  1257.         {   Confirm( METAAPP_TIMEOUT );  return;   }
  1258.     }
  1259.     DeCompose_MT6139CW10( reg_data, m_sMT6139CW10, m_uiFinalRfid );
  1260.     if( ! m_bIsMT6139All )
  1261.     {
  1262.         Confirm(METAAPP_SUCCESS);
  1263.     }
  1264.     else
  1265.     {
  1266.         ActiveMan->SetActiveFunction( ::Get_MT6139CW11FromReg );
  1267.     }
  1268. }
  1269. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1270. ////////////////////////////        CW11      ////////////////////////////////
  1271. //----------------------------------------------------------------------------
  1272. void  CRFMT6139REG::Compose_MT6139CW11( S_MT6139_CW11  &mt6140_cw11_par, unsigned int &bsi_data, unsigned int rf_id )
  1273. {
  1274.     bsi_data =
  1275.     (mt6140_cw11_par.uc_txdiv_gc1<< 25) |
  1276.     (mt6140_cw11_par.uc_txdiv_gc0  << 24) |
  1277.     (mt6140_cw11_par.uc_txbiast  << 22) |
  1278.     (mt6140_cw11_par.uc_tx_pw     << 20) |
  1279.     (mt6140_cw11_par.uc_txvapc     << 18) |
  1280.     (mt6140_cw11_par.uc_txflt << 14) |
  1281.     (mt6140_cw11_par.uc_txmodgain    << 11) |
  1282.     (mt6140_cw11_par.uc_txdbuf     << 10) |
  1283.     (mt6140_cw11_par.uc_txgbuf     <<  9) |
  1284.     (mt6140_cw11_par.uc_txdiv4     <<  8) |
  1285.     (mt6140_cw11_par.uc_txdiv2     <<  7) |
  1286.     (mt6140_cw11_par.uc_txdiqm     <<  6) |
  1287.     (mt6140_cw11_par.uc_txgiqm     <<  5) |
  1288.     (mt6140_cw11_par.uc_txctl      <<  4) |
  1289.                ADDR_MT6139_CW11;
  1290. }
  1291. //----------------------------------------------------------------------------
  1292. void  CRFMT6139REG::DeCompose_MT6139CW11( unsigned int reg_data, S_MT6139_CW11  &mt6140_cw11_par, unsigned int rf_id )
  1293. {
  1294.     
  1295.     mt6140_cw11_par.uc_txdiv_gc1 = (reg_data >> 21) & 0x01;
  1296.     mt6140_cw11_par.uc_txdiv_gc0   = (reg_data >> 20) & 0x01;
  1297.     mt6140_cw11_par.uc_txbiast   = (reg_data >> 18) & 0x03;
  1298.     mt6140_cw11_par.uc_tx_pw      = (reg_data >> 16) & 0x03;
  1299.     mt6140_cw11_par.uc_txvapc      = (reg_data >>  14) & 0x03;
  1300.     mt6140_cw11_par.uc_txflt  = (reg_data >>  10) & 0x0F;
  1301.     mt6140_cw11_par.uc_txmodgain    = (reg_data >>  7) & 0x07;
  1302.     mt6140_cw11_par.uc_txdbuf      = (reg_data >>  6) & 0x01;
  1303.     mt6140_cw11_par.uc_txgbuf      = (reg_data >>  5) & 0x01;
  1304.     mt6140_cw11_par.uc_txdiv4      = (reg_data >>  4) & 0x01;
  1305.     mt6140_cw11_par.uc_txdiv2      = (reg_data >>  3) & 0x01;
  1306.     mt6140_cw11_par.uc_txdiqm      = (reg_data >>  2) & 0x01;
  1307.     mt6140_cw11_par.uc_txgiqm      = (reg_data >>  1) & 0x01;
  1308.     mt6140_cw11_par.uc_txctl       =  reg_data        & 0x01;
  1309. }
  1310. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1311. void  CRFMT6139REG::Set_MT6139CW11ToReg_Start( S_MT6139_CW11  &mt6140_cw11_par, unsigned int rf_id )
  1312. {
  1313.     rf_mt6139reg_ptr = this;
  1314.     g_bIsRunning = true;
  1315.     m_bIsMT6139All = false;
  1316.     m_sMT6139CW11 = mt6140_cw11_par;
  1317.     m_uiFinalRfid = rf_id;
  1318.     ActiveMan->SetActiveFunction( ::Set_MT6139CW11ToReg );
  1319. }
  1320. //----------------------------------------------------------------------------
  1321. void  CRFMT6139REG::Set_MT6139CW11ToReg( void )
  1322. {
  1323.     if( ! g_bIsRunning )
  1324.     {   Confirm( METAAPP_FAIL );  return;  }
  1325.     unsigned int bsi_data;
  1326.     Compose_MT6139CW11( m_sMT6139CW11, bsi_data, m_uiFinalRfid );
  1327.     META_RESULT MetaResult = META_Rf_SetRFImmediateBSI_r(m_META_HANDLE_Obj.Get_MainHandle(), 500, bsi_data);
  1328.     if(MetaResult!=META_SUCCESS)
  1329.     {
  1330.         if( MetaResult!=META_TIMEOUT )
  1331.         {   Confirm( METAAPP_FAIL );  return;  }
  1332.         else
  1333.         {   Confirm( METAAPP_TIMEOUT );  return;   }
  1334.     }
  1335.     if( ! m_bIsMT6139All )
  1336.     {
  1337.         Confirm(METAAPP_SUCCESS);
  1338.     }
  1339.     else
  1340.     {
  1341.         ActiveMan->SetActiveFunction( ::Set_MT6139CW15ToReg );
  1342.     }
  1343. }
  1344. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1345. void  CRFMT6139REG::Get_MT6139CW11FromReg_Start( unsigned int rf_id )
  1346. {
  1347.     rf_mt6139reg_ptr = this;
  1348.     g_bIsRunning = true;
  1349.     m_bIsMT6139All = false;
  1350.     m_uiFinalRfid = rf_id;
  1351.     ActiveMan->SetActiveFunction( ::Get_MT6139CW11FromReg );
  1352. }
  1353. //----------------------------------------------------------------------------
  1354. void  CRFMT6139REG::Get_MT6139CW11FromReg( void )
  1355. {
  1356.     if( ! g_bIsRunning )
  1357.     {   Confirm( METAAPP_FAIL );  return;  }
  1358.     unsigned int reg_data;
  1359.     META_RESULT MetaResult = META_Rf_GetRFImmediateBSI_r(m_META_HANDLE_Obj.Get_MainHandle(), 500, ADDR_MT6139_AUXOUT_CW11, &reg_data);
  1360.     if(MetaResult!=META_SUCCESS)
  1361.     {
  1362.         if( MetaResult!=META_TIMEOUT )
  1363.         {   Confirm( METAAPP_FAIL );  return;  }
  1364.         else
  1365.         {   Confirm( METAAPP_TIMEOUT );  return;   }
  1366.     }
  1367.     DeCompose_MT6139CW11( reg_data, m_sMT6139CW11, m_uiFinalRfid );
  1368.     if( ! m_bIsMT6139All )
  1369.     {
  1370.         Confirm(METAAPP_SUCCESS);
  1371.     }
  1372.     else
  1373.     {
  1374.         ActiveMan->SetActiveFunction( ::Get_MT6139CW15FromReg );
  1375.     }
  1376. }
  1377. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1378. ////////////////////////////        CW15      ////////////////////////////////
  1379. //----------------------------------------------------------------------------
  1380. void  CRFMT6139REG::Compose_MT6139CW15( S_MT6139_CW15  &mt6140_cw15_par, unsigned int &bsi_data, unsigned int rf_id )
  1381. {
  1382.     bsi_data = (mt6140_cw15_par.uc_auxout_selection   << 8) |
  1383.                (mt6140_cw15_par.uc_address_data_out  << 4) |
  1384.                ADDR_MT6139_CW15;
  1385. }
  1386. //----------------------------------------------------------------------------
  1387. void  CRFMT6139REG::DeCompose_MT6139CW15( unsigned int reg_data, S_MT6139_CW15  &mt6140_cw15_par, unsigned int rf_id )
  1388. {
  1389.     mt6140_cw15_par.uc_auxout_selection = (reg_data >> 4) & 0x7F;
  1390.     mt6140_cw15_par.uc_address_data_out =  reg_data        & 0x0F;
  1391. }
  1392. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1393. void  CRFMT6139REG::Set_MT6139CW15ToReg_Start( S_MT6139_CW15  &mt6140_cw15_par, unsigned int rf_id )
  1394. {
  1395.     rf_mt6139reg_ptr = this;
  1396.     g_bIsRunning = true;
  1397.     m_bIsMT6139All = false;
  1398.     m_sMT6139CW15 = mt6140_cw15_par;
  1399.     m_uiFinalRfid = rf_id;
  1400.     ActiveMan->SetActiveFunction( ::Set_MT6139CW15ToReg );
  1401. }
  1402. //----------------------------------------------------------------------------
  1403. void  CRFMT6139REG::Set_MT6139CW15ToReg( void )
  1404. {
  1405.     if( ! g_bIsRunning )
  1406.     {   Confirm( METAAPP_FAIL );  return;  }
  1407.     unsigned int bsi_data;
  1408.     Compose_MT6139CW15( m_sMT6139CW15, bsi_data, m_uiFinalRfid );
  1409.     META_RESULT MetaResult = META_Rf_SetRFImmediateBSI_r(m_META_HANDLE_Obj.Get_MainHandle(), 500, bsi_data);
  1410.     if(MetaResult!=META_SUCCESS)
  1411.     {
  1412.         if( MetaResult!=META_TIMEOUT )
  1413.         {   Confirm( METAAPP_FAIL );  return;  }
  1414.         else
  1415.         {   Confirm( METAAPP_TIMEOUT );  return;   }
  1416.     }
  1417.     Confirm(METAAPP_SUCCESS);
  1418. }
  1419. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1420. void  CRFMT6139REG::Get_MT6139CW15FromReg_Start( unsigned int rf_id )
  1421. {
  1422.     rf_mt6139reg_ptr = this;
  1423.     g_bIsRunning = true;
  1424.     m_bIsMT6139All = false;
  1425.     m_uiFinalRfid = rf_id;
  1426.     ActiveMan->SetActiveFunction( ::Get_MT6139CW15FromReg );
  1427. }
  1428. //----------------------------------------------------------------------------
  1429. void  CRFMT6139REG::Get_MT6139CW15FromReg( void )
  1430. {
  1431.     if( ! g_bIsRunning )
  1432.     {   Confirm( METAAPP_FAIL );  return;  }
  1433.     unsigned int reg_data;
  1434.     META_RESULT MetaResult = META_Rf_GetRFImmediateBSI_r(m_META_HANDLE_Obj.Get_MainHandle(), 500, ADDR_MT6139_AUXOUT_CW15, &reg_data);
  1435.     if(MetaResult!=META_SUCCESS)
  1436.     {
  1437.         if( MetaResult!=META_TIMEOUT )
  1438.         {   Confirm( METAAPP_FAIL );  return;  }
  1439.         else
  1440.         {   Confirm( METAAPP_TIMEOUT );  return;   }
  1441.     }
  1442.     DeCompose_MT6139CW15( reg_data, m_sMT6139CW15, m_uiFinalRfid );
  1443.     Confirm(METAAPP_SUCCESS);
  1444. }
  1445. //===========================================================================
  1446. ////////////////////////////   Global  information   ////////////////////////
  1447. //===========================================================================
  1448. //---------------------------------------------------------------------------
  1449. E_METAAPP_RESULT_T CRFMT6139REG::Get_ConfirmState( void )
  1450. {
  1451.     return  m_eConfirmState;
  1452. }
  1453. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1454. S_MT6139_CW0 CRFMT6139REG::Get_MT6139CW0( void )
  1455. {   return m_sMT6139CW0;
  1456. }
  1457. //---------------------------------------------------------------------------
  1458. void CRFMT6139REG::Set_MT6139CW0( S_MT6139_CW0 &mt6140_cw0 )
  1459. {   m_sMT6139CW0 = mt6140_cw0;
  1460. }
  1461. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1462. S_MT6139_CW1 CRFMT6139REG::Get_MT6139CW1( void )
  1463. {   return m_sMT6139CW1;
  1464. }
  1465. //---------------------------------------------------------------------------
  1466. void CRFMT6139REG::Set_MT6139CW1( S_MT6139_CW1 &mt6140_cw1 )
  1467. {   m_sMT6139CW1 = mt6140_cw1;
  1468. }
  1469. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1470. S_MT6139_CW2 CRFMT6139REG::Get_MT6139CW2( void )
  1471. {   return m_sMT6139CW2;
  1472. }
  1473. //---------------------------------------------------------------------------
  1474. void CRFMT6139REG::Set_MT6139CW2( S_MT6139_CW2 &mt6140_cw2 )
  1475. {   m_sMT6139CW2 = mt6140_cw2;
  1476. }
  1477. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1478. S_MT6139_CW3 CRFMT6139REG::Get_MT6139CW3( void )
  1479. {   return m_sMT6139CW3;
  1480. }
  1481. //---------------------------------------------------------------------------
  1482. void CRFMT6139REG::Set_MT6139CW3( S_MT6139_CW3 &mt6140_cw3 )
  1483. {   m_sMT6139CW3 = mt6140_cw3;
  1484. }
  1485. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1486. S_MT6139_CW4 CRFMT6139REG::Get_MT6139CW4( void )
  1487. {   return m_sMT6139CW4;
  1488. }
  1489. //---------------------------------------------------------------------------
  1490. void CRFMT6139REG::Set_MT6139CW4( S_MT6139_CW4 &mt6140_cw4 )
  1491. {   m_sMT6139CW4 = mt6140_cw4;
  1492. }
  1493. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1494. S_MT6139_CW5 CRFMT6139REG::Get_MT6139CW5( void )
  1495. {   return m_sMT6139CW5;
  1496. }
  1497. //---------------------------------------------------------------------------
  1498. void CRFMT6139REG::Set_MT6139CW5( S_MT6139_CW5 &mt6140_cw5 )
  1499. {   m_sMT6139CW5 = mt6140_cw5;
  1500. }
  1501. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1502. S_MT6139_CW6 CRFMT6139REG::Get_MT6139CW6( void )
  1503. {   return m_sMT6139CW6;
  1504. }
  1505. //---------------------------------------------------------------------------
  1506. void CRFMT6139REG::Set_MT6139CW6( S_MT6139_CW6 &mt6140_cw6 )
  1507. {   m_sMT6139CW6 = mt6140_cw6;
  1508. }
  1509. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1510. S_MT6139_CW7 CRFMT6139REG::Get_MT6139CW7( void )
  1511. {   return m_sMT6139CW7;
  1512. }
  1513. //---------------------------------------------------------------------------
  1514. void CRFMT6139REG::Set_MT6139CW7( S_MT6139_CW7 &mt6140_cw7 )
  1515. {   m_sMT6139CW7 = mt6140_cw7;
  1516. }
  1517. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1518. S_MT6139_CW8 CRFMT6139REG::Get_MT6139CW8( void )
  1519. {   return m_sMT6139CW8;
  1520. }
  1521. //---------------------------------------------------------------------------
  1522. void CRFMT6139REG::Set_MT6139CW8( S_MT6139_CW8 &mt6140_cw8 )
  1523. {   m_sMT6139CW8 = mt6140_cw8;
  1524. }
  1525. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1526. S_MT6139_CW9 CRFMT6139REG::Get_MT6139CW9( void )
  1527. {   return m_sMT6139CW9;
  1528. }
  1529. //---------------------------------------------------------------------------
  1530. void CRFMT6139REG::Set_MT6139CW9( S_MT6139_CW9 &mt6140_cw9 )
  1531. {   m_sMT6139CW9 = mt6140_cw9;
  1532. }
  1533. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1534. S_MT6139_CW10 CRFMT6139REG::Get_MT6139CW10( void )
  1535. {   return m_sMT6139CW10;
  1536. }
  1537. //---------------------------------------------------------------------------
  1538. void CRFMT6139REG::Set_MT6139CW10( S_MT6139_CW10 &mt6140_cw10 )
  1539. {   m_sMT6139CW10 = mt6140_cw10;
  1540. }
  1541. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1542. S_MT6139_CW11 CRFMT6139REG::Get_MT6139CW11( void )
  1543. {   return m_sMT6139CW11;
  1544. }
  1545. //---------------------------------------------------------------------------
  1546. void CRFMT6139REG::Set_MT6139CW11( S_MT6139_CW11 &mt6140_cw11 )
  1547. {   m_sMT6139CW11 = mt6140_cw11;
  1548. }
  1549. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1550. S_MT6139_CW15 CRFMT6139REG::Get_MT6139CW15( void )
  1551. {   return m_sMT6139CW15;
  1552. }
  1553. //---------------------------------------------------------------------------
  1554. void CRFMT6139REG::Set_MT6139CW15( S_MT6139_CW15 &mt6140_cw15 )
  1555. {   m_sMT6139CW15 = mt6140_cw15;
  1556. }