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

📄 cmu200_sig.cpp

📁 MTK 手机软件开发 META 源代码,开发环境: C++ Builder
💻 CPP
📖 第 1 页 / 共 3 页
字号:
    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 + -