📄 cmu200.cpp
字号:
status = viWrite(cmu->pcs, cmd, strlen(cmd), &num);
}
else if ((cmu->BAND).AnsiCompareIC("GSM850")==0)
{
status = viWrite(cmu->gsm850, cmd, strlen(cmd), &num);
}
else
{
assert(false);
return false;
}
if (status < VI_SUCCESS)
{
return false;
}
return true;
}
//-----------------------------------------------------------------------
bool cmu_gen_tsc(E_CMU200_GEN_TSC_TYPE_T tsc, CMU_VAR *cmu)
{
switch (tsc)
{
case CMU200_GEN_TSC_ALL_ZERO:
{
strcpy(cmd, "CONF:RFG:MOD:TSEQ:SEL ALL");
}
break;
case CMU200_GEN_TSC_GSM_0:
{
strcpy(cmd, "CONF:RFG:MOD:TSEQ:SEL GSM0");
}
break;
case CMU200_GEN_TSC_GSM_1:
{
strcpy(cmd, "CONF:RFG:MOD:TSEQ:SEL GSM1");
}
break;
case CMU200_GEN_TSC_GSM_2:
{
strcpy(cmd, "CONF:RFG:MOD:TSEQ:SEL GSM2");
}
break;
case CMU200_GEN_TSC_GSM_3:
{
strcpy(cmd, "CONF:RFG:MOD:TSEQ:SEL GSM3");
}
break;
case CMU200_GEN_TSC_GSM_4:
{
strcpy(cmd, "CONF:RFG:MOD:TSEQ:SEL GSM4");
}
break;
case CMU200_GEN_TSC_GSM_5:
{
strcpy(cmd, "CONF:RFG:MOD:TSEQ:SEL GSM5");
}
break;
case CMU200_GEN_TSC_GSM_6:
{
strcpy(cmd, "CONF:RFG:MOD:TSEQ:SEL GSM6");
}
break;
case CMU200_GEN_TSC_GSM_7:
{
strcpy(cmd, "CONF:RFG:MOD:TSEQ:SEL GSM7");
}
break;
case CMU200_GEN_TSC_DUMMY:
{
strcpy(cmd, "CONF:RFG:MOD:TSEQ:SEL DUMMy");
}
break;
default:
{
}
break;
}
if( (cmu->BAND).AnsiCompareIC("GSM")==0 ) status=viWrite(cmu->gsm, cmd, strlen(cmd), &num);
else if( (cmu->BAND).AnsiCompareIC("DCS")==0 ) status=viWrite(cmu->dcs, cmd, strlen(cmd), &num);
else if( (cmu->BAND).AnsiCompareIC("PCS")==0 ) status=viWrite(cmu->pcs, cmd, strlen(cmd), &num);
else if( (cmu->BAND).AnsiCompareIC("GSM850")==0 ) status=viWrite(cmu->gsm850, cmd, strlen(cmd), &num);
else { return false; }
if( status<VI_SUCCESS ) return false;
return true;
}
//cmu analyser functions--------------------------------------------------------
bool cmu_tsc(int tsc, CMU_VAR *cmu)
{
sprintf(cmd, "rfan:tseq GSM%d", tsc);
if( (cmu->BAND).AnsiCompareIC("GSM")==0 ) status=viWrite(cmu->gsm, cmd, strlen(cmd), &num);
else if( (cmu->BAND).AnsiCompareIC("DCS")==0 ) status=viWrite(cmu->dcs, cmd, strlen(cmd), &num);
else if( (cmu->BAND).AnsiCompareIC("PCS")==0 ) status=viWrite(cmu->pcs, cmd, strlen(cmd), &num);
else if( (cmu->BAND).AnsiCompareIC("GSM850")==0 ) status=viWrite(cmu->gsm850, cmd, strlen(cmd), &num);
if( status<VI_SUCCESS ) return false;
return true;
}
//------------------------------------------------------------------------------
bool cmu_tcharfcn(short chan, CMU_VAR *cmu)
{
sprintf(cmd, "rfan:chan %dch;*opc?", chan);
if( (cmu->BAND).AnsiCompareIC("GSM") == 0 ) { status=viWrite(cmu->gsm, cmd, strlen(cmd), &num); viRead(cmu->gsm, buf, BUF, &num); }
else if( (cmu->BAND).AnsiCompareIC("DCS") == 0 ) { status=viWrite(cmu->dcs, cmd, strlen(cmd), &num); viRead(cmu->dcs, buf, BUF, &num); }
else if( (cmu->BAND).AnsiCompareIC("PCS") == 0 ) { status=viWrite(cmu->pcs, cmd, strlen(cmd), &num); viRead(cmu->pcs, buf, BUF, &num); }
else if( (cmu->BAND).AnsiCompareIC("GSM850") == 0 ) { status=viWrite(cmu->gsm850, cmd, strlen(cmd), &num); viRead(cmu->gsm850, buf, BUF, &num); }
if( status<VI_SUCCESS ) return false;
return true;
}
//------------------------------------------------------------------------------
bool cmu_pdtcharfcn(short chan, CMU_VAR *cmu)
{
sprintf(cmd, "rfan:chan %dch;*opc?", chan);
if( (cmu->BAND).AnsiCompareIC("GSM") == 0 ) { status=viWrite(cmu->gsm, cmd, strlen(cmd), &num); viRead(cmu->gsm, buf, BUF, &num); }
else if( (cmu->BAND).AnsiCompareIC("DCS") == 0 ) { status=viWrite(cmu->dcs, cmd, strlen(cmd), &num); viRead(cmu->dcs, buf, BUF, &num); }
else if( (cmu->BAND).AnsiCompareIC("PCS") == 0 ) { status=viWrite(cmu->pcs, cmd, strlen(cmd), &num); viRead(cmu->pcs, buf, BUF, &num); }
else if( (cmu->BAND).AnsiCompareIC("GSM850") == 0 ) { status=viWrite(cmu->gsm850, cmd, strlen(cmd), &num); viRead(cmu->gsm850, buf, BUF, &num); }
if( status<VI_SUCCESS ) return false;
return true;
}
//------------------------------------------------------------------------------
bool cmu_mxtxlevel(int lev, CMU_VAR *cmu)
{
sprintf(cmd, "conf:rfan:tpcl %d", lev);
if( (cmu->BAND).AnsiCompareIC("GSM")==0 ) status=viWrite(cmu->gsm, cmd, strlen(cmd), &num);
else if( (cmu->BAND).AnsiCompareIC("DCS")==0 ) status=viWrite(cmu->dcs, cmd, strlen(cmd), &num);
else if( (cmu->BAND).AnsiCompareIC("PCS")==0 ) status=viWrite(cmu->pcs, cmd, strlen(cmd), &num);
else if( (cmu->BAND).AnsiCompareIC("GSM850")==0 ) status=viWrite(cmu->gsm850, cmd, strlen(cmd), &num);
if( status<VI_SUCCESS ) return false;
return true;
}
//-----------------------------------------------------------------------------
bool cmu_config_txpwr_repetition_single_shot( CMU_VAR *cmu )
{
char str[256];
sprintf(str, "conf:pow:cont:rep sing,none,none");
strcpy(cmd, str);
if( (cmu->BAND).AnsiCompareIC("GSM")==0 ) status=viWrite(cmu->gsm, cmd, strlen(cmd), &num);
else if( (cmu->BAND).AnsiCompareIC("DCS")==0 ) status=viWrite(cmu->dcs, cmd, strlen(cmd), &num);
else if( (cmu->BAND).AnsiCompareIC("PCS")==0 ) status=viWrite(cmu->pcs, cmd, strlen(cmd), &num);
else if( (cmu->BAND).AnsiCompareIC("GSM850")==0 ) status=viWrite(cmu->gsm850, cmd, strlen(cmd), &num);
if( status<VI_SUCCESS ) return false;
return true;
}
//-----------------------------------------------------------------------------
bool cmu_config_txpwr_repetition_continuous( CMU_VAR *cmu )
{
char str[256];
sprintf(str, "conf:pow:cont:rep cont");
strcpy(cmd, str);
if( (cmu->BAND).AnsiCompareIC("GSM")==0 ) status=viWrite(cmu->gsm, cmd, strlen(cmd), &num);
else if( (cmu->BAND).AnsiCompareIC("DCS")==0 ) status=viWrite(cmu->dcs, cmd, strlen(cmd), &num);
else if( (cmu->BAND).AnsiCompareIC("PCS")==0 ) status=viWrite(cmu->pcs, cmd, strlen(cmd), &num);
else if( (cmu->BAND).AnsiCompareIC("GSM850")==0 ) status=viWrite(cmu->gsm850, cmd, strlen(cmd), &num);
if( status<VI_SUCCESS ) return false;
return true;
}
//-----------------------------------------------------------------------------
bool cmu_config_txpwr_repetition_single_shot_epsk( CMU_VAR *cmu )
{
char str[256];
sprintf(str, "conf:pow:epsk:cont:rep sing,none,none");
strcpy(cmd, str);
if( (cmu->BAND).AnsiCompareIC("GSM")==0 ) status=viWrite(cmu->gsm, cmd, strlen(cmd), &num);
else if( (cmu->BAND).AnsiCompareIC("DCS")==0 ) status=viWrite(cmu->dcs, cmd, strlen(cmd), &num);
else if( (cmu->BAND).AnsiCompareIC("PCS")==0 ) status=viWrite(cmu->pcs, cmd, strlen(cmd), &num);
else if( (cmu->BAND).AnsiCompareIC("GSM850")==0 ) status=viWrite(cmu->gsm850, cmd, strlen(cmd), &num);
if( status<VI_SUCCESS ) return false;
return true;
}
//-----------------------------------------------------------------------------
bool cmu_config_txpwr_repetition_continuous_epsk( CMU_VAR *cmu )
{
char str[256];
sprintf(str, "conf:pow:epsk:cont:rep cont");
strcpy(cmd, str);
if( (cmu->BAND).AnsiCompareIC("GSM")==0 ) status=viWrite(cmu->gsm, cmd, strlen(cmd), &num);
else if( (cmu->BAND).AnsiCompareIC("DCS")==0 ) status=viWrite(cmu->dcs, cmd, strlen(cmd), &num);
else if( (cmu->BAND).AnsiCompareIC("PCS")==0 ) status=viWrite(cmu->pcs, cmd, strlen(cmd), &num);
else if( (cmu->BAND).AnsiCompareIC("GSM850")==0 ) status=viWrite(cmu->gsm850, cmd, strlen(cmd), &num);
if( status<VI_SUCCESS ) return false;
return true;
}
//-----------------------------------------------------------------------------
bool cmu_config_txpwr_control_mode( CMU_VAR *cmu, int count )
{
char str[256];
sprintf(str, "conf:pow:cont scal,%d", count );
strcpy(cmd, str);
if( (cmu->BAND).AnsiCompareIC("GSM")==0 ) status=viWrite(cmu->gsm, cmd, strlen(cmd), &num);
else if( (cmu->BAND).AnsiCompareIC("DCS")==0 ) status=viWrite(cmu->dcs, cmd, strlen(cmd), &num);
else if( (cmu->BAND).AnsiCompareIC("PCS")==0 ) status=viWrite(cmu->pcs, cmd, strlen(cmd), &num);
else if( (cmu->BAND).AnsiCompareIC("GSM850")==0 ) status=viWrite(cmu->gsm850, cmd, strlen(cmd), &num);
if( status<VI_SUCCESS ) return false;
return true;
}
//-----------------------------------------------------------------------------
bool cmu_config_txpwr_control_mode_epsk( CMU_VAR *cmu, int count )
{
char str[256];
sprintf(str, "conf:pow:epsk:cont scal,%d", count );
//sprintf(str, "conf:pow:epsk:cont array,%d", count );
strcpy(cmd, str);
if( (cmu->BAND).AnsiCompareIC("GSM")==0 ) status=viWrite(cmu->gsm, cmd, strlen(cmd), &num);
else if( (cmu->BAND).AnsiCompareIC("DCS")==0 ) status=viWrite(cmu->dcs, cmd, strlen(cmd), &num);
else if( (cmu->BAND).AnsiCompareIC("PCS")==0 ) status=viWrite(cmu->pcs, cmd, strlen(cmd), &num);
else if( (cmu->BAND).AnsiCompareIC("GSM850")==0 ) status=viWrite(cmu->gsm850, cmd, strlen(cmd), &num);
if( status<VI_SUCCESS ) return false;
sprintf(str, "conf:pow:epsk:cont:rpm dcom" );
strcpy(cmd, str);
if( (cmu->BAND).AnsiCompareIC("GSM")==0 ) status=viWrite(cmu->gsm, cmd, strlen(cmd), &num);
else if( (cmu->BAND).AnsiCompareIC("DCS")==0 ) status=viWrite(cmu->dcs, cmd, strlen(cmd), &num);
else if( (cmu->BAND).AnsiCompareIC("PCS")==0 ) status=viWrite(cmu->pcs, cmd, strlen(cmd), &num);
else if( (cmu->BAND).AnsiCompareIC("GSM850")==0 ) status=viWrite(cmu->gsm850, cmd, strlen(cmd), &num);
if( status<VI_SUCCESS ) return false;
return true;
}
//------------------------------------------------------------------------------
bool cmu_readtxpower(double *pow, CMU_VAR *cmu)
{
AnsiString temp;
strcpy(cmd, "read:pow?");
if( (cmu->BAND).AnsiCompareIC("GSM")==0 )
{
status=viWrite(cmu->gsm, cmd, strlen(cmd), &num); if( status<VI_SUCCESS ) return false;
status=viRead(cmu->gsm, buf, BUF, &num); if( status<VI_SUCCESS ) return false;
}
else if( (cmu->BAND).AnsiCompareIC("DCS")==0 )
{
status=viWrite(cmu->dcs, cmd, strlen(cmd), &num); if( status<VI_SUCCESS ) return false;
status=viRead(cmu->dcs, buf, BUF, &num); if( status<VI_SUCCESS ) return false;
}
else if( (cmu->BAND).AnsiCompareIC("PCS")==0 )
{
status=viWrite(cmu->pcs, cmd, strlen(cmd), &num); if( status<VI_SUCCESS ) return false;
status=viRead(cmu->pcs, buf, BUF, &num); if( status<VI_SUCCESS ) return false;
}
else if( (cmu->BAND).AnsiCompareIC("GSM850")==0 )
{
status=viWrite(cmu->gsm850, cmd, strlen(cmd), &num); if( status<VI_SUCCESS ) return false;
status=viRead(cmu->gsm850, buf, BUF, &num); if( status<VI_SUCCESS ) return false;
}
buf[num-1]=NULL;
temp=(AnsiString)buf;
if( temp.Pos("NAN") ) return false;
temp=temp.SubString(1, temp.Pos(",")-1);
*pow = atof(temp.c_str());
return true;
}
//------------------------------------------------------------------------------
bool cmu_readtxpower_8psk(double *pow, CMU_VAR *cmu)
{
AnsiString temp;
strcpy(cmd, "read:pow:epsk?");
// strcpy(cmd, "READ:ARRAy:POWer:EPSK:AVERage?");
if( (cmu->BAND).AnsiCompareIC("GSM")==0 )
{
status=viWrite(cmu->gsm, cmd, strlen(cmd), &num); if( status<VI_SUCCESS ) return false;
status=viRead(cmu->gsm, buf, BUF, &num); if( status<VI_SUCCESS ) return false;
}
else if( (cmu->BAND).AnsiCompareIC("DCS")==0 )
{
status=viWrite(cmu->dcs, cmd, strlen(cmd), &num); if( status<VI_SUCCESS ) return false;
status=viRead(cmu->dcs, buf, BUF, &num); if( status<VI_SUCCESS ) return false;
}
else if( (cmu->BAND).AnsiCompareIC("PCS")==0 )
{
status=viWrite(cmu->pcs, cmd, strlen(cmd), &num); if( status<VI_SUCCESS ) return false;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -