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

MTK

开发平台:

C++ Builder

  1. /*****************************************************************************
  2. *  Copyright Statement:
  3. *  --------------------
  4. *  This software is protected by Copyright and the information contained
  5. *  herein is confidential. The software may not be copied and the information
  6. *  contained herein may not be used or disclosed except with the written
  7. *  permission of MediaTek Inc. (C) 2001
  8. *
  9. *****************************************************************************/
  10. /*****************************************************************************
  11.  *
  12.  * Filename:
  13.  * ---------
  14.  *   wifi_txcs.cpp
  15.  *
  16.  * Project:
  17.  * --------
  18.  *   Maui META APP
  19.  *
  20.  * Description:
  21.  * ------------
  22.  *   WiFi TX carrier suppression source
  23.  *
  24.  * Author:
  25.  * -------
  26.  *  Andy Ueng (mtk00490)
  27.  *
  28.  *============================================================================
  29.  *             HISTORY
  30.  * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
  31.  *------------------------------------------------------------------------------
  32.  * $Revision$
  33.  * $Modtime$
  34.  * $Log$
  35.  *
  36.  *------------------------------------------------------------------------------
  37.  * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
  38.  *============================================================================
  39.  ****************************************************************************/
  40. //===========================================================================
  41. #include <IniFiles.hpp>
  42. #pragma hdrstop
  43. #ifndef  _WIFI_TXCS_H_
  44. #include "wifi_txcs.h"
  45. #endif
  46. // man
  47. #ifndef  _MAN_ACTIVE_H_
  48. #include "man_active.h"
  49. #endif
  50. #ifndef  _MAN_FDM_H_
  51. #include "man_fdm.h"
  52. #endif
  53. static CWIFITXCS*  gs_wifi_txcs_ptr;
  54. //===========================================================================
  55. //---------------------------------------------------------------------------
  56. //------------------------------------------------------------------------------
  57. static void  REQ_TimeOut( void )
  58. {   gs_wifi_txcs_ptr->REQ_TimeOut();
  59. }
  60. //------------------------------------------------------------------------------
  61. static void  REQ_Finish( void )
  62. {   gs_wifi_txcs_ptr->REQ_Finish();
  63. }
  64. //------------------------------------------------------------------------------
  65. static void  REQ_SetRegDomain( void )
  66. {   gs_wifi_txcs_ptr->REQ_SetRegDomain();
  67. }
  68. //------------------------------------------------------------------------------
  69. //static void  REQ_SetChannel( void )
  70. //{   gs_wifi_txcs_ptr->REQ_SetChannel();
  71. //}
  72. //------------------------------------------------------------------------------
  73. static void  REQ_CarrierSuppressionMeasure( void )
  74. {   gs_wifi_txcs_ptr->REQ_CarrierSuppressionMeasure();
  75. }
  76. //===========================================================================
  77. CWIFITXCS::CWIFITXCS( void )
  78. {
  79.    m_bIsRunning = false;
  80.    ConfirmCallback = 0;
  81.   // m_pcTxPowerBuf = 0;
  82.   // m_iTxPowerBufSize = 0;
  83. }
  84. //---------------------------------------------------------------------------
  85. CWIFITXCS::~CWIFITXCS( )
  86. {
  87.    m_bIsRunning = false;
  88.    ConfirmCallback = 0;
  89.   // if( m_pcTxPowerBuf )
  90.  //  {
  91.   //     delete [] m_pcTxPowerBuf;
  92.   //     m_pcTxPowerBuf = NULL;
  93.   // }
  94. }
  95. //---------------------------------------------------------------------------
  96. void  CWIFITXCS::REQ_Finish( void )
  97. {
  98.    if( ! m_bIsRunning )  return;
  99.    Confirm( STATE_TXCS_OK );
  100.    m_bIsRunning = false;
  101. }
  102. //---------------------------------------------------------------------------
  103. void  CWIFITXCS::REQ_Stop( void )
  104. {
  105.     if( ! m_bIsRunning )  return;
  106.   // META_Cancel_r( RFID_TX );
  107.     Confirm( STATE_TXCS_STOP );
  108.     m_bIsRunning = false;
  109. }
  110. //---------------------------------------------------------------------------
  111. void  CWIFITXCS::REQ_TimeOut( void )
  112. {
  113.     if( ! m_bIsRunning )  return;
  114.     Confirm( STATE_TXCS_TIMEOUT );
  115.     m_bIsRunning = false;
  116. }
  117. //---------------------------------------------------------------------------
  118. void  CWIFITXCS::Confirm( int confirm_state )
  119. {
  120.    if( ! m_bIsRunning )  return;
  121.    if(ConfirmCallback==0)  return;
  122.    m_iConfirmState = confirm_state;
  123.    ActiveMan->SetActiveFunction( ConfirmCallback );
  124. }
  125. //===========================================================================
  126. void  CWIFITXCS::REQ_Start( S_WIFITXCS wifitxcs )
  127. {
  128.     gs_wifi_txcs_ptr  = this;
  129.     m_bIsRunning      = true;
  130.     m_sWiFiTXCS       = wifitxcs;
  131.     m_sTx.ch_freq     = wifitxcs.channel_freq;
  132.     m_sTx.tx_rate     = wifitxcs.tx_rate;
  133.     m_sTx.tx_gain_dac = wifitxcs.tx_pwr_dac;
  134.     
  135.     ActiveMan->SetActiveFunction( ::REQ_SetRegDomain );
  136. }
  137. //---------------------------------------------------------------------------
  138. void CWIFITXCS::REQ_SetRegDomain( void )
  139. {
  140.     META_RESULT MetaResult = META_WiFi_SetRegDomain_r( m_META_HANDLE_Obj.Get_MainHandle(), 500, &m_sWiFiTXCS.reg_domain);
  141.     if(MetaResult!=META_SUCCESS)
  142.     {
  143.         if( MetaResult!=META_TIMEOUT )
  144.         {   Confirm( STATE_TXCS_FAIL );  return;  }
  145.         else
  146.         {   Confirm( STATE_TXCS_TIMEOUT );  return;  }
  147.     }
  148.     ActiveMan->SetActiveFunction( ::REQ_CarrierSuppressionMeasure );
  149. }
  150. #if 0
  151. //---------------------------------------------------------------------------
  152. void CWIFITXCS::REQ_SetChannel( void )
  153. {
  154.     META_RESULT MetaResult = META_WiFi_SetChannel_r(m_META_HANDLE_Obj.Get_MainHandle(), 500, m_iChannelFreq);
  155.     if(MetaResult!=META_SUCCESS)
  156.     {
  157.         if( MetaResult!=META_TIMEOUT )
  158.         {   Confirm( STATE_TXCS_FAIL );  return;  }
  159.         else
  160.         {   Confirm( STATE_TXCS_TIMEOUT );  return;  }
  161.     }
  162.     ActiveMan->SetActiveFunction( ::REQ_SetOutputPower );
  163. }
  164. #endif
  165. //---------------------------------------------------------------------------
  166. void CWIFITXCS::REQ_CarrierSuppressionMeasure( void )
  167. {
  168.     META_RESULT MetaResult = META_WiFi_CarrierSuppressionMeasure_r( m_META_HANDLE_Obj.Get_MainHandle(), 500, &m_sTx );
  169.     if(MetaResult!=META_SUCCESS)
  170.     {
  171.         if( MetaResult!=META_TIMEOUT )
  172.         {   Confirm( STATE_TXCS_FAIL );  return;  }
  173.         else
  174.         {   Confirm( STATE_TXCS_TIMEOUT );  return;  }
  175.     }
  176.    // if( IPN2128 == m_iWiFiID )
  177.    // {
  178.    //     META_RESULT MetaResult = META_WiFi_CarrierSuppressionMeasure500_r( 500, 0 );
  179.    //     if(MetaResult!=META_SUCCESS)
  180.    //     {
  181.    //         if( MetaResult!=META_TIMEOUT )
  182.    //         {   Confirm( STATE_TXCS_FAIL );  return;  }
  183.    //         else
  184.    //         {   Confirm( STATE_TXCS_TIMEOUT );  return;  }
  185.    //     }
  186.    // }
  187.     ActiveMan->SetActiveFunction( ::REQ_Finish );
  188. }
  189. //===========================================================================
  190. ////////////////////////////          Query          ////////////////////////
  191. //===========================================================================
  192. //===========================================================================
  193. ////////////////////////////   Global  information   ////////////////////////
  194. //===========================================================================
  195. //---------------------------------------------------------------------------
  196. int   CWIFITXCS::Get_ConfirmState( void )
  197. {
  198.     return  m_iConfirmState;
  199. }