📄 rf_calibrate.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 + -