⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rf_calibrate.cpp

📁 关于MTK 的MATA开发工具的RF源码
💻 CPP
字号:
#include "meta2.h"
//===========================================================================

static CRFAFC*  rf_afc_ptr;

//===========================================================================

static void  REQ_TimeOut( void )
{  rf_afc_ptr->REQ_TimeOut();
}
static void  REQ_Finish( void )
{   rf_afc_ptr->REQ_Finish();
}

//===========================================================================

CRFCALIBRATE::CRFCALIBRATE( void )
{
   IsRunning = false;
   ConfirmCallback = 0;

}
//---------------------------------------------------------------------------

CRFCALIBRATE::~CRFCALIBRATE( )
{
   IsRunning = false;
   ConfirmCallback = 0;
}
//---------------------------------------------------------------------------

bool  REQ_Read_Config_From_File( char *filename )
{
   TIniFile   *ini_file;
   AnsiString  data;
   char        ini_section[128];
   char        str[2048];
   int         idata[16];
   float       fdata[16];
   int         i, pcl, band;

   ini_file = new TIniFile( filename );

   for( band = 0; band<3; band++)
   {
      data = ini_file->ReadString( SUBBAND_NAME[band],
                                   "APC dc offset",
                                   "0");
      strcpy( str, data.c_str() );
      String_To_Array_int( str, idata, 1 );
      ApcDcOffset = idata[0];

      data = ini_file->ReadString( SUBBAND_NAME[band],
                                   "TX power level",
                                   "0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0");
      strcpy( str, data.c_str() );
      String_To_Array_int( str, idata, 16 );
      for( i=0; i<16; i++ )
    //  {  ApcProfile[band].rampData[0].power[i] = idata[i];  }
        {  ApcProfile[band].rampData.power[i] = idata[i];  }
		
      for( pcl=0; pcl<16; pcl++)
      {
         sprintf( ini_section, "profile %d ramp up", pcl );
         data = ini_file->ReadString( SUBBAND_NAME[band],
                                      ini_section,
                                      "0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0");
         strcpy( str, data.c_str() );
         String_To_Array_int( str, idata, 16 );
         for( i=0; i<16; i++ )
        // {  ApcProfile[band].rampData[0].ramp[pcl].point[0][i] = idata[i];  }
		   {  ApcProfile[band].rampData.ramp[pcl].point[0][i] = idata[i];  }

         sprintf( ini_section, "profile %d ramp down", pcl );
         data = ini_file->ReadString( SUBBAND_NAME[band],
                                      ini_section,
                                      "0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0");
         strcpy( str, data.c_str() );
         String_To_Array_int( str, idata, 16 );
         for( i=0; i<16; i++ )
       //  {  ApcProfile[band].rampData[0].ramp[pcl].point[1][i] = idata[i];  }
	       {  ApcProfile[band].rampData.ramp[pcl].point[1][i] = idata[i];  }
      }

      data = ini_file->ReadString( SUBBAND_NAME[band],
                                   "Subband max arfcn",
                                   "-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1");
      strcpy( str, data.c_str() );
      String_To_Array_int( str, idata, 11 );
      idata[11] = -1;
      for( i=0; i<12; i++ )
     // {  ApcProfile[band].rampData[0].arfcn_weight[i].max_arfcn = idata[i];  }
	    {  ApcProfile[band].rampData.arfcn_weight[i].max_arfcn = idata[i];  }

      data = ini_file->ReadString( SUBBAND_NAME[band],
                                   "Subband mid level",
                                   "0,0,0,0,0,0,0,0,0,0,0");
      strcpy( str, data.c_str() );
      String_To_Array_int( str, idata, 11 );
      idata[11] = 0;
      for( i=0; i<12; i++ )
     // {   ApcProfile[band].rampData[0].arfcn_weight[i].mid_level = idata[i];  }
	    {   ApcProfile[band].rampData.arfcn_weight[i].mid_level = idata[i];  }

      data = ini_file->ReadString( SUBBAND_NAME[band],
                                   "Subband high weight",
                                   "1,1,1,1,1,1,1,1,1,1,1");
      strcpy( str, data.c_str() );
      String_To_Array_float( str, fdata, 11 );
      fdata[11] = 0.0;
      for( i=0; i<12; i++ )
     // {   ApcProfile[band].rampData[0].arfcn_weight[i].hi_weight = (int)(fdata[i]*WEIGHT_SCALE);  }
	    {   ApcProfile[band].rampData.arfcn_weight[i].hi_weight = (int)(fdata[i]*WEIGHT_SCALE);  }

      data = ini_file->ReadString( SUBBAND_NAME[band],
                                   "Subband low weight",
                                   "1,1,1,1,1,1,1,1,1,1,1");
      strcpy( str, data.c_str() );
      String_To_Array_float( str, fdata, 11 );
      fdata[11] = 0.0;
      for( i=0; i<12; i++ )
     // {   ApcProfile[band].rampData[0].arfcn_weight[i].low_weight = (int)(fdata[i]*WEIGHT_SCALE);  }
	     {   ApcProfile[band].rampData.arfcn_weight[i].low_weight = (int)(fdata[i]*WEIGHT_SCALE);  }
   }

   delete  ini_file;

   return( true );
}
//---------------------------------------------------------------------------

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -