📄 cmu200_sig.cpp
字号:
char cmd[BUF], buf[BUF];
sprintf(cmd, "CONFigure:MSSignal:MS:PCL %d;*opc?", lev);
if( (cmu->s_BAND).AnsiCompareIC("GSM")==0 ) { status=viWrite(cmu->s_gsm, cmd, strlen(cmd), &num); viRead(cmu->s_gsm, buf, BUF, &num); }
else if( (cmu->s_BAND).AnsiCompareIC("DCS")==0 ) { status=viWrite(cmu->s_dcs, cmd, strlen(cmd), &num); viRead(cmu->s_dcs, buf, BUF, &num); }
else if( (cmu->s_BAND).AnsiCompareIC("PCS")==0 ) { status=viWrite(cmu->s_pcs, cmd, strlen(cmd), &num); viRead(cmu->s_pcs, buf, BUF, &num); }
else if( (cmu->s_BAND).AnsiCompareIC("GSM850")==0 ){ status=viWrite(cmu->s_gsm850, cmd, strlen(cmd), &num); viRead(cmu->s_gsm850, buf, BUF, &num); }
if( status<VI_SUCCESS ) return false;
return true;
}
//------------------------------------------------------------------------------
bool cmu_sig_tsc(CMU_VAR *cmu, int tsc)
{
#if 0
sprintf(cmd, "rfan:tseq GSM%d", tsc);
if( (cmu->s_BAND).AnsiCompareIC("GSM")==0 ) status=viWrite(cmu->s_gsm, cmd, strlen(cmd), &num);
else if( (cmu->s_BAND).AnsiCompareIC("DCS")==0 ) status=viWrite(cmu->s_dcs, cmd, strlen(cmd), &num);
else if( (cmu->s_BAND).AnsiCompareIC("PCS")==0 ) status=viWrite(cmu->s_pcs, cmd, strlen(cmd), &num);
else if( (cmu->s_BAND).AnsiCompareIC("GSM850")==0 ) status=viWrite(cmu->s_gsm850, cmd, strlen(cmd), &num);
if( status<VI_SUCCESS ) return false;
#endif
return true;
}
//=============================================================================
/////////////////////// Analyzer level //////////////////////////////////
//=============================================================================
//=============================================================================
/////////////////////// Modulation //////////////////////////////////
//=============================================================================
bool cmu_sig_mod_init( CMU_VAR *cmu )
{
int status;
unsigned long num;
char cmd[BUF], buf[BUF];
strcpy(cmd, "init:mod");
if( (cmu->s_BAND).AnsiCompareIC("GSM")==0 ) status=viWrite(cmu->s_gsm, cmd, strlen(cmd), &num);
else if( (cmu->s_BAND).AnsiCompareIC("DCS")==0 ) status=viWrite(cmu->s_dcs, cmd, strlen(cmd), &num);
else if( (cmu->s_BAND).AnsiCompareIC("PCS")==0 ) status=viWrite(cmu->s_pcs, cmd, strlen(cmd), &num);
else if( (cmu->s_BAND).AnsiCompareIC("GSM850")==0 ) status=viWrite(cmu->s_gsm850, cmd, strlen(cmd), &num);
if( status<VI_SUCCESS ) return false;
return true;
}
//-----------------------------------------------------------------------------
bool cmu_sig_mod_config_control_mode( CMU_VAR *cmu, int count )
{
int status;
unsigned long num;
char cmd[BUF], buf[BUF];
char str[256];
sprintf(str, "conf:mod:perr:cont scal,%d;*opc?", count );
strcpy(cmd, str);
if( (cmu->s_BAND).AnsiCompareIC("GSM")==0 ) { status=viWrite(cmu->s_gsm, cmd, strlen(cmd), &num); viRead(cmu->s_gsm, buf, BUF, &num); }
else if( (cmu->s_BAND).AnsiCompareIC("DCS")==0 ) { status=viWrite(cmu->s_dcs, cmd, strlen(cmd), &num); viRead(cmu->s_dcs, buf, BUF, &num); }
else if( (cmu->s_BAND).AnsiCompareIC("PCS")==0 ) { status=viWrite(cmu->s_pcs, cmd, strlen(cmd), &num); viRead(cmu->s_pcs, buf, BUF, &num); }
else if( (cmu->s_BAND).AnsiCompareIC("GSM850")==0 ) { status=viWrite(cmu->s_gsm850, cmd, strlen(cmd), &num); viRead(cmu->s_gsm850, buf, BUF, &num); }
if( status<VI_SUCCESS ) return false;
return true;
}
//-----------------------------------------------------------------------------
bool cmu_sig_mod_read(CMU_VAR *cmu, int category, double *mod)
{
int status;
unsigned long num;
char cmd[BUF], buf[BUF];
AnsiString temp,temp_total,temp_other,temp_value;
AnsiString value1,value2,value3,value4,value5,value6,value7,value9;
AnsiString value10,value11,value12,value13,value14;
AnsiString value[14];
int i=0;
int as_num;
AnsiString as;
strcpy(cmd, "read:mod?");
if( (cmu->s_BAND).AnsiCompareIC("GSM")==0 )
{
status=viWrite(cmu->s_gsm, cmd, strlen(cmd), &num); if( status<VI_SUCCESS ) return false;
status=viRead(cmu->s_gsm, buf, BUF, &num); if( status<VI_SUCCESS ) return false;
}
else if( (cmu->s_BAND).AnsiCompareIC("DCS")==0 )
{
status=viWrite(cmu->s_dcs, cmd, strlen(cmd), &num); if( status<VI_SUCCESS ) return false;
status=viRead(cmu->s_dcs, buf, BUF, &num); if( status<VI_SUCCESS ) return false;
}
else if( (cmu->s_BAND).AnsiCompareIC("PCS")==0 )
{
status=viWrite(cmu->s_pcs, cmd, strlen(cmd), &num); if( status<VI_SUCCESS ) return false;
status=viRead(cmu->s_pcs, buf, BUF, &num); if( status<VI_SUCCESS ) return false;
}
else if( (cmu->s_BAND).AnsiCompareIC("GSM850")==0 )
{
status=viWrite(cmu->s_gsm850, cmd, strlen(cmd), &num); if( status<VI_SUCCESS ) return false;
status=viRead(cmu->s_gsm850, buf, BUF, &num); if( status<VI_SUCCESS ) return false;
}
buf[num-1]=NULL;
temp=(AnsiString)buf;
if( temp.Pos("NAN") ) return false;
for(i=0;i<10;i++)
{
temp_value=temp.SubString(1, temp.Pos(",")-1);
as_num= temp.AnsiPos(",");
value[i]=temp_value;
temp_total=temp.SubString(as_num+1, temp.Length());
temp=temp_total;
}
// *mod = atof(value[7].c_str());
*mod = atof(value[category].c_str());
return true;
}
//-----------------------------------------------------------------------------
bool cmu_sig_mod_fetch(CMU_VAR *cmu, int category, double *mod)
{
int status;
unsigned long num;
char cmd[BUF], buf[BUF];
AnsiString temp,temp_total,temp_other,temp_value;
AnsiString value1,value2,value3,value4,value5,value6,value7,value9;
AnsiString value10,value11,value12,value13,value14;
AnsiString value[14];
int i=0;
int as_num;
AnsiString as;
strcpy(cmd, "fetch:mod?");
if( (cmu->s_BAND).AnsiCompareIC("GSM")==0 )
{
status=viWrite(cmu->s_gsm, cmd, strlen(cmd), &num); if( status<VI_SUCCESS ) return false;
status=viRead(cmu->s_gsm, buf, BUF, &num); if( status<VI_SUCCESS ) return false;
}
else if( (cmu->s_BAND).AnsiCompareIC("DCS")==0 )
{
status=viWrite(cmu->s_dcs, cmd, strlen(cmd), &num); if( status<VI_SUCCESS ) return false;
status=viRead(cmu->s_dcs, buf, BUF, &num); if( status<VI_SUCCESS ) return false;
}
else if( (cmu->s_BAND).AnsiCompareIC("PCS")==0 )
{
status=viWrite(cmu->s_pcs, cmd, strlen(cmd), &num); if( status<VI_SUCCESS ) return false;
status=viRead(cmu->s_pcs, buf, BUF, &num); if( status<VI_SUCCESS ) return false;
}
else if( (cmu->s_BAND).AnsiCompareIC("GSM850")==0 )
{
status=viWrite(cmu->s_gsm850, cmd, strlen(cmd), &num); if( status<VI_SUCCESS ) return false;
status=viRead(cmu->s_gsm850, buf, BUF, &num); if( status<VI_SUCCESS ) return false;
}
buf[num-1]=NULL;
temp=(AnsiString)buf;
if( temp.Pos("NAN") ) return false;
for(i=0;i<10;i++)
{
temp_value=temp.SubString(1, temp.Pos(",")-1);
as_num= temp.AnsiPos(",");
value[i]=temp_value;
temp_total=temp.SubString(as_num+1, temp.Length());
temp=temp_total;
}
// *mod = atof(value[7].c_str());
*mod = atof(value[category].c_str());
return true;
}
//-----------------------------------------------------------------------------
bool cmu_sig_mod_sample(CMU_VAR *cmu, int category, double *mod)
{
int status;
unsigned long num;
char cmd[BUF], buf[BUF];
AnsiString temp,temp_total,temp_other,temp_value;
AnsiString value1,value2,value3,value4,value5,value6,value7,value9;
AnsiString value10,value11,value12,value13,value14;
AnsiString value[14];
int i=0;
int as_num;
AnsiString as;
strcpy(cmd, "sample:mod?");
if( (cmu->s_BAND).AnsiCompareIC("GSM")==0 )
{
status=viWrite(cmu->s_gsm, cmd, strlen(cmd), &num); if( status<VI_SUCCESS ) return false;
status=viRead(cmu->s_gsm, buf, BUF, &num); if( status<VI_SUCCESS ) return false;
}
else if( (cmu->s_BAND).AnsiCompareIC("DCS")==0 )
{
status=viWrite(cmu->s_dcs, cmd, strlen(cmd), &num); if( status<VI_SUCCESS ) return false;
status=viRead(cmu->s_dcs, buf, BUF, &num); if( status<VI_SUCCESS ) return false;
}
else if( (cmu->s_BAND).AnsiCompareIC("PCS")==0 )
{
status=viWrite(cmu->s_pcs, cmd, strlen(cmd), &num); if( status<VI_SUCCESS ) return false;
status=viRead(cmu->s_pcs, buf, BUF, &num); if( status<VI_SUCCESS ) return false;
}
else if( (cmu->s_BAND).AnsiCompareIC("GSM850")==0 )
{
status=viWrite(cmu->s_gsm850, cmd, strlen(cmd), &num); if( status<VI_SUCCESS ) return false;
status=viRead(cmu->s_gsm850, buf, BUF, &num); if( status<VI_SUCCESS ) return false;
}
buf[num-1]=NULL;
temp=(AnsiString)buf;
if( temp.Pos("NAN") ) return false;
for(i=0;i<10;i++)
{
temp_value=temp.SubString(1, temp.Pos(",")-1);
as_num= temp.AnsiPos(",");
value[i]=temp_value;
temp_total=temp.SubString(as_num+1, temp.Length());
temp=temp_total;
}
// *mod = atof(value[7].c_str());
*mod = atof(value[category].c_str());
return true;
}
//---------------------------------------------------------------------------
bool cmu_sig_mod_abort( CMU_VAR *cmu )
{
int status;
unsigned long num;
char cmd[BUF], buf[BUF];
strcpy(cmd, "abort:mod");
if( (cmu->s_BAND).AnsiCompareIC("GSM")==0 ) status=viWrite(cmu->s_gsm, cmd, strlen(cmd), &num);
else if( (cmu->s_BAND).AnsiCompareIC("DCS")==0 ) status=viWrite(cmu->s_dcs, cmd, strlen(cmd), &num);
else if( (cmu->s_BAND).AnsiCompareIC("PCS")==0 ) status=viWrite(cmu->s_pcs, cmd, strlen(cmd), &num);
else if( (cmu->s_BAND).AnsiCompareIC("GSM850")==0 ) status=viWrite(cmu->s_gsm850, cmd, strlen(cmd), &num);
if( status<VI_SUCCESS ) return false;
return true;
}
//---------------------------------------------------------------------------
bool cmu_sig_mod_stop( CMU_VAR *cmu )
{
int status;
unsigned long num;
char cmd[BUF], buf[BUF];
strcpy(cmd, "stop:mod");
if( (cmu->s_BAND).AnsiCompareIC("GSM")==0 ) status=viWrite(cmu->s_gsm, cmd, strlen(cmd), &num);
else if( (cmu->s_BAND).AnsiCompareIC("DCS")==0 ) status=viWrite(cmu->s_dcs, cmd, strlen(cmd), &num);
else if( (cmu->s_BAND).AnsiCompareIC("PCS")==0 ) status=viWrite(cmu->s_pcs, cmd, strlen(cmd), &num);
else if( (cmu->s_BAND).AnsiCompareIC("GSM850")==0 ) status=viWrite(cmu->s_gsm850, cmd, strlen(cmd), &num);
if( status<VI_SUCCESS ) return false;
return true;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -