📄 cmu200_sig.cpp
字号:
// {
// strcpy(cmd, "ABOR:RFG");
// viWrite(cmu->s_dcs, cmd, strlen(cmd), &num);
// }
// }
// else if (cmu->BAND.AnsiCompareIC("PCS") == 0)
// {
// if (NULL != cmu->s_pcs)
// {
// strcpy(cmd, "ABOR:RFG");
// viWrite(cmu->s_pcs, cmd, strlen(cmd), &num);
// }
// }
// else if (cmu->BAND.AnsiCompareIC("GSM850") == 0)
// {
// if (NULL != cmu->s_gsm850)
// {
// strcpy(cmd, "ABOR:RFG");
// viWrite(cmu->s_gsm850, cmd, strlen(cmd), &num);
// }
// }
if (IsCmuBandSupported(asFreqBand, CMU_GSM850_BAND))
{
if (NULL != cmu->s_gsm850)
{
status = viClose(cmu->s_gsm850);
if (status < VI_SUCCESS)
{
return false;
}
cmu->s_gsm850 = NULL;
}
}
if (IsCmuBandSupported(asFreqBand, CMU_PCS1900_BAND))
{
if (NULL != cmu->s_pcs)
{
status = viClose(cmu->s_pcs);
if (status < VI_SUCCESS)
{
return false;
}
cmu->s_pcs = NULL;
}
}
if (IsCmuBandSupported( asFreqBand, CMU_DCS1800_BAND))
{
if (NULL != cmu->s_dcs)
{
status = viClose(cmu->s_dcs);
if (status < VI_SUCCESS)
{
return false;
}
cmu->s_dcs = NULL;
}
}
if (IsCmuBandSupported(asFreqBand, CMU_PGSM_BAND) || IsCmuBandSupported(asFreqBand, CMU_EGSM_BAND))
{
if (NULL != cmu->s_gsm)
{
status = viClose(cmu->s_gsm);
if (status < VI_SUCCESS)
{
return false;
}
cmu->s_gsm = NULL;
}
}
return true;
}
//----------------------------------------------------------------------------
bool cmu_sig_onoff(CMU_VAR *cmu, bool on)
{
int status;
unsigned long num;
char cmd[BUF], buf[BUF];
if( on )
{ sprintf(cmd, "PROCedure:SIGNalling:ACTion SON");
}
else
{ sprintf(cmd, "PROCedure:SIGNalling:ACTion SOFF");
}
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_net_support( CMU_VAR *cmu, int net_support )
{
int status;
unsigned long num;
char cmd[BUF], buf[BUF];
switch( net_support )
{
case NET_SUPPORT_GSM_ONLY:
sprintf(cmd, "CONFigure:NETWork:NSUPport GSM");
break;
case NET_SUPPORT_GSM_GPRS:
sprintf(cmd, "CONFigure:NETWork:NSUPport GGPR");
break;
case NET_SUPPORT_GSM_EGPRS:
sprintf(cmd, "CONFigure:NETWork:NSUPport GEGP");
break;
}
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_cellband(CMU_VAR *cmu, int band)
{
char cmd[BUF], buf[BUF];
unsigned long num;
// abort current active RFG
if( cmu->s_BAND.AnsiCompareIC("GSM") == 0 ) { strcpy(cmd, "PROCedure:SIGNalling:ACTion SOFF"); viWrite(cmu->s_gsm, cmd, strlen(cmd), &num); }
else if( cmu->s_BAND.AnsiCompareIC("DCS") == 0 ) { strcpy(cmd, "PROCedure:SIGNalling:ACTion SOFF"); viWrite(cmu->s_dcs, cmd, strlen(cmd), &num); }
else if( cmu->s_BAND.AnsiCompareIC("PCS") == 0 ) { strcpy(cmd, "PROCedure:SIGNalling:ACTion SOFF"); viWrite(cmu->s_pcs, cmd, strlen(cmd), &num); }
else if( cmu->s_BAND.AnsiCompareIC("GSM850") == 0 ) { strcpy(cmd, "PROCedure:SIGNalling:ACTion SOFF"); viWrite(cmu->s_gsm850, cmd, strlen(cmd), &num); }
if( band==0 ) return false;
else if( band==CMU_PGSM_BAND || band==CMU_EGSM_BAND ) cmu->s_BAND="GSM";
else if( band==CMU_DCS1800_BAND ) cmu->s_BAND="DCS";
else if( band==CMU_PCS1900_BAND ) cmu->s_BAND="PCS";
else if( band==CMU_GSM850_BAND ) cmu->s_BAND="GSM850";
else
{ return false;}
if( band==CMU_PGSM_BAND || band==CMU_EGSM_BAND )
{
strcpy(cmd, "PROCedure:SIGNalling:ACTion SON;*opc?"); viWrite(cmu->s_gsm, cmd, strlen(cmd), &num);
viRead(cmu->s_gsm, buf, BUF, &num);
Sleep(500);
}
else if( band==CMU_DCS1800_BAND )
{
strcpy(cmd, "PROCedure:SIGNalling:ACTion SON;*opc?"); viWrite(cmu->s_dcs, cmd, strlen(cmd), &num);
viRead(cmu->s_dcs, buf, BUF, &num);
Sleep(500);
}
else if( band==CMU_PCS1900_BAND )
{
strcpy(cmd, "PROCedure:SIGNalling:ACTion SON;*opc?"); viWrite(cmu->s_pcs, cmd, strlen(cmd), &num);
viRead(cmu->s_pcs, buf, BUF, &num);
Sleep(500);
}
else if( band==CMU_GSM850_BAND )
{
strcpy(cmd, "PROCedure:SIGNalling:ACTion SON;*opc?"); viWrite(cmu->s_gsm850, cmd, strlen(cmd), &num);
viRead(cmu->s_gsm850, buf, BUF, &num);
Sleep(500);
}
else
{
return false;
}
// Sleep(500);
return true;
}
//---------------------------------------------------------------------------
bool cmu_sig_bcharfcn(CMU_VAR *cmu, short chan)
{
int status;
unsigned long num;
char cmd[BUF], buf[BUF];
sprintf(cmd, "CONFigure:BSSignal:CCH:CHANnel %d;*opc?", chan);
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_cellpower(CMU_VAR *cmu, double power)
{
int status;
unsigned long num;
char cmd[BUF], buf[BUF];
if( power>=0 ) power=-60;
sprintf(cmd, "CONFigure:BSSignal:CCH:LEVel:ABSolute %f;*opc?", power);
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); }
else { return false; }
Sleep(100);
if( status<VI_SUCCESS ) return false;
return true;
}
//------------------------------------------------------------------------------
bool cmu_sig_tcharfcn(CMU_VAR *cmu, short chan)
{
int status;
unsigned long num;
char cmd[BUF], buf[BUF];
sprintf(cmd, "CONFigure:BSSignal:CHANnel %d;*opc?", chan);
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_tchtimeslot(CMU_VAR *cmu, int timeslot)
{
int status;
unsigned long num;
char cmd[BUF], buf[BUF];
sprintf(cmd, "CONFigure:BSSignal:TIMeslot %d;*opc?", timeslot);
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_tchlevel(CMU_VAR *cmu, double level)
{
int status;
unsigned long num;
char cmd[BUF], buf[BUF];
sprintf(cmd, "CONFigure:BSSignal:LEVel:UTIMeslot %f;*opc?", level);
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_mstxlevel(CMU_VAR *cmu, int lev)
{
int status;
unsigned long num;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -