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

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_mt6140creg.cpp
  40.  *
  41.  * Project:
  42.  * --------
  43.  *   Maui META APP
  44.  *
  45.  * Description:
  46.  * ------------
  47.  *   MT6140C 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_MT6140CREG_H_
  68. #include "rf_mt6140creg.h"
  69. #endif
  70. #ifndef  _MAN_ACTIVE_H_
  71. #include "man_active.h"
  72. #endif
  73. //===========================================================================
  74. static CRFMT6140CREG*  rf_mt6140reg_ptr;
  75. static bool g_bIsRunning;
  76. // MT6140 All
  77. //----------------------------------------------------------------------------
  78. static void  Get_MT6140AllFromReg( void )
  79. {
  80.     rf_mt6140reg_ptr->Get_MT6140AllFromReg();
  81. }
  82. //----------------------------------------------------------------------------
  83. static void  Set_MT6140AllToReg( void )
  84. {  rf_mt6140reg_ptr->Set_MT6140AllToReg();
  85. }
  86. // MT6140 CW0
  87. //----------------------------------------------------------------------------
  88. static void  Set_MT6140CW0ToReg( void )
  89. {  rf_mt6140reg_ptr->Set_MT6140CW0ToReg();
  90. }
  91. //----------------------------------------------------------------------------
  92. static void  Get_MT6140CW0FromReg( void )
  93. {  rf_mt6140reg_ptr->Get_MT6140CW0FromReg();
  94. }
  95. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  96. // MT6140 CW1
  97. static void  Set_MT6140CW1ToReg( void )
  98. {   rf_mt6140reg_ptr->Set_MT6140CW1ToReg();
  99. }
  100. //----------------------------------------------------------------------------
  101. static void  Get_MT6140CW1FromReg( void )
  102. {  rf_mt6140reg_ptr->Get_MT6140CW1FromReg();
  103. }
  104. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  105. // MT6140 CW2
  106. static void  Set_MT6140CW2ToReg( void )
  107. {   rf_mt6140reg_ptr->Set_MT6140CW2ToReg();
  108. }
  109. //----------------------------------------------------------------------------
  110. static void  Get_MT6140CW2FromReg( void )
  111. {   rf_mt6140reg_ptr->Get_MT6140CW2FromReg();
  112. }
  113. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  114. // MT6140 CW3
  115. static     void  Set_MT6140CCW3ToReg( void )
  116. {   rf_mt6140reg_ptr->Set_MT6140CCW3ToReg();
  117. }
  118. //----------------------------------------------------------------------------
  119. static     void  Get_MT6140CCW3FromReg( void )
  120. {  rf_mt6140reg_ptr->Get_MT6140CCW3FromReg();
  121. }
  122. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  123. // MT6140 CW4
  124. static     void  Set_MT6140CCW4ToReg( void )
  125. {   rf_mt6140reg_ptr->Set_MT6140CCW4ToReg();
  126. }
  127. //----------------------------------------------------------------------------
  128. static     void  Get_MT6140CCW4FromReg( void )
  129. {   rf_mt6140reg_ptr->Get_MT6140CCW4FromReg();
  130. }
  131. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  132. // MT6140 CW5
  133. static     void  Set_MT6140CCW5ToReg( void )
  134. {   rf_mt6140reg_ptr->Set_MT6140CCW5ToReg();
  135. }
  136. //----------------------------------------------------------------------------
  137. static     void  Get_MT6140CCW5FromReg( void )
  138. {   rf_mt6140reg_ptr->Get_MT6140CCW5FromReg();
  139. }
  140. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  141. // MT6140 CW6
  142. static     void  Set_MT6140CW6ToReg( void )
  143. {   rf_mt6140reg_ptr->Set_MT6140CW6ToReg();
  144. }
  145. //----------------------------------------------------------------------------
  146. static     void  Get_MT6140CW6FromReg( void )
  147. {   rf_mt6140reg_ptr->Get_MT6140CW6FromReg();
  148. }
  149. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  150. // MT6140 CW7
  151. static     void  Set_MT6140CCW7ToReg( void )
  152. {   rf_mt6140reg_ptr->Set_MT6140CCW7ToReg();
  153. }
  154. //----------------------------------------------------------------------------
  155. static     void  Get_MT6140CCW7FromReg( void )
  156. {   rf_mt6140reg_ptr->Get_MT6140CCW7FromReg();
  157. }
  158. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  159. // MT6140 CW8
  160. static     void  Set_MT6140CW8ToReg( void )
  161. {   rf_mt6140reg_ptr->Set_MT6140CW8ToReg();
  162. }
  163. //----------------------------------------------------------------------------
  164. static     void  Get_MT6140CW8FromReg( void )
  165. {   rf_mt6140reg_ptr->Get_MT6140CW8FromReg();
  166. }
  167. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  168. // MT6140 CW9
  169. static     void  Set_MT6140CCW9ToReg( void )
  170. {   rf_mt6140reg_ptr->Set_MT6140CCW9ToReg();
  171. }
  172. //----------------------------------------------------------------------------
  173. static     void  Get_MT6140CCW9FromReg( void )
  174. {   rf_mt6140reg_ptr->Get_MT6140CCW9FromReg();
  175. }
  176. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  177. // MT6140 CW10
  178. static     void  Set_MT6140CW10ToReg( void )
  179. {   rf_mt6140reg_ptr->Set_MT6140CW10ToReg();
  180. }
  181. //----------------------------------------------------------------------------
  182. static     void  Get_MT6140CW10FromReg( void )
  183. {   rf_mt6140reg_ptr->Get_MT6140CW10FromReg();
  184. }
  185. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  186. // MT6140 CW11
  187. static     void  Set_MT6140CCW11ToReg( void )
  188. {   rf_mt6140reg_ptr->Set_MT6140CCW11ToReg();
  189. }
  190. //----------------------------------------------------------------------------
  191. static     void  Get_MT6140CCW11FromReg( void )
  192. {   rf_mt6140reg_ptr->Get_MT6140CCW11FromReg();
  193. }
  194. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  195. // MT6140 CW12
  196. static     void  Set_MT6140CCW12ToReg( void )
  197. {   rf_mt6140reg_ptr->Set_MT6140CCW12ToReg();
  198. }
  199. //----------------------------------------------------------------------------
  200. static     void  Get_MT6140CCW12FromReg( void )
  201. {   rf_mt6140reg_ptr->Get_MT6140CCW12FromReg();
  202. }
  203. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  204. // MT6140 CW15
  205. static     void  Set_MT6140CW15ToReg( void )
  206. {   rf_mt6140reg_ptr->Set_MT6140CW15ToReg();
  207. }
  208. //----------------------------------------------------------------------------
  209. static     void  Get_MT6140CW15FromReg( void )
  210. {   rf_mt6140reg_ptr->Get_MT6140CW15FromReg();
  211. }
  212. //===========================================================================
  213. CRFMT6140CREG::CRFMT6140CREG( void )
  214. {
  215.     g_bIsRunning = false;
  216.     ConfirmCallback = 0;
  217.     m_bIsMT6140All = false;
  218. }
  219. //---------------------------------------------------------------------------
  220. CRFMT6140CREG::~CRFMT6140CREG()
  221. {
  222.     g_bIsRunning = false;
  223.     ConfirmCallback = 0;
  224. }
  225. //---------------------------------------------------------------------------
  226. void  CRFMT6140CREG::REQ_Stop(void)
  227. {
  228.     if (!g_bIsRunning)
  229.     {
  230.         return;
  231.     }
  232.     Confirm(METAAPP_STOP);
  233. }
  234. //---------------------------------------------------------------------------
  235. void CRFMT6140CREG::Confirm(E_METAAPP_RESULT_T confirm_state )
  236. {
  237.     if (!g_bIsRunning)
  238.     {
  239.         return;
  240.     }
  241.     g_bIsRunning = false;
  242.     if (NULL == ConfirmCallback)
  243.     {
  244.         return;
  245.     }
  246.     m_eConfirmState = confirm_state;
  247.     ActiveMan->SetActiveFunction(ConfirmCallback);
  248. }
  249. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  250. ////////////////////////////        All      /////////////////////////////////
  251. //----------------------------------------------------------------------------
  252. void  CRFMT6140CREG::Set_MT6140AllToReg_Start( unsigned int rf_id  )
  253. {
  254.     rf_mt6140reg_ptr = this;
  255.     g_bIsRunning = true;
  256.     m_bIsMT6140All = true;
  257.     m_uiFinalRfid = rf_id;
  258.     ActiveMan->SetActiveFunction( ::Set_MT6140AllToReg );
  259. }
  260. //----------------------------------------------------------------------------
  261. void  CRFMT6140CREG::Set_MT6140AllToReg( void )
  262. {
  263.     if( ! g_bIsRunning )
  264.     {   Confirm( METAAPP_FAIL );  return;  }
  265.     ActiveMan->SetActiveFunction( ::Set_MT6140CW0ToReg );
  266. }
  267. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  268. void  CRFMT6140CREG::Get_MT6140AllFromReg_Start( unsigned int rf_id  )
  269. {
  270.     rf_mt6140reg_ptr = this;
  271.     g_bIsRunning = true;
  272.     m_bIsMT6140All = true;
  273.     m_uiFinalRfid = rf_id;
  274.     ActiveMan->SetActiveFunction( ::Get_MT6140AllFromReg );
  275. }
  276. //----------------------------------------------------------------------------
  277. void  CRFMT6140CREG::Get_MT6140AllFromReg( void )
  278. {
  279.     if( ! g_bIsRunning )
  280.     {   Confirm( METAAPP_FAIL );  return;  }
  281.     ActiveMan->SetActiveFunction( ::Get_MT6140CW0FromReg );
  282. }
  283. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  284. ////////////////////////////        CW0      /////////////////////////////////
  285. //----------------------------------------------------------------------------
  286. void  CRFMT6140CREG::Compose_MT6140CW0( S_MT6140_CW0  &mt6140_cw0_par, unsigned int &bsi_data, unsigned int  rf_id )
  287. {
  288.     bsi_data = (mt6140_cw0_par.uc_por         << 18)  |
  289.                (mt6140_cw0_par.uc_gpo         << 17)  |
  290.                (mt6140_cw0_par.uc_tx_mod_bpi << 16)  |
  291.                (mt6140_cw0_par.uc_vcosel      << 15)  |
  292.                (mt6140_cw0_par.uc_afc         <<  9)  |
  293.                (mt6140_cw0_par.uc_flt         <<  8)  |
  294.                (mt6140_cw0_par.uc_dien        <<  7)  |
  295.                (mt6140_cw0_par.uc_synpw       <<  6)  |
  296.                (mt6140_cw0_par.uc_syncp       <<  4)  |
  297.                ADDR_MT6140_CW0;
  298. }
  299. //---------------------------------------------------------------------------
  300. void  CRFMT6140CREG::DeCompose_MT6140CW0( unsigned int reg_data, S_MT6140_CW0  &mt6140_cw0_par, unsigned int  rf_id )
  301. {
  302.     mt6140_cw0_par.uc_por        = (reg_data >>14)   & 0x01;
  303.     mt6140_cw0_par.uc_gpo        = (reg_data >>13)   & 0x01;
  304.     mt6140_cw0_par.uc_tx_mod_bpi = (reg_data >>12)   & 0x01;
  305.     mt6140_cw0_par.uc_vcosel     = (reg_data >>11)   & 0x01;
  306.     mt6140_cw0_par.uc_afc        = (reg_data >> 5)   & 0x3F;
  307.     mt6140_cw0_par.uc_flt        = (reg_data >> 4)   & 0x01;
  308.     mt6140_cw0_par.uc_dien       = (reg_data >> 3)   & 0x01;
  309.     mt6140_cw0_par.uc_synpw      = (reg_data >> 2)   & 0x01;
  310.     mt6140_cw0_par.uc_syncp      =  reg_data         & 0x03;
  311. }
  312. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  313. void  CRFMT6140CREG::Set_MT6140CW0ToReg_Start( S_MT6140_CW0  &mt6140_cw0_par, unsigned int rf_id  )
  314. {
  315.     rf_mt6140reg_ptr = this;
  316.     g_bIsRunning = true;
  317.     m_bIsMT6140All = false;
  318.     m_sMT6140CW0 = mt6140_cw0_par;
  319.     m_uiFinalRfid = rf_id;
  320.     ActiveMan->SetActiveFunction( ::Set_MT6140CW0ToReg );
  321. }
  322. //----------------------------------------------------------------------------
  323. void  CRFMT6140CREG::Set_MT6140CW0ToReg( void )
  324. {
  325.     if( ! g_bIsRunning )
  326.     {   Confirm( METAAPP_FAIL );  return;  }
  327.     unsigned int bsi_data;
  328.     Compose_MT6140CW0( m_sMT6140CW0, bsi_data, m_uiFinalRfid );
  329.     META_RESULT MetaResult = META_Rf_SetRFImmediateBSI_r(m_META_HANDLE_Obj.Get_MainHandle(), 500, bsi_data);
  330.     if (MetaResult!=META_SUCCESS)
  331.     {
  332.         if (MetaResult != META_TIMEOUT)
  333.         {
  334.             Confirm(METAAPP_FAIL);
  335.             return;
  336.         }
  337.         else
  338.         {
  339.             Confirm(METAAPP_TIMEOUT);
  340.             return;
  341.         }
  342.     }
  343.     if( ! m_bIsMT6140All )
  344.     {
  345.         Confirm(METAAPP_SUCCESS);
  346.     }
  347.     else
  348.     {
  349.         ActiveMan->SetActiveFunction( ::Set_MT6140CW1ToReg );
  350.     }
  351. }
  352. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  353. void  CRFMT6140CREG::Get_MT6140CW0FromReg_Start( unsigned int rf_id  )
  354. {
  355.     rf_mt6140reg_ptr = this;
  356.     g_bIsRunning = true;
  357.     m_bIsMT6140All = false;
  358.     m_uiFinalRfid = rf_id;
  359.     ActiveMan->SetActiveFunction( ::Get_MT6140CW0FromReg );
  360. }
  361. //----------------------------------------------------------------------------
  362. void  CRFMT6140CREG::Get_MT6140CW0FromReg( void )
  363. {
  364.     if( ! g_bIsRunning )
  365.     {   Confirm( METAAPP_FAIL );  return;  }
  366.     unsigned int reg_data;
  367.     META_RESULT MetaResult = META_Rf_GetRFImmediateBSI_r(m_META_HANDLE_Obj.Get_MainHandle(), 500, ADDR_MT6140_AUXOUT_CW0, &reg_data);
  368.     if(MetaResult!=META_SUCCESS)
  369.     {
  370.         if( MetaResult!=META_TIMEOUT )
  371.         {   Confirm( METAAPP_FAIL );  return;  }
  372.         else
  373.         {   Confirm( METAAPP_TIMEOUT );  return;   }
  374.     }
  375.     DeCompose_MT6140CW0( reg_data, m_sMT6140CW0, m_uiFinalRfid);
  376.     if( ! m_bIsMT6140All )
  377.     {
  378.         Confirm(METAAPP_SUCCESS);
  379.     }
  380.     else
  381.     {
  382.         ActiveMan->SetActiveFunction( ::Get_MT6140CW1FromReg );
  383.     }
  384. }
  385. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  386. ////////////////////////////        CW1      /////////////////////////////////
  387. //----------------------------------------------------------------------------
  388. void  CRFMT6140CREG::Compose_MT6140CW1( S_MT6140_CW1  &mt6140_cw1_par, unsigned int &bsi_data, unsigned int  rf_id )
  389. {
  390.     bsi_data = (mt6140_cw1_par.uc_trx        << 22) |
  391.                (mt6140_cw1_par.uc_band       << 20) |
  392.                (mt6140_cw1_par.uc_bufmode    << 19) |
  393.                (mt6140_cw1_par.uc_n_integer  << 12) |
  394.                (mt6140_cw1_par.uc_n_fraction <<  4) |
  395.                ADDR_MT6140_CW1;
  396. }
  397. //---------------------------------------------------------------------------
  398. void  CRFMT6140CREG::DeCompose_MT6140CW1( unsigned int reg_data, S_MT6140_CW1  &mt6140_cw1_par, unsigned int  rf_id )
  399. {
  400.     mt6140_cw1_par.uc_trx        = (reg_data >> 18) & 0X01;
  401.     mt6140_cw1_par.uc_band       = (reg_data >> 16) & 0X03;
  402.     mt6140_cw1_par.uc_bufmode    = (reg_data >> 15) & 0X01;
  403.     mt6140_cw1_par.uc_n_integer  = (reg_data >>  8) & 0X7F;
  404.     mt6140_cw1_par.uc_n_fraction =  reg_data        & 0xFF;
  405. }
  406. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  407. void  CRFMT6140CREG::Set_MT6140CW1ToReg_Start( S_MT6140_CW1  &mt6140_cw1_par, unsigned int rf_id )
  408. {
  409.     rf_mt6140reg_ptr = this;
  410.     g_bIsRunning = true;
  411.     m_bIsMT6140All = false;
  412.     m_sMT6140CW1 = mt6140_cw1_par;
  413.     m_uiFinalRfid = rf_id;
  414.     ActiveMan->SetActiveFunction( ::Set_MT6140CW1ToReg );
  415. }
  416. //----------------------------------------------------------------------------
  417. void  CRFMT6140CREG::Set_MT6140CW1ToReg( void )
  418. {
  419.     if( ! g_bIsRunning )
  420.     {   Confirm( METAAPP_FAIL );  return;  }
  421.     unsigned int bsi_data;
  422.     Compose_MT6140CW1( m_sMT6140CW1, bsi_data, m_uiFinalRfid );
  423.     META_RESULT MetaResult = META_Rf_SetRFImmediateBSI_r(m_META_HANDLE_Obj.Get_MainHandle(), 500, bsi_data);
  424.     if(MetaResult!=META_SUCCESS)
  425.     {
  426.         if( MetaResult!=META_TIMEOUT )
  427.         {   Confirm( METAAPP_FAIL );  return;  }
  428.         else
  429.         {   Confirm( METAAPP_TIMEOUT );  return;   }
  430.     }
  431.     if( ! m_bIsMT6140All )
  432.     {
  433.         Confirm(METAAPP_SUCCESS);
  434.     }
  435.     else
  436.     {
  437.         ActiveMan->SetActiveFunction( ::Set_MT6140CW2ToReg );
  438.     }
  439. }
  440. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  441. void  CRFMT6140CREG::Get_MT6140CW1FromReg_Start( unsigned int rf_id )
  442. {
  443.     rf_mt6140reg_ptr = this;
  444.     g_bIsRunning = true;
  445.     m_bIsMT6140All = false;
  446.     m_uiFinalRfid = rf_id;
  447.     ActiveMan->SetActiveFunction( ::Get_MT6140CW1FromReg );
  448. }
  449. //----------------------------------------------------------------------------
  450. void  CRFMT6140CREG::Get_MT6140CW1FromReg( void )
  451. {
  452.     if( ! g_bIsRunning )
  453.     {   Confirm( METAAPP_FAIL );  return;  }
  454.     unsigned int reg_data;
  455.     META_RESULT MetaResult = META_Rf_GetRFImmediateBSI_r(m_META_HANDLE_Obj.Get_MainHandle(), 500, ADDR_MT6140_AUXOUT_CW1, &reg_data);
  456.     if(MetaResult!=META_SUCCESS)
  457.     {
  458.         if( MetaResult!=META_TIMEOUT )
  459.         {   Confirm( METAAPP_FAIL );  return;  }
  460.         else
  461.         {   Confirm( METAAPP_TIMEOUT );  return;   }
  462.     }
  463.     DeCompose_MT6140CW1( reg_data, m_sMT6140CW1, m_uiFinalRfid );
  464.     if( ! m_bIsMT6140All )
  465.     {
  466.         Confirm(METAAPP_SUCCESS);
  467.     }
  468.     else
  469.     {
  470.         ActiveMan->SetActiveFunction( ::Get_MT6140CW2FromReg );
  471.     }
  472. }
  473. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  474. ////////////////////////////        CW2      /////////////////////////////////
  475. //----------------------------------------------------------------------------
  476. void  CRFMT6140CREG::Compose_MT6140CW2( S_MT6140_CW2  &mt6140_cw2_par, unsigned int &bsi_data, unsigned int  rf_id )
  477. {
  478.         bsi_data = (mt6140_cw2_par.uc_dc_dac_ai  << 20) |
  479.                    (mt6140_cw2_par.uc_dc_dac_aq  << 14) |
  480.                    (mt6140_cw2_par.uc_auto_cal   << 13) |
  481.                    (mt6140_cw2_par.uc_mode       << 10) |
  482.                    (mt6140_cw2_par.uc_gain_table << 4 ) |
  483.                    ADDR_MT6140_CW2;
  484. }
  485. //----------------------------------------------------------------------------
  486. void  CRFMT6140CREG::DeCompose_MT6140CW2( unsigned int reg_data, S_MT6140_CW2  &mt6140_cw2_par, unsigned int  rf_id )
  487. {
  488.         mt6140_cw2_par.uc_dc_dac_ai        = (reg_data >> 16)  & 0x3F;
  489.         mt6140_cw2_par.uc_dc_dac_aq        = (reg_data >> 10)  & 0x3F;
  490.         mt6140_cw2_par.uc_auto_cal         = (reg_data >>  9)  & 0x01;
  491.         mt6140_cw2_par.uc_mode             = (reg_data >>  6)  & 0x07;
  492.         mt6140_cw2_par.uc_gain_table       = (reg_data      )  & 0x3F;
  493. }
  494. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  495. void  CRFMT6140CREG::Set_MT6140CW2ToReg_Start( S_MT6140_CW2  &mt6140_cw2_par, unsigned int rf_id )
  496. {
  497.     rf_mt6140reg_ptr = this;
  498.     g_bIsRunning = true;
  499.     m_bIsMT6140All = false;
  500.     m_sMT6140CW2 = mt6140_cw2_par;
  501.     m_uiFinalRfid = rf_id;
  502.     ActiveMan->SetActiveFunction( ::Set_MT6140CW2ToReg );
  503. }
  504. //----------------------------------------------------------------------------
  505. void  CRFMT6140CREG::Set_MT6140CW2ToReg( void )
  506. {
  507.     if( ! g_bIsRunning )
  508.     {   Confirm( METAAPP_FAIL );  return;  }
  509.     unsigned int bsi_data;
  510.     Compose_MT6140CW2( m_sMT6140CW2, bsi_data, m_uiFinalRfid);
  511.     META_RESULT MetaResult = META_Rf_SetRFImmediateBSI_r(m_META_HANDLE_Obj.Get_MainHandle(), 500, bsi_data);
  512.     if(MetaResult!=META_SUCCESS)
  513.     {
  514.         if( MetaResult!=META_TIMEOUT )
  515.         {   Confirm( METAAPP_FAIL );  return;  }
  516.         else
  517.         {   Confirm( METAAPP_TIMEOUT );  return;   }
  518.     }
  519.     if( ! m_bIsMT6140All )
  520.     {
  521.         Confirm(METAAPP_SUCCESS);
  522.     }
  523.     else
  524.     {
  525.         ActiveMan->SetActiveFunction( ::Set_MT6140CCW3ToReg );
  526.     }
  527. }
  528. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  529. void  CRFMT6140CREG::Get_MT6140CW2FromReg_Start( unsigned int rf_id )
  530. {
  531.     rf_mt6140reg_ptr = this;
  532.     g_bIsRunning = true;
  533.     m_bIsMT6140All = false;
  534.     m_uiFinalRfid = rf_id;
  535.     ActiveMan->SetActiveFunction( ::Get_MT6140CW2FromReg );
  536. }
  537. //----------------------------------------------------------------------------
  538. void  CRFMT6140CREG::Get_MT6140CW2FromReg( void )
  539. {
  540.     if( ! g_bIsRunning )
  541.     {   Confirm( METAAPP_FAIL );  return;  }
  542.     unsigned int reg_data;
  543.     META_RESULT MetaResult = META_Rf_GetRFImmediateBSI_r(m_META_HANDLE_Obj.Get_MainHandle(), 500, ADDR_MT6140_AUXOUT_CW2, &reg_data);
  544.     if(MetaResult!=META_SUCCESS)
  545.     {
  546.         if( MetaResult!=META_TIMEOUT )
  547.         {   Confirm( METAAPP_FAIL );  return;  }
  548.         else
  549.         {   Confirm( METAAPP_TIMEOUT );  return;   }
  550.     }
  551.     DeCompose_MT6140CW2( reg_data, m_sMT6140CW2, m_uiFinalRfid );
  552.     if( ! m_bIsMT6140All )
  553.     {
  554.         Confirm(METAAPP_SUCCESS);
  555.     }
  556.     else
  557.     {
  558.         ActiveMan->SetActiveFunction( ::Get_MT6140CCW3FromReg );
  559.     }
  560. }
  561. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  562. ////////////////////////////        CW3      /////////////////////////////////
  563. //----------------------------------------------------------------------------
  564. void  CRFMT6140CREG::Compose_MT6140CCW3( S_MT6140C_CW3  &mt6140c_cw3_par, unsigned int &bsi_data, unsigned int  rf_id )
  565. {
  566.         bsi_data = (mt6140c_cw3_par.uc_txdbuf    << 22) |
  567.                    (mt6140c_cw3_par.uc_txgbuf    << 21) |
  568.                    (mt6140c_cw3_par.uc_txdiv4    << 20) |
  569.                    (mt6140c_cw3_par.uc_txdiv2    << 19) |
  570.                    (mt6140c_cw3_par.uc_txdiqm    << 18) |
  571.                    (mt6140c_cw3_par.uc_txgiqm    << 17) |
  572.                    (mt6140c_cw3_par.uc_txctl     << 16) |
  573.                    (mt6140c_cw3_par.uc_rxbufp    << 13) |
  574.                    (mt6140c_cw3_par.uc_syncompp  << 12) |
  575.                    (mt6140c_cw3_par.uc_rfmixp    << 11) |
  576.                    (mt6140c_cw3_par.uc_rflnap    << 10) |
  577.                    (mt6140c_cw3_par.uc_syndivp   <<  9) |
  578.                    (mt6140c_cw3_par.uc_synpfdp   <<  8) |
  579.                    (mt6140c_cw3_par.uc_rxdivp    <<  7) |
  580.                    (mt6140c_cw3_par.uc_ifpgap2   <<  6) |
  581.                    (mt6140c_cw3_par.uc_ifpgap1   <<  5) |
  582.                    (mt6140c_cw3_par.uc_ifpolp    <<  4) |
  583.                    ADDR_MT6140_CW3;
  584. }
  585. //----------------------------------------------------------------------------
  586. void  CRFMT6140CREG::DeCompose_MT6140CCW3( unsigned int reg_data, S_MT6140C_CW3  &mt6140c_cw3_par, unsigned int  rf_id )
  587. {
  588.     mt6140c_cw3_par.uc_rfmixp  = (reg_data >> 7)  & 0x01;
  589.     mt6140c_cw3_par.uc_rflnap  = (reg_data >> 6)  & 0x01;
  590.     mt6140c_cw3_par.uc_syndivp = (reg_data >> 5)  & 0x01;
  591.     mt6140c_cw3_par.uc_synpfdp = (reg_data >> 4)  & 0x01;
  592.     mt6140c_cw3_par.uc_rxdivp  = (reg_data >> 3)  & 0x01;
  593.     mt6140c_cw3_par.uc_ifpgap2 = (reg_data >> 2)  & 0x01;
  594.     mt6140c_cw3_par.uc_ifpgap1 = (reg_data >> 1)  & 0x01;
  595.     mt6140c_cw3_par.uc_ifpolp  =  reg_data        & 0x01;
  596. }
  597. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  598. void  CRFMT6140CREG::Set_MT6140CCW3ToReg_Start( S_MT6140C_CW3  &mt6140c_cw3_par, unsigned int rf_id )
  599. {
  600.     rf_mt6140reg_ptr = this;
  601.     g_bIsRunning = true;
  602.     m_bIsMT6140All = false;
  603.     m_sMT6140CCW3 = mt6140c_cw3_par;
  604.     m_uiFinalRfid = rf_id;
  605.     ActiveMan->SetActiveFunction( ::Set_MT6140CCW3ToReg );
  606. }
  607. //----------------------------------------------------------------------------
  608. void  CRFMT6140CREG::Set_MT6140CCW3ToReg( void )
  609. {
  610.     if( ! g_bIsRunning )
  611.     {   Confirm( METAAPP_FAIL );  return;  }
  612.     unsigned int bsi_data;
  613.     Compose_MT6140CCW3( m_sMT6140CCW3, bsi_data, m_uiFinalRfid );
  614.     META_RESULT MetaResult = META_Rf_SetRFImmediateBSI_r(m_META_HANDLE_Obj.Get_MainHandle(), 500, bsi_data);
  615.     if(MetaResult!=META_SUCCESS)
  616.     {
  617.         if( MetaResult!=META_TIMEOUT )
  618.         {   Confirm( METAAPP_FAIL );  return;  }
  619.         else
  620.         {   Confirm( METAAPP_TIMEOUT );  return;   }
  621.     }
  622.     if( ! m_bIsMT6140All )
  623.     {
  624.         Confirm(METAAPP_SUCCESS);
  625.     }
  626.     else
  627.     {
  628.         ActiveMan->SetActiveFunction( ::Set_MT6140CCW4ToReg );
  629.     }
  630. }
  631. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  632. void  CRFMT6140CREG::Get_MT6140CCW3FromReg_Start( unsigned int rf_id )
  633. {
  634.     rf_mt6140reg_ptr = this;
  635.     g_bIsRunning = true;
  636.     m_bIsMT6140All = false;
  637.     m_uiFinalRfid = rf_id;
  638.     ActiveMan->SetActiveFunction( ::Get_MT6140CCW3FromReg );
  639. }
  640. //----------------------------------------------------------------------------
  641. void  CRFMT6140CREG::Get_MT6140CCW3FromReg( void )
  642. {
  643.     if( ! g_bIsRunning )
  644.     {   Confirm( METAAPP_FAIL );  return;  }
  645.     unsigned int reg_data;
  646.     META_RESULT MetaResult = META_Rf_GetRFImmediateBSI_r(m_META_HANDLE_Obj.Get_MainHandle(), 500, ADDR_MT6140_AUXOUT_CW3, &reg_data);
  647.     if(MetaResult!=META_SUCCESS)
  648.     {
  649.         if( MetaResult!=META_TIMEOUT )
  650.         {   Confirm( METAAPP_FAIL );  return;  }
  651.         else
  652.         {   Confirm( METAAPP_TIMEOUT );  return;   }
  653.     }
  654.     DeCompose_MT6140CCW3( reg_data, m_sMT6140CCW3, m_uiFinalRfid);
  655.     if( ! m_bIsMT6140All )
  656.     {
  657.         Confirm(METAAPP_SUCCESS);
  658.     }
  659.     else
  660.     {
  661.         ActiveMan->SetActiveFunction( ::Get_MT6140CCW4FromReg );
  662.     }
  663. }
  664. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  665. ////////////////////////////        CW4      /////////////////////////////////
  666. //----------------------------------------------------------------------------
  667. void  CRFMT6140CREG::Compose_MT6140CCW4( S_MT6140C_CW4  &mt6140c_cw4_par, unsigned int &bsi_data, unsigned int  rf_id )
  668. {
  669.     bsi_data = (mt6140c_cw4_par.uc_bgon_delay<< 21) |
  670.                (mt6140c_cw4_par.uc_sxicp_sw  << 20) |
  671.                (mt6140c_cw4_par.uc_otaen     << 19) |
  672.                (mt6140c_cw4_par.uc_fldis     << 18) |
  673.                (mt6140c_cw4_par.uc_cal_delay << 16) |
  674.                (mt6140c_cw4_par.uc_vco_vset  << 14) |
  675.                (mt6140c_cw4_par.uc_dread     << 13) |
  676.                (mt6140c_cw4_par.uc_calmode   << 11) |
  677.                (mt6140c_cw4_par.uc_lgac      << 10) |
  678.                (mt6140c_cw4_par.uc_c_fra_in  <<  9) |
  679.                (mt6140c_cw4_par.uc_sxrstdiv  <<  8) |
  680.                (mt6140c_cw4_par.uc_syntyp    <<  7) |
  681.                (mt6140c_cw4_par.uc_synpfd    <<  5) |
  682.                (mt6140c_cw4_par.uc_sca_cr_fi <<  4) |
  683.                ADDR_MT6140_CW4;
  684. }
  685. //----------------------------------------------------------------------------
  686. void  CRFMT6140CREG::DeCompose_MT6140CCW4( unsigned int reg_data, S_MT6140C_CW4  &mt6140c_cw4_par, unsigned int  rf_id )
  687. {
  688.     mt6140c_cw4_par.uc_bgon_delay= (reg_data >>18)  & 0x03;
  689.     mt6140c_cw4_par.uc_sxicp_sw  = (reg_data >>16)  & 0x03;
  690.     mt6140c_cw4_par.uc_otaen     = (reg_data >>15)  & 0x01;
  691.     mt6140c_cw4_par.uc_fldis     = (reg_data >>14)  & 0x01;
  692.     mt6140c_cw4_par.uc_cal_delay = (reg_data >>12)  & 0x03;
  693.     mt6140c_cw4_par.uc_vco_vset  = (reg_data >>10)  & 0x03;
  694.     mt6140c_cw4_par.uc_dread     = (reg_data >> 9)  & 0x01;
  695.     mt6140c_cw4_par.uc_calmode   = (reg_data >> 7)  & 0x03;
  696.     mt6140c_cw4_par.uc_lgac      = (reg_data >> 6)  & 0x01;
  697.     mt6140c_cw4_par.uc_c_fra_in  = (reg_data >> 5)  & 0x01;
  698.     mt6140c_cw4_par.uc_sxrstdiv  = (reg_data >> 4)  & 0x01;
  699.     mt6140c_cw4_par.uc_syntyp    = (reg_data >> 3)  & 0x01;
  700.     mt6140c_cw4_par.uc_synpfd    = (reg_data >> 1)  & 0x03;
  701.     mt6140c_cw4_par.uc_sca_cr_fi =  reg_data        & 0x01;
  702. }
  703. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  704. void  CRFMT6140CREG::Set_MT6140CCW4ToReg_Start( S_MT6140C_CW4  &mt6140c_cw4_par, unsigned int rf_id )
  705. {
  706.     rf_mt6140reg_ptr = this;
  707.     g_bIsRunning = true;
  708.     m_bIsMT6140All = false;
  709.     m_sMT6140CCW4 = mt6140c_cw4_par;
  710.     m_uiFinalRfid = rf_id;
  711.     ActiveMan->SetActiveFunction( ::Set_MT6140CCW4ToReg );
  712. }
  713. //----------------------------------------------------------------------------
  714. void  CRFMT6140CREG::Set_MT6140CCW4ToReg( void )
  715. {
  716.     if( ! g_bIsRunning )
  717.     {   Confirm( METAAPP_FAIL );  return;  }
  718.     unsigned int bsi_data;
  719.     Compose_MT6140CCW4( m_sMT6140CCW4, bsi_data, m_uiFinalRfid );
  720.     META_RESULT MetaResult = META_Rf_SetRFImmediateBSI_r(m_META_HANDLE_Obj.Get_MainHandle(), 500, bsi_data);
  721.     if(MetaResult!=META_SUCCESS)
  722.     {
  723.         if( MetaResult!=META_TIMEOUT )
  724.         {   Confirm( METAAPP_FAIL );  return;  }
  725.         else
  726.         {   Confirm( METAAPP_TIMEOUT );  return;   }
  727.     }
  728.     if( ! m_bIsMT6140All )
  729.     {
  730.         Confirm(METAAPP_SUCCESS);
  731.     }
  732.     else
  733.     {
  734.         ActiveMan->SetActiveFunction( ::Set_MT6140CCW5ToReg );
  735.     }
  736. }
  737. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  738. void  CRFMT6140CREG::Get_MT6140CCW4FromReg_Start( unsigned int rf_id )
  739. {
  740.     rf_mt6140reg_ptr = this;
  741.     g_bIsRunning = true;
  742.     m_bIsMT6140All = false;
  743.     m_uiFinalRfid = rf_id;
  744.     ActiveMan->SetActiveFunction( ::Get_MT6140CCW4FromReg );
  745. }
  746. //----------------------------------------------------------------------------
  747. void  CRFMT6140CREG::Get_MT6140CCW4FromReg( void )
  748. {
  749.     if( ! g_bIsRunning )
  750.     {   Confirm( METAAPP_FAIL );  return;  }
  751.     unsigned int reg_data;
  752.     META_RESULT MetaResult = META_Rf_GetRFImmediateBSI_r(m_META_HANDLE_Obj.Get_MainHandle(), 500, ADDR_MT6140_AUXOUT_CW4, &reg_data);
  753.     if(MetaResult!=META_SUCCESS)
  754.     {
  755.         if( MetaResult!=META_TIMEOUT )
  756.         {   Confirm( METAAPP_FAIL );  return;  }
  757.         else
  758.         {   Confirm( METAAPP_TIMEOUT );  return;   }
  759.     }
  760.     DeCompose_MT6140CCW4( reg_data, m_sMT6140CCW4, m_uiFinalRfid);
  761.     if( ! m_bIsMT6140All )
  762.     {
  763.         Confirm(METAAPP_SUCCESS);
  764.     }
  765.     else
  766.     {
  767.         ActiveMan->SetActiveFunction( ::Get_MT6140CCW5FromReg );
  768.     }
  769. }
  770. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  771. ////////////////////////////        CW5      /////////////////////////////////
  772. //----------------------------------------------------------------------------
  773. void  CRFMT6140CREG::Compose_MT6140CCW5( S_MT6140C_CW5  &mt6140c_cw5_par, unsigned int &bsi_data, unsigned int  rf_id )
  774. {
  775.     bsi_data = (mt6140c_cw5_par.uc_rx_ft0     << 15) |
  776.                (mt6140c_cw5_par.uc_rx_ft1     << 14) |
  777.                (mt6140c_cw5_par.uc_resb       <<  9) |
  778.                (mt6140c_cw5_par.uc_res        <<  4) |
  779.                ADDR_MT6140_CW5;
  780. }
  781. //----------------------------------------------------------------------------
  782. void  CRFMT6140CREG::DeCompose_MT6140CCW5( unsigned int reg_data, S_MT6140C_CW5  &mt6140c_cw5_par, unsigned int  rf_id )
  783. {
  784.     mt6140c_cw5_par.uc_rx_ft0     = (reg_data >> 11)  & 0x01;
  785.     mt6140c_cw5_par.uc_rx_ft1     = (reg_data >> 10)  & 0x01;
  786.     mt6140c_cw5_par.uc_resb       = (reg_data >>  5)  & 0x1F;
  787.     mt6140c_cw5_par.uc_res        =  reg_data         & 0x1F;
  788. }
  789. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  790. void  CRFMT6140CREG::Set_MT6140CCW5ToReg_Start( S_MT6140C_CW5  &mt6140c_cw5_par, unsigned int rf_id )
  791. {
  792.     rf_mt6140reg_ptr = this;
  793.     g_bIsRunning = true;
  794.     m_bIsMT6140All = false;
  795.     m_sMT6140CCW5 = mt6140c_cw5_par;
  796.     m_uiFinalRfid = rf_id;
  797.     ActiveMan->SetActiveFunction( ::Set_MT6140CCW5ToReg );
  798. }
  799. //----------------------------------------------------------------------------
  800. void  CRFMT6140CREG::Set_MT6140CCW5ToReg( void )
  801. {
  802.     if( ! g_bIsRunning )
  803.     {   Confirm( METAAPP_FAIL );  return;  }
  804.     unsigned int bsi_data;
  805.     Compose_MT6140CCW5( m_sMT6140CCW5, bsi_data, m_uiFinalRfid );
  806.     META_RESULT MetaResult = META_Rf_SetRFImmediateBSI_r(m_META_HANDLE_Obj.Get_MainHandle(), 500, bsi_data);
  807.     if(MetaResult!=META_SUCCESS)
  808.     {
  809.         if( MetaResult!=META_TIMEOUT )
  810.         {   Confirm( METAAPP_FAIL );  return;  }
  811.         else
  812.         {   Confirm( METAAPP_TIMEOUT );  return;   }
  813.     }
  814.     if( ! m_bIsMT6140All )
  815.     {
  816.         Confirm(METAAPP_SUCCESS);
  817.     }
  818.     else
  819.     {
  820.         ActiveMan->SetActiveFunction( ::Set_MT6140CW6ToReg );
  821.     }
  822. }
  823. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  824. void  CRFMT6140CREG::Get_MT6140CCW5FromReg_Start( unsigned int rf_id )
  825. {
  826.     rf_mt6140reg_ptr = this;
  827.     g_bIsRunning = true;
  828.     m_bIsMT6140All = false;
  829.     m_uiFinalRfid = rf_id;
  830.     ActiveMan->SetActiveFunction( ::Get_MT6140CCW5FromReg );
  831. }
  832. //----------------------------------------------------------------------------
  833. void  CRFMT6140CREG::Get_MT6140CCW5FromReg( void )
  834. {
  835.     if( ! g_bIsRunning )
  836.     {   Confirm( METAAPP_FAIL );  return;  }
  837.     unsigned int reg_data;
  838.     META_RESULT MetaResult = META_Rf_GetRFImmediateBSI_r(m_META_HANDLE_Obj.Get_MainHandle(), 500, ADDR_MT6140_AUXOUT_CW5, &reg_data);
  839.     if(MetaResult!=META_SUCCESS)
  840.     {
  841.         if( MetaResult!=META_TIMEOUT )
  842.         {   Confirm( METAAPP_FAIL );  return;  }
  843.         else
  844.         {   Confirm( METAAPP_TIMEOUT );  return;   }
  845.     }
  846.     DeCompose_MT6140CCW5( reg_data, m_sMT6140CCW5, m_uiFinalRfid );
  847.     if( ! m_bIsMT6140All )
  848.     {
  849.         Confirm(METAAPP_SUCCESS);
  850.     }
  851.     else
  852.     {
  853.         ActiveMan->SetActiveFunction( ::Get_MT6140CW6FromReg );
  854.     }
  855. }
  856. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  857. ////////////////////////////        CW6      /////////////////////////////////
  858. //----------------------------------------------------------------------------
  859. void  CRFMT6140CREG::Compose_MT6140CW6( S_MT6140_CW6  &mt6140_cw6_par, unsigned int &bsi_data, unsigned int  rf_id )
  860. {
  861.     bsi_data = (mt6140_cw6_par.uc_t_clk    << 16) |
  862.                (mt6140_cw6_par.uc_t_latch  << 15) |
  863.                (mt6140_cw6_par.uc_vco_bufp << 14) |
  864.                (mt6140_cw6_par.uc_monitor  << 13) |
  865.                (mt6140_cw6_par.uc_sio5     << 12) |
  866.                (mt6140_cw6_par.uc_vco_sca  <<  5) |
  867.                (mt6140_cw6_par.uc_vcoset   <<  4) |
  868.                ADDR_MT6140_CW6;
  869. }
  870. //----------------------------------------------------------------------------
  871. void  CRFMT6140CREG::DeCompose_MT6140CW6( unsigned int reg_data, S_MT6140_CW6  &mt6140_cw6_par, unsigned int  rf_id )
  872. {
  873.     mt6140_cw6_par.uc_t_clk    = (reg_data >> 12)  & 0x01;
  874.     mt6140_cw6_par.uc_t_latch  = (reg_data >> 11)  & 0x01;
  875.     mt6140_cw6_par.uc_vco_bufp = (reg_data >> 10)  & 0x01;
  876.     mt6140_cw6_par.uc_monitor  = (reg_data >>  9)  & 0x01;
  877.     mt6140_cw6_par.uc_sio5     = (reg_data >>  8)  & 0x01;
  878.     mt6140_cw6_par.uc_vco_sca  = (reg_data >>  1)  & 0x7F;
  879.     mt6140_cw6_par.uc_vcoset   =  reg_data         & 0x01;
  880. }
  881. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  882. void  CRFMT6140CREG::Set_MT6140CW6ToReg_Start( S_MT6140_CW6  &mt6140_cw6_par, unsigned int rf_id )
  883. {
  884.     rf_mt6140reg_ptr = this;
  885.     g_bIsRunning = true;
  886.     m_bIsMT6140All = false;
  887.     m_sMT6140CW6 = mt6140_cw6_par;
  888.     m_uiFinalRfid = rf_id;
  889.     ActiveMan->SetActiveFunction( ::Set_MT6140CW6ToReg );
  890. }
  891. //----------------------------------------------------------------------------
  892. void  CRFMT6140CREG::Set_MT6140CW6ToReg( void )
  893. {
  894.     if( ! g_bIsRunning )
  895.     {   Confirm( METAAPP_FAIL );  return;  }
  896.     unsigned int bsi_data;
  897.     Compose_MT6140CW6( m_sMT6140CW6, bsi_data, m_uiFinalRfid );
  898.     META_RESULT MetaResult = META_Rf_SetRFImmediateBSI_r(m_META_HANDLE_Obj.Get_MainHandle(), 500, bsi_data);
  899.     if(MetaResult!=META_SUCCESS)
  900.     {
  901.         if( MetaResult!=META_TIMEOUT )
  902.         {   Confirm( METAAPP_FAIL );  return;  }
  903.         else
  904.         {   Confirm( METAAPP_TIMEOUT );  return;   }
  905.     }
  906.     if( ! m_bIsMT6140All )
  907.     {
  908.         Confirm(METAAPP_SUCCESS);
  909.     }
  910.     else
  911.     {
  912.         ActiveMan->SetActiveFunction( ::Set_MT6140CCW7ToReg );
  913.     }
  914. }
  915. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  916. void  CRFMT6140CREG::Get_MT6140CW6FromReg_Start( unsigned int rf_id )
  917. {
  918.     rf_mt6140reg_ptr = this;
  919.     g_bIsRunning = true;
  920.     m_bIsMT6140All = false;
  921.     m_uiFinalRfid = rf_id;
  922.     ActiveMan->SetActiveFunction( ::Get_MT6140CW6FromReg );
  923. }
  924. //----------------------------------------------------------------------------
  925. void  CRFMT6140CREG::Get_MT6140CW6FromReg( void )
  926. {
  927.     if( ! g_bIsRunning )
  928.     {   Confirm( METAAPP_FAIL );  return;  }
  929.     unsigned int reg_data;
  930.     META_RESULT MetaResult = META_Rf_GetRFImmediateBSI_r(m_META_HANDLE_Obj.Get_MainHandle(), 500, ADDR_MT6140_AUXOUT_CW6, &reg_data);
  931.     if(MetaResult!=META_SUCCESS)
  932.     {
  933.         if( MetaResult!=META_TIMEOUT )
  934.         {   Confirm( METAAPP_FAIL );  return;  }
  935.         else
  936.         {   Confirm( METAAPP_TIMEOUT );  return;   }
  937.     }
  938.     DeCompose_MT6140CW6( reg_data, m_sMT6140CW6, m_uiFinalRfid );
  939.     if( ! m_bIsMT6140All )
  940.     {
  941.         Confirm(METAAPP_SUCCESS);
  942.     }
  943.     else
  944.     {
  945.         ActiveMan->SetActiveFunction( ::Get_MT6140CCW7FromReg );
  946.     }
  947. }
  948. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  949. ////////////////////////////        CW7      /////////////////////////////////
  950. //----------------------------------------------------------------------------
  951. void  CRFMT6140CREG::Compose_MT6140CCW7( S_MT6140C_CW7  &mt6140c_cw7_par, unsigned int &bsi_data, unsigned int rf_id )
  952. {
  953.     bsi_data = (mt6140c_cw7_par.uc_man_code         << 13) |
  954.                (mt6140c_cw7_par.uc_auto_gain_select << 12) |
  955.                (mt6140c_cw7_par.uc_rx_gain          <<  4) |
  956.                ADDR_MT6140_CW7;
  957. }
  958. //----------------------------------------------------------------------------
  959. void  CRFMT6140CREG::DeCompose_MT6140CCW7( unsigned int reg_data, S_MT6140C_CW7  &mt6140c_cw7_par, unsigned int rf_id )
  960. {
  961.     mt6140c_cw7_par.uc_man_code         = (reg_data>>9)  & 0x01;
  962.     mt6140c_cw7_par.uc_auto_gain_select = (reg_data>>8)  & 0x01;
  963.     mt6140c_cw7_par.uc_rx_gain          =  reg_data      & 0xFF;
  964. }
  965. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  966. void  CRFMT6140CREG::Set_MT6140CCW7ToReg_Start( S_MT6140C_CW7  &mt6140c_cw7_par, unsigned int rf_id )
  967. {
  968.     rf_mt6140reg_ptr = this;
  969.     g_bIsRunning = true;
  970.     m_bIsMT6140All = false;
  971.     m_sMT6140CCW7 = mt6140c_cw7_par;
  972.     m_uiFinalRfid = rf_id;
  973.     ActiveMan->SetActiveFunction( ::Set_MT6140CCW7ToReg );
  974. }
  975. //----------------------------------------------------------------------------
  976. void  CRFMT6140CREG::Set_MT6140CCW7ToReg( void )
  977. {
  978.     if( ! g_bIsRunning )
  979.     {   Confirm( METAAPP_FAIL );  return;  }
  980.     unsigned int bsi_data;
  981.     Compose_MT6140CCW7( m_sMT6140CCW7, bsi_data, m_uiFinalRfid );
  982.     META_RESULT MetaResult = META_Rf_SetRFImmediateBSI_r(m_META_HANDLE_Obj.Get_MainHandle(),500, bsi_data);
  983.     if(MetaResult!=META_SUCCESS)
  984.     {
  985.         if( MetaResult!=META_TIMEOUT )
  986.         {   Confirm( METAAPP_FAIL );  return;  }
  987.         else
  988.         {   Confirm( METAAPP_TIMEOUT );  return;   }
  989.     }
  990.     if( ! m_bIsMT6140All )
  991.     {
  992.         Confirm(METAAPP_SUCCESS);
  993.     }
  994.     else
  995.     {
  996.         ActiveMan->SetActiveFunction( ::Set_MT6140CW8ToReg );
  997.     }
  998. }
  999. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1000. void  CRFMT6140CREG::Get_MT6140CCW7FromReg_Start( unsigned int rf_id )
  1001. {
  1002.     rf_mt6140reg_ptr = this;
  1003.     g_bIsRunning = true;
  1004.     m_bIsMT6140All = false;
  1005.     m_uiFinalRfid = rf_id;
  1006.     ActiveMan->SetActiveFunction( ::Get_MT6140CCW7FromReg );
  1007. }
  1008. //----------------------------------------------------------------------------
  1009. void  CRFMT6140CREG::Get_MT6140CCW7FromReg( void )
  1010. {
  1011.     if( ! g_bIsRunning )
  1012.     {   Confirm( METAAPP_FAIL );  return;  }
  1013.     unsigned int reg_data;
  1014.     META_RESULT MetaResult = META_Rf_GetRFImmediateBSI_r(m_META_HANDLE_Obj.Get_MainHandle(), 500, ADDR_MT6140_AUXOUT_CW7, &reg_data);
  1015.     if(MetaResult!=META_SUCCESS)
  1016.     {
  1017.         if( MetaResult!=META_TIMEOUT )
  1018.         {   Confirm( METAAPP_FAIL );  return;  }
  1019.         else
  1020.         {   Confirm( METAAPP_TIMEOUT );  return;   }
  1021.     }
  1022.     DeCompose_MT6140CCW7( reg_data, m_sMT6140CCW7, m_uiFinalRfid );
  1023.     if( ! m_bIsMT6140All )
  1024.     {
  1025.         Confirm(METAAPP_SUCCESS);
  1026.     }
  1027.     else
  1028.     {
  1029.         ActiveMan->SetActiveFunction( ::Get_MT6140CW8FromReg );
  1030.     }
  1031. }
  1032. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1033. ////////////////////////////        CW8      /////////////////////////////////
  1034. //----------------------------------------------------------------------------
  1035. void  CRFMT6140CREG::Compose_MT6140CW8( S_MT6140_CW8  &mt6140_cw8_par, unsigned int &bsi_data, unsigned int rf_id )
  1036. {
  1037.     bsi_data = (mt6140_cw8_par.uc_rx_ctrl_sw3  << 23)  |
  1038.                (mt6140_cw8_par.uc_rx_ctrl_sw2  << 22)  |
  1039.                (mt6140_cw8_par.uc_rx_ctrl_sw1  << 21)  |
  1040.                (mt6140_cw8_par.uc_rx_ctrl_swb  << 20)  |
  1041.                (mt6140_cw8_par.uc_rx_ctrl_swa  << 19)  |
  1042.                (mt6140_cw8_par.uc_rx_ctrl_swen << 18)  |
  1043.                (mt6140_cw8_par.uc_dc_dac_bi    << 11)  |
  1044.                (mt6140_cw8_par.uc_dc_dac_ci    <<  4)  |
  1045.                ADDR_MT6140_CW8;
  1046. }
  1047. //----------------------------------------------------------------------------
  1048. void  CRFMT6140CREG::DeCompose_MT6140CW8( unsigned int reg_data, S_MT6140_CW8  &mt6140_cw8_par, unsigned int rf_id )
  1049. {
  1050.     mt6140_cw8_par.uc_rx_ctrl_sw3   = (reg_data>>19) & 0x01;
  1051.     mt6140_cw8_par.uc_rx_ctrl_sw2   = (reg_data>>18) & 0x01;
  1052.     mt6140_cw8_par.uc_rx_ctrl_sw1   = (reg_data>>17) & 0x01;
  1053.     mt6140_cw8_par.uc_rx_ctrl_swb   = (reg_data>>16) & 0x01;
  1054.     mt6140_cw8_par.uc_rx_ctrl_swa   = (reg_data>>15) & 0x01;
  1055.     mt6140_cw8_par.uc_rx_ctrl_swen  = (reg_data>>14) & 0x01;
  1056.     mt6140_cw8_par.uc_dc_dac_bi     = (reg_data>>7 ) & 0x7F;
  1057.     mt6140_cw8_par.uc_dc_dac_ci     = (reg_data    ) & 0x7F;
  1058. }
  1059. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1060. void  CRFMT6140CREG::Set_MT6140CW8ToReg_Start( S_MT6140_CW8  &mt6140_cw8_par, unsigned int rf_id )
  1061. {
  1062.     rf_mt6140reg_ptr = this;
  1063.     g_bIsRunning = true;
  1064.     m_bIsMT6140All = false;
  1065.     m_sMT6140CW8 = mt6140_cw8_par;
  1066.     m_uiFinalRfid = rf_id;
  1067.     ActiveMan->SetActiveFunction( ::Set_MT6140CW8ToReg );
  1068. }
  1069. //----------------------------------------------------------------------------
  1070. void  CRFMT6140CREG::Set_MT6140CW8ToReg( void )
  1071. {
  1072.     unsigned int bsi_data;
  1073.     Compose_MT6140CW8( m_sMT6140CW8, bsi_data, m_uiFinalRfid );
  1074.     META_RESULT MetaResult = META_Rf_SetRFImmediateBSI_r(m_META_HANDLE_Obj.Get_MainHandle(), 500, bsi_data);
  1075.     if(MetaResult!=META_SUCCESS)
  1076.     {
  1077.         if( MetaResult!=META_TIMEOUT )
  1078.         {   Confirm( METAAPP_FAIL );  return;  }
  1079.         else
  1080.         {   Confirm( METAAPP_TIMEOUT );  return;   }
  1081.     }
  1082.     if( ! m_bIsMT6140All )
  1083.     {
  1084.         Confirm(METAAPP_SUCCESS);
  1085.     }
  1086.     else
  1087.     {
  1088.         ActiveMan->SetActiveFunction( ::Set_MT6140CCW9ToReg );
  1089.     }
  1090. }
  1091. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1092. void  CRFMT6140CREG::Get_MT6140CW8FromReg_Start( unsigned int rf_id )
  1093. {
  1094.     rf_mt6140reg_ptr = this;
  1095.     g_bIsRunning = true;
  1096.     m_bIsMT6140All = false;
  1097.     m_uiFinalRfid = rf_id;
  1098.     ActiveMan->SetActiveFunction( ::Get_MT6140CW8FromReg );
  1099. }
  1100. //----------------------------------------------------------------------------
  1101. void  CRFMT6140CREG::Get_MT6140CW8FromReg( void )
  1102. {
  1103.     if( ! g_bIsRunning )
  1104.     {   Confirm( METAAPP_FAIL );  return;  }
  1105.     unsigned int reg_data;
  1106.     META_RESULT MetaResult = META_Rf_GetRFImmediateBSI_r(m_META_HANDLE_Obj.Get_MainHandle(), 500, ADDR_MT6140_AUXOUT_CW8, &reg_data);
  1107.     if(MetaResult!=META_SUCCESS)
  1108.     {
  1109.         if( MetaResult!=META_TIMEOUT )
  1110.         {   Confirm( METAAPP_FAIL );  return;  }
  1111.         else
  1112.         {   Confirm( METAAPP_TIMEOUT );  return;   }
  1113.     }
  1114.     DeCompose_MT6140CW8( reg_data, m_sMT6140CW8, m_uiFinalRfid );
  1115.     if( ! m_bIsMT6140All )
  1116.     {
  1117.         Confirm(METAAPP_SUCCESS);
  1118.     }
  1119.     else
  1120.     {
  1121.         ActiveMan->SetActiveFunction( ::Get_MT6140CCW9FromReg );
  1122.     }
  1123. }
  1124. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1125. ////////////////////////////        CW9      /////////////////////////////////
  1126. //----------------------------------------------------------------------------
  1127. void  CRFMT6140CREG::Compose_MT6140CCW9( S_MT6140C_CW9  &mt6140c_cw9_par, unsigned int &bsi_data, unsigned int rf_id )
  1128. {
  1129.     bsi_data = (mt6140c_cw9_par.uc_enable_am << 21) |
  1130.                (mt6140c_cw9_par.uc_pwr_dac_a << 20) |
  1131.                (mt6140c_cw9_par.uc_pwr_dac_b << 19) |
  1132.                (mt6140c_cw9_par.uc_pwr_dac_c << 18) |
  1133.                (mt6140c_cw9_par.uc_dc_dac_bq << 11) |
  1134.                (mt6140c_cw9_par.uc_dc_dac_cq <<  4) |
  1135.                ADDR_MT6140_CW9;
  1136. }
  1137. //----------------------------------------------------------------------------
  1138. void  CRFMT6140CREG::DeCompose_MT6140CCW9( unsigned int reg_data, S_MT6140C_CW9  &mt6140c_cw9_par, unsigned int rf_id )
  1139. {
  1140.     mt6140c_cw9_par.uc_enable_am = (reg_data>>17) & 0x01;
  1141.     mt6140c_cw9_par.uc_pwr_dac_a = (reg_data>>16) & 0x01;
  1142.     mt6140c_cw9_par.uc_pwr_dac_b = (reg_data>>15) & 0x01;
  1143.     mt6140c_cw9_par.uc_pwr_dac_c = (reg_data>>14) & 0x01;
  1144.     mt6140c_cw9_par.uc_dc_dac_bq = (reg_data>>7 ) & 0x7F;
  1145.     mt6140c_cw9_par.uc_dc_dac_cq = (reg_data    ) & 0x7F;
  1146. }
  1147. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1148. void  CRFMT6140CREG::Set_MT6140CCW9ToReg_Start( S_MT6140C_CW9  &mt6140c_cw9_par, unsigned int rf_id )
  1149. {
  1150.     rf_mt6140reg_ptr = this;
  1151.     g_bIsRunning = true;
  1152.     m_bIsMT6140All = false;
  1153.     m_sMT6140CCW9 = mt6140c_cw9_par;
  1154.     m_uiFinalRfid = rf_id;
  1155.     ActiveMan->SetActiveFunction( ::Set_MT6140CCW9ToReg );
  1156. }
  1157. //----------------------------------------------------------------------------
  1158. void  CRFMT6140CREG::Set_MT6140CCW9ToReg( void )
  1159. {
  1160.     if( ! g_bIsRunning )
  1161.     {   Confirm( METAAPP_FAIL );  return;  }
  1162.     unsigned int bsi_data;
  1163.     Compose_MT6140CCW9( m_sMT6140CCW9, bsi_data, m_uiFinalRfid );
  1164.     META_RESULT MetaResult = META_Rf_SetRFImmediateBSI_r(m_META_HANDLE_Obj.Get_MainHandle(), 500, bsi_data);
  1165.     if(MetaResult!=META_SUCCESS)
  1166.     {
  1167.         if( MetaResult!=META_TIMEOUT )
  1168.         {   Confirm( METAAPP_FAIL );  return;  }
  1169.         else
  1170.         {   Confirm( METAAPP_TIMEOUT );  return;   }
  1171.     }
  1172.     if( ! m_bIsMT6140All )
  1173.     {
  1174.         Confirm(METAAPP_SUCCESS);
  1175.     }
  1176.     else
  1177.     {
  1178.         ActiveMan->SetActiveFunction( ::Set_MT6140CW10ToReg );
  1179.     }
  1180. }
  1181. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1182. void  CRFMT6140CREG::Get_MT6140CCW9FromReg_Start( unsigned int rf_id )
  1183. {
  1184.     rf_mt6140reg_ptr = this;
  1185.     g_bIsRunning = true;
  1186.     m_bIsMT6140All = false;
  1187.     m_uiFinalRfid = rf_id;
  1188.     ActiveMan->SetActiveFunction( ::Get_MT6140CCW9FromReg );
  1189. }
  1190. //----------------------------------------------------------------------------
  1191. void  CRFMT6140CREG::Get_MT6140CCW9FromReg( void )
  1192. {
  1193.     if( ! g_bIsRunning )
  1194.     {   Confirm( METAAPP_FAIL );  return;  }
  1195.     unsigned int reg_data;
  1196.     META_RESULT MetaResult = META_Rf_GetRFImmediateBSI_r(m_META_HANDLE_Obj.Get_MainHandle(), 500, ADDR_MT6140_AUXOUT_CW9, &reg_data);
  1197.     if(MetaResult!=META_SUCCESS)
  1198.     {
  1199.         if( MetaResult!=META_TIMEOUT )
  1200.         {   Confirm( METAAPP_FAIL );  return;  }
  1201.         else
  1202.         {   Confirm( METAAPP_TIMEOUT );  return;   }
  1203.     }
  1204.     DeCompose_MT6140CCW9( reg_data, m_sMT6140CCW9, m_uiFinalRfid );
  1205.     if( ! m_bIsMT6140All )
  1206.     {
  1207.         Confirm(METAAPP_SUCCESS);
  1208.     }
  1209.     else
  1210.     {
  1211.         ActiveMan->SetActiveFunction( ::Get_MT6140CW10FromReg );
  1212.     }
  1213. }
  1214. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1215. ////////////////////////////        CW10      ////////////////////////////////
  1216. //----------------------------------------------------------------------------
  1217. void  CRFMT6140CREG::Compose_MT6140CW10( S_MT6140_CW10  &m_sMT6140CW10_par, unsigned int &bsi_data, unsigned int rf_id )
  1218. {
  1219.     bsi_data = (m_sMT6140CW10_par.uc_am_daci << 11) |
  1220.                (m_sMT6140CW10_par.uc_am_dacq <<  4) |
  1221.                ADDR_MT6140_CW10;
  1222. }
  1223. //----------------------------------------------------------------------------
  1224. void  CRFMT6140CREG::DeCompose_MT6140CW10( unsigned int reg_data, S_MT6140_CW10  &m_sMT6140CW10_par, unsigned int rf_id )
  1225. {
  1226.     m_sMT6140CW10_par.uc_am_daci = (reg_data >> 7) & 0xFF;
  1227.     m_sMT6140CW10_par.uc_am_dacq =  reg_data       & 0xFF;
  1228. }
  1229. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1230. void  CRFMT6140CREG::Set_MT6140CW10ToReg_Start( S_MT6140_CW10  &mt6140_cw10_par, unsigned int rf_id )
  1231. {
  1232.     rf_mt6140reg_ptr = this;
  1233.     g_bIsRunning = true;
  1234.     m_bIsMT6140All = false;
  1235.     m_sMT6140CW10 = mt6140_cw10_par;
  1236.     m_uiFinalRfid = rf_id;
  1237.     ActiveMan->SetActiveFunction( ::Set_MT6140CW10ToReg );
  1238. }
  1239. //----------------------------------------------------------------------------
  1240. void  CRFMT6140CREG::Set_MT6140CW10ToReg( void )
  1241. {
  1242.     if( ! g_bIsRunning )
  1243.     {   Confirm( METAAPP_FAIL );  return;  }
  1244.     unsigned int bsi_data;
  1245.     Compose_MT6140CW10( m_sMT6140CW10, bsi_data, m_uiFinalRfid );
  1246.     META_RESULT MetaResult = META_Rf_SetRFImmediateBSI_r(m_META_HANDLE_Obj.Get_MainHandle(), 500, bsi_data);
  1247.     if(MetaResult!=META_SUCCESS)
  1248.     {
  1249.         if( MetaResult!=META_TIMEOUT )
  1250.         {   Confirm( METAAPP_FAIL );  return;  }
  1251.         else
  1252.         {   Confirm( METAAPP_TIMEOUT );  return;   }
  1253.     }
  1254.     if( ! m_bIsMT6140All )
  1255.     {
  1256.         Confirm(METAAPP_SUCCESS);
  1257.     }
  1258.     else
  1259.     {
  1260.         ActiveMan->SetActiveFunction( ::Set_MT6140CCW11ToReg );
  1261.     }
  1262. }
  1263. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1264. void  CRFMT6140CREG::Get_MT6140CW10FromReg_Start( unsigned int rf_id )
  1265. {
  1266.     rf_mt6140reg_ptr = this;
  1267.     g_bIsRunning = true;
  1268.     m_bIsMT6140All = false;
  1269.     m_uiFinalRfid = rf_id;
  1270.     ActiveMan->SetActiveFunction( ::Get_MT6140CW10FromReg );
  1271. }
  1272. //----------------------------------------------------------------------------
  1273. void  CRFMT6140CREG::Get_MT6140CW10FromReg( void )
  1274. {
  1275.     if( ! g_bIsRunning )
  1276.     {   Confirm( METAAPP_FAIL );  return;  }
  1277.     unsigned int reg_data;
  1278.     META_RESULT MetaResult = META_Rf_GetRFImmediateBSI_r(m_META_HANDLE_Obj.Get_MainHandle(), 500, ADDR_MT6140_AUXOUT_CW10, &reg_data);
  1279.     if(MetaResult!=META_SUCCESS)
  1280.     {
  1281.         if( MetaResult!=META_TIMEOUT )
  1282.         {   Confirm( METAAPP_FAIL );  return;  }
  1283.         else
  1284.         {   Confirm( METAAPP_TIMEOUT );  return;   }
  1285.     }
  1286.     DeCompose_MT6140CW10( reg_data, m_sMT6140CW10, m_uiFinalRfid );
  1287.     if( ! m_bIsMT6140All )
  1288.     {
  1289.         Confirm(METAAPP_SUCCESS);
  1290.     }
  1291.     else
  1292.     {
  1293.         ActiveMan->SetActiveFunction( ::Get_MT6140CCW11FromReg );
  1294.     }
  1295. }
  1296. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1297. ////////////////////////////        CW11      ////////////////////////////////
  1298. //----------------------------------------------------------------------------
  1299. void  CRFMT6140CREG::Compose_MT6140CCW11( S_MT6140C_CW11  &mt6140c_cw11_par, unsigned int &bsi_data, unsigned int rf_id )
  1300. {
  1301.     bsi_data = (mt6140c_cw11_par.uc_divb_sel    << 24) |
  1302.                (mt6140c_cw11_par.uc_txqos_vgaic << 21) |
  1303.                (mt6140c_cw11_par.uc_txios_tc    << 18) |
  1304.                (mt6140c_cw11_par.uc_txdiv4_il_gl<< 17) |
  1305.                (mt6140c_cw11_par.uc_hbmod_gc1   << 16) |
  1306.                (mt6140c_cw11_par.uc_hbmod_gc0   << 15) |
  1307.                (mt6140c_cw11_par.uc_lbmod_gc0   << 14) |
  1308.                (mt6140c_cw11_par.uc_apc_sel     << 13) |
  1309.                (mt6140c_cw11_par.uc_txdiv_gc1   << 12) |
  1310.                (mt6140c_cw11_par.uc_txdiv_gc0   << 11) |
  1311.                (mt6140c_cw11_par.uc_txvapc      <<  8) |
  1312.                (mt6140c_cw11_par.uc_tx_itc3     <<  7) |
  1313.                (mt6140c_cw11_par.uc_tx_itc2     <<  6) |
  1314.                (mt6140c_cw11_par.uc_tx_itc1     <<  5) |
  1315.                (mt6140c_cw11_par.uc_tx_itc0     <<  4) |
  1316.                 ADDR_MT6140_CW11;
  1317. }
  1318. //----------------------------------------------------------------------------
  1319. void  CRFMT6140CREG::DeCompose_MT6140CCW11( unsigned int reg_data, S_MT6140C_CW11  &mt6140c_cw11_par, unsigned int rf_id )
  1320. {
  1321.     mt6140c_cw11_par.uc_divb_sel     = (reg_data >> 20) & 0x03;
  1322.     mt6140c_cw11_par.uc_txqos_vgaic  = (reg_data >> 17) & 0x07;
  1323.     mt6140c_cw11_par.uc_txios_tc     = (reg_data >> 14) & 0x07;
  1324.     mt6140c_cw11_par.uc_txdiv4_il_gl = (reg_data >> 13) & 0x01;
  1325.     mt6140c_cw11_par.uc_txdiv_gc1    = (reg_data >> 15) & 0x01;
  1326.     mt6140c_cw11_par.uc_txdiv4_il_gl = (reg_data >> 13) & 0x01;
  1327.     mt6140c_cw11_par.uc_hbmod_gc1    = (reg_data >> 12) & 0x01;
  1328.     mt6140c_cw11_par.uc_hbmod_gc0    = (reg_data >> 11) & 0x01;
  1329.     mt6140c_cw11_par.uc_lbmod_gc0    = (reg_data >> 10) & 0x01;
  1330.     mt6140c_cw11_par.uc_apc_sel      = (reg_data >>  9) & 0x01;
  1331.     mt6140c_cw11_par.uc_txdiv_gc1    = (reg_data >>  8) & 0x01;
  1332.     mt6140c_cw11_par.uc_txdiv_gc0    = (reg_data >>  7) & 0x01;
  1333.     mt6140c_cw11_par.uc_txvapc       = (reg_data >>  4) & 0x07;
  1334.     mt6140c_cw11_par.uc_tx_itc3      = (reg_data >>  3) & 0x01;
  1335.     mt6140c_cw11_par.uc_tx_itc2      = (reg_data >>  2) & 0x01;
  1336.     mt6140c_cw11_par.uc_tx_itc1      = (reg_data >>  1) & 0x01;
  1337.     mt6140c_cw11_par.uc_tx_itc0      =  reg_data        & 0x01;
  1338. }
  1339. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1340. void  CRFMT6140CREG::Set_MT6140CCW11ToReg_Start( S_MT6140C_CW11  &mt6140c_cw11_par, unsigned int rf_id )
  1341. {
  1342.     rf_mt6140reg_ptr = this;
  1343.     g_bIsRunning = true;
  1344.     m_bIsMT6140All = false;
  1345.     m_sMT6140CCW11 = mt6140c_cw11_par;
  1346.     m_uiFinalRfid = rf_id;
  1347.     ActiveMan->SetActiveFunction( ::Set_MT6140CCW11ToReg );
  1348. }
  1349. //----------------------------------------------------------------------------
  1350. void  CRFMT6140CREG::Set_MT6140CCW11ToReg( void )
  1351. {
  1352.     if( ! g_bIsRunning )
  1353.     {   Confirm( METAAPP_FAIL );  return;  }
  1354.     unsigned int bsi_data;
  1355.     Compose_MT6140CCW11( m_sMT6140CCW11, bsi_data, m_uiFinalRfid );
  1356.     META_RESULT MetaResult = META_Rf_SetRFImmediateBSI_r(m_META_HANDLE_Obj.Get_MainHandle(), 500, bsi_data);
  1357.     if(MetaResult!=META_SUCCESS)
  1358.     {
  1359.         if( MetaResult!=META_TIMEOUT )
  1360.         {   Confirm( METAAPP_FAIL );  return;  }
  1361.         else
  1362.         {   Confirm( METAAPP_TIMEOUT );  return;   }
  1363.     }
  1364.     if( ! m_bIsMT6140All )
  1365.     {
  1366.         Confirm(METAAPP_SUCCESS);
  1367.     }
  1368.     else
  1369.     {
  1370.         ActiveMan->SetActiveFunction( ::Set_MT6140CCW12ToReg );
  1371.     }
  1372. }
  1373. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1374. void  CRFMT6140CREG::Get_MT6140CCW11FromReg_Start( unsigned int rf_id )
  1375. {
  1376.     rf_mt6140reg_ptr = this;
  1377.     g_bIsRunning = true;
  1378.     m_bIsMT6140All = false;
  1379.     m_uiFinalRfid = rf_id;
  1380.     ActiveMan->SetActiveFunction( ::Get_MT6140CCW11FromReg );
  1381. }
  1382. //----------------------------------------------------------------------------
  1383. void  CRFMT6140CREG::Get_MT6140CCW11FromReg( void )
  1384. {
  1385.     if( ! g_bIsRunning )
  1386.     {   Confirm( METAAPP_FAIL );  return;  }
  1387.     unsigned int reg_data;
  1388.     META_RESULT MetaResult = META_Rf_GetRFImmediateBSI_r(m_META_HANDLE_Obj.Get_MainHandle(), 500, ADDR_MT6140_AUXOUT_CW11, &reg_data);
  1389.     if(MetaResult!=META_SUCCESS)
  1390.     {
  1391.         if( MetaResult!=META_TIMEOUT )
  1392.         {   Confirm( METAAPP_FAIL );  return;  }
  1393.         else
  1394.         {   Confirm( METAAPP_TIMEOUT );  return;   }
  1395.     }
  1396.     DeCompose_MT6140CCW11( reg_data, m_sMT6140CCW11, m_uiFinalRfid );
  1397.     if( ! m_bIsMT6140All )
  1398.     {
  1399.         Confirm(METAAPP_SUCCESS);
  1400.     }
  1401.     else
  1402.     {
  1403.         ActiveMan->SetActiveFunction( ::Get_MT6140CCW12FromReg );
  1404.     }
  1405. }
  1406. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1407. ////////////////////////////        CW12      ////////////////////////////////
  1408. //----------------------------------------------------------------------------
  1409. void  CRFMT6140CREG::Compose_MT6140CCW12( S_MT6140C_CW12  &mt6140c_cw12_par, unsigned int &bsi_data, unsigned int rf_id )
  1410. {
  1411.     bsi_data = (mt6140c_cw12_par.uc_divb_sel    << 24) |
  1412.                (mt6140c_cw12_par.uc_txqos_vgaic << 21) |
  1413.                (mt6140c_cw12_par.uc_txios_tc    << 18) |
  1414.                (mt6140c_cw12_par.uc_txdiv4_il_gl<< 17) |
  1415.                (mt6140c_cw12_par.uc_hbmod_gc1   << 16) |
  1416.                (mt6140c_cw12_par.uc_hbmod_gc0   << 15) |
  1417.                (mt6140c_cw12_par.uc_lbmod_gc0   << 14) |
  1418.                (mt6140c_cw12_par.uc_apc_sel     << 13) |
  1419.                (mt6140c_cw12_par.uc_txdiv_gc1   << 12) |
  1420.                (mt6140c_cw12_par.uc_txdiv_gc0   << 11) |
  1421.                (mt6140c_cw12_par.uc_txvapc      <<  8) |
  1422.                (mt6140c_cw12_par.uc_tx_itc3     <<  7) |
  1423.                (mt6140c_cw12_par.uc_tx_itc2     <<  6) |
  1424.                (mt6140c_cw12_par.uc_tx_itc1     <<  5) |
  1425.                (mt6140c_cw12_par.uc_tx_itc0     <<  4) |
  1426.                 ADDR_MT6140_CW12;
  1427. }
  1428. //----------------------------------------------------------------------------
  1429. void  CRFMT6140CREG::DeCompose_MT6140CCW12( unsigned int reg_data, S_MT6140C_CW12  &mt6140c_cw12_par, unsigned int rf_id )
  1430. {
  1431.     mt6140c_cw12_par.uc_divb_sel     = (reg_data >> 20) & 0x03;
  1432.     mt6140c_cw12_par.uc_txqos_vgaic  = (reg_data >> 17) & 0x07;
  1433.     mt6140c_cw12_par.uc_txios_tc     = (reg_data >> 14) & 0x07;
  1434.     mt6140c_cw12_par.uc_txdiv4_il_gl = (reg_data >> 13) & 0x01;
  1435.     mt6140c_cw12_par.uc_txdiv_gc1    = (reg_data >> 15) & 0x01;
  1436.     mt6140c_cw12_par.uc_txdiv4_il_gl = (reg_data >> 13) & 0x01;
  1437.     mt6140c_cw12_par.uc_hbmod_gc1    = (reg_data >> 12) & 0x01;
  1438.     mt6140c_cw12_par.uc_hbmod_gc0    = (reg_data >> 11) & 0x01;
  1439.     mt6140c_cw12_par.uc_lbmod_gc0    = (reg_data >> 10) & 0x01;
  1440.     mt6140c_cw12_par.uc_apc_sel      = (reg_data >>  9) & 0x01;
  1441.     mt6140c_cw12_par.uc_txdiv_gc1    = (reg_data >>  8) & 0x01;
  1442.     mt6140c_cw12_par.uc_txdiv_gc0    = (reg_data >>  7) & 0x01;
  1443.     mt6140c_cw12_par.uc_txvapc       = (reg_data >>  4) & 0x07;
  1444.     mt6140c_cw12_par.uc_tx_itc3      = (reg_data >>  3) & 0x01;
  1445.     mt6140c_cw12_par.uc_tx_itc2      = (reg_data >>  2) & 0x01;
  1446.     mt6140c_cw12_par.uc_tx_itc1      = (reg_data >>  1) & 0x01;
  1447.     mt6140c_cw12_par.uc_tx_itc0      =  reg_data        & 0x01;
  1448. }
  1449. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1450. void  CRFMT6140CREG::Set_MT6140CCW12ToReg_Start( S_MT6140C_CW12  &mt6140c_cw12_par, unsigned int rf_id )
  1451. {
  1452.     rf_mt6140reg_ptr = this;
  1453.     g_bIsRunning = true;
  1454.     m_bIsMT6140All = false;
  1455.     m_sMT6140CCW12 = mt6140c_cw12_par;
  1456.     m_uiFinalRfid = rf_id;
  1457.     ActiveMan->SetActiveFunction( ::Set_MT6140CCW12ToReg );
  1458. }
  1459. //----------------------------------------------------------------------------
  1460. void  CRFMT6140CREG::Set_MT6140CCW12ToReg( void )
  1461. {
  1462.     if( ! g_bIsRunning )
  1463.     {   Confirm( METAAPP_FAIL );  return;  }
  1464.     unsigned int bsi_data;
  1465.     Compose_MT6140CCW12( m_sMT6140CCW12, bsi_data, m_uiFinalRfid );
  1466.     META_RESULT MetaResult = META_Rf_SetRFImmediateBSI_r(m_META_HANDLE_Obj.Get_MainHandle(), 500, bsi_data);
  1467.     if(MetaResult!=META_SUCCESS)
  1468.     {
  1469.         if( MetaResult!=META_TIMEOUT )
  1470.         {   Confirm( METAAPP_FAIL );  return;  }
  1471.         else
  1472.         {   Confirm( METAAPP_TIMEOUT );  return;   }
  1473.     }
  1474.     if( ! m_bIsMT6140All )
  1475.     {
  1476.         Confirm(METAAPP_SUCCESS);
  1477.     }
  1478.     else
  1479.     {
  1480.         ActiveMan->SetActiveFunction( ::Set_MT6140CW15ToReg );
  1481.     }
  1482. }
  1483. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1484. void  CRFMT6140CREG::Get_MT6140CCW12FromReg_Start( unsigned int rf_id )
  1485. {
  1486.     rf_mt6140reg_ptr = this;
  1487.     g_bIsRunning = true;
  1488.     m_bIsMT6140All = false;
  1489.     m_uiFinalRfid = rf_id;
  1490.     ActiveMan->SetActiveFunction( ::Get_MT6140CCW12FromReg );
  1491. }
  1492. //----------------------------------------------------------------------------
  1493. void  CRFMT6140CREG::Get_MT6140CCW12FromReg( void )
  1494. {
  1495.     if( ! g_bIsRunning )
  1496.     {   Confirm( METAAPP_FAIL );  return;  }
  1497.     unsigned int reg_data;
  1498.     META_RESULT MetaResult = META_Rf_GetRFImmediateBSI_r(m_META_HANDLE_Obj.Get_MainHandle(), 500, ADDR_MT6140_AUXOUT_CW11, &reg_data);
  1499.     if(MetaResult!=META_SUCCESS)
  1500.     {
  1501.         if( MetaResult!=META_TIMEOUT )
  1502.         {   Confirm( METAAPP_FAIL );  return;  }
  1503.         else
  1504.         {   Confirm( METAAPP_TIMEOUT );  return;   }
  1505.     }
  1506.     DeCompose_MT6140CCW11( reg_data, m_sMT6140CCW11, m_uiFinalRfid );
  1507.     if( ! m_bIsMT6140All )
  1508.     {
  1509.         Confirm(METAAPP_SUCCESS);
  1510.     }
  1511.     else
  1512.     {
  1513.         ActiveMan->SetActiveFunction( ::Get_MT6140CW15FromReg );
  1514.     }
  1515. }
  1516. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1517. ////////////////////////////        CW15      ////////////////////////////////
  1518. //----------------------------------------------------------------------------
  1519. void  CRFMT6140CREG::Compose_MT6140CW15( S_MT6140_CW15  &mt6140_cw15_par, unsigned int &bsi_data, unsigned int rf_id )
  1520. {
  1521.     bsi_data = (mt6140_cw15_par.uc_auxout_selection   << 8) |
  1522.                (mt6140_cw15_par.uc_address_data_out  << 4) |
  1523.                ADDR_MT6140_CW15;
  1524. }
  1525. //----------------------------------------------------------------------------
  1526. void  CRFMT6140CREG::DeCompose_MT6140CW15( unsigned int reg_data, S_MT6140_CW15  &mt6140_cw15_par, unsigned int rf_id )
  1527. {
  1528.     mt6140_cw15_par.uc_auxout_selection = (reg_data >> 4) & 0x7F;
  1529.     mt6140_cw15_par.uc_address_data_out =  reg_data        & 0x0F;
  1530. }
  1531. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1532. void  CRFMT6140CREG::Set_MT6140CW15ToReg_Start( S_MT6140_CW15  &mt6140_cw15_par, unsigned int rf_id )
  1533. {
  1534.     rf_mt6140reg_ptr = this;
  1535.     g_bIsRunning = true;
  1536.     m_bIsMT6140All = false;
  1537.     m_sMT6140CW15 = mt6140_cw15_par;
  1538.     m_uiFinalRfid = rf_id;
  1539.     ActiveMan->SetActiveFunction( ::Set_MT6140CW15ToReg );
  1540. }
  1541. //----------------------------------------------------------------------------
  1542. void  CRFMT6140CREG::Set_MT6140CW15ToReg( void )
  1543. {
  1544.     if( ! g_bIsRunning )
  1545.     {   Confirm( METAAPP_FAIL );  return;  }
  1546.     unsigned int bsi_data;
  1547.     Compose_MT6140CW15( m_sMT6140CW15, bsi_data, m_uiFinalRfid );
  1548.     META_RESULT MetaResult = META_Rf_SetRFImmediateBSI_r(m_META_HANDLE_Obj.Get_MainHandle(), 500, bsi_data);
  1549.     if(MetaResult!=META_SUCCESS)
  1550.     {
  1551.         if( MetaResult!=META_TIMEOUT )
  1552.         {   Confirm( METAAPP_FAIL );  return;  }
  1553.         else
  1554.         {   Confirm( METAAPP_TIMEOUT );  return;   }
  1555.     }
  1556.     Confirm(METAAPP_SUCCESS);
  1557. }
  1558. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1559. void  CRFMT6140CREG::Get_MT6140CW15FromReg_Start( unsigned int rf_id )
  1560. {
  1561.     rf_mt6140reg_ptr = this;
  1562.     g_bIsRunning = true;
  1563.     m_bIsMT6140All = false;
  1564.     m_uiFinalRfid = rf_id;
  1565.     ActiveMan->SetActiveFunction( ::Get_MT6140CW15FromReg );
  1566. }
  1567. //----------------------------------------------------------------------------
  1568. void  CRFMT6140CREG::Get_MT6140CW15FromReg( void )
  1569. {
  1570.     if( ! g_bIsRunning )
  1571.     {   Confirm( METAAPP_FAIL );  return;  }
  1572.     unsigned int reg_data;
  1573.     META_RESULT MetaResult = META_Rf_GetRFImmediateBSI_r(m_META_HANDLE_Obj.Get_MainHandle(), 500, ADDR_MT6140_AUXOUT_CW15, &reg_data);
  1574.     if(MetaResult!=META_SUCCESS)
  1575.     {
  1576.         if( MetaResult!=META_TIMEOUT )
  1577.         {   Confirm( METAAPP_FAIL );  return;  }
  1578.         else
  1579.         {   Confirm( METAAPP_TIMEOUT );  return;   }
  1580.     }
  1581.     DeCompose_MT6140CW15( reg_data, m_sMT6140CW15, m_uiFinalRfid );
  1582.     Confirm(METAAPP_SUCCESS);
  1583. }
  1584. //===========================================================================
  1585. ////////////////////////////   Global  information   ////////////////////////
  1586. //===========================================================================
  1587. //---------------------------------------------------------------------------
  1588. E_METAAPP_RESULT_T CRFMT6140CREG::Get_ConfirmState( void )
  1589. {
  1590.     return  m_eConfirmState;
  1591. }
  1592. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1593. S_MT6140_CW0 CRFMT6140CREG::Get_MT6140CW0( void )
  1594. {   return m_sMT6140CW0;
  1595. }
  1596. //---------------------------------------------------------------------------
  1597. void CRFMT6140CREG::Set_MT6140CW0( S_MT6140_CW0 &mt6140_cw0 )
  1598. {   m_sMT6140CW0 = mt6140_cw0;
  1599. }
  1600. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1601. S_MT6140_CW1 CRFMT6140CREG::Get_MT6140CW1( void )
  1602. {   return m_sMT6140CW1;
  1603. }
  1604. //---------------------------------------------------------------------------
  1605. void CRFMT6140CREG::Set_MT6140CW1( S_MT6140_CW1 &mt6140_cw1 )
  1606. {   m_sMT6140CW1 = mt6140_cw1;
  1607. }
  1608. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1609. S_MT6140_CW2 CRFMT6140CREG::Get_MT6140CW2( void )
  1610. {   return m_sMT6140CW2;
  1611. }
  1612. //---------------------------------------------------------------------------
  1613. void CRFMT6140CREG::Set_MT6140CW2( S_MT6140_CW2 &mt6140_cw2 )
  1614. {   m_sMT6140CW2 = mt6140_cw2;
  1615. }
  1616. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1617. S_MT6140C_CW3 CRFMT6140CREG::Get_MT6140CCW3( void )
  1618. {   return m_sMT6140CCW3;
  1619. }
  1620. //---------------------------------------------------------------------------
  1621. void CRFMT6140CREG::Set_MT6140CCW3( S_MT6140C_CW3 &mt6140_cw3 )
  1622. {   m_sMT6140CCW3 = mt6140_cw3;
  1623. }
  1624. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1625. S_MT6140C_CW4 CRFMT6140CREG::Get_MT6140CCW4( void )
  1626. {   return m_sMT6140CCW4;
  1627. }
  1628. //---------------------------------------------------------------------------
  1629. void CRFMT6140CREG::Set_MT6140CCW4( S_MT6140C_CW4 &mt6140_cw4 )
  1630. {   m_sMT6140CCW4 = mt6140_cw4;
  1631. }
  1632. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1633. S_MT6140C_CW5 CRFMT6140CREG::Get_MT6140CCW5( void )
  1634. {   return m_sMT6140CCW5;
  1635. }
  1636. //---------------------------------------------------------------------------
  1637. void CRFMT6140CREG::Set_MT6140CCW5( S_MT6140C_CW5 &mt6140c_cw5 )
  1638. {   m_sMT6140CCW5 = mt6140c_cw5;
  1639. }
  1640. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1641. S_MT6140_CW6 CRFMT6140CREG::Get_MT6140CW6( void )
  1642. {   return m_sMT6140CW6;
  1643. }
  1644. //---------------------------------------------------------------------------
  1645. void CRFMT6140CREG::Set_MT6140CW6( S_MT6140_CW6 &mt6140_cw6 )
  1646. {   m_sMT6140CW6 = mt6140_cw6;
  1647. }
  1648. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1649. S_MT6140C_CW7 CRFMT6140CREG::Get_MT6140CCW7( void )
  1650. {   return m_sMT6140CCW7;
  1651. }
  1652. //---------------------------------------------------------------------------
  1653. void CRFMT6140CREG::Set_MT6140CCW7( S_MT6140C_CW7 &mt6140c_cw7 )
  1654. {   m_sMT6140CCW7 = mt6140c_cw7;
  1655. }
  1656. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1657. S_MT6140_CW8 CRFMT6140CREG::Get_MT6140CW8( void )
  1658. {   return m_sMT6140CW8;
  1659. }
  1660. //---------------------------------------------------------------------------
  1661. void CRFMT6140CREG::Set_MT6140CW8( S_MT6140_CW8 &mt6140_cw8 )
  1662. {   m_sMT6140CW8 = mt6140_cw8;
  1663. }
  1664. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1665. S_MT6140C_CW9 CRFMT6140CREG::Get_MT6140CCW9( void )
  1666. {   return m_sMT6140CCW9;
  1667. }
  1668. //---------------------------------------------------------------------------
  1669. void CRFMT6140CREG::Set_MT6140CCW9( S_MT6140C_CW9 &mt6140c_cw9 )
  1670. {   m_sMT6140CCW9 = mt6140c_cw9;
  1671. }
  1672. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1673. S_MT6140_CW10 CRFMT6140CREG::Get_MT6140CW10( void )
  1674. {   return m_sMT6140CW10;
  1675. }
  1676. //---------------------------------------------------------------------------
  1677. void CRFMT6140CREG::Set_MT6140CW10( S_MT6140_CW10 &mt6140_cw10 )
  1678. {   m_sMT6140CW10 = mt6140_cw10;
  1679. }
  1680. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1681. S_MT6140C_CW11 CRFMT6140CREG::Get_MT6140CCW11( void )
  1682. {   return m_sMT6140CCW11;
  1683. }
  1684. //---------------------------------------------------------------------------
  1685. void CRFMT6140CREG::Set_MT6140CCW11( S_MT6140C_CW11 &mt6140c_cw11 )
  1686. {   m_sMT6140CCW11 = mt6140c_cw11;
  1687. }
  1688. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1689. S_MT6140_CW15 CRFMT6140CREG::Get_MT6140CW15( void )
  1690. {   return m_sMT6140CW15;
  1691. }
  1692. //---------------------------------------------------------------------------
  1693. void CRFMT6140CREG::Set_MT6140CW15( S_MT6140_CW15 &mt6140_cw15 )
  1694. {   m_sMT6140CW15 = mt6140_cw15;
  1695. }