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

📄 cmu200.cpp

📁 MTK 手机软件开发 META 源代码,开发环境: C++ Builder
💻 CPP
📖 第 1 页 / 共 5 页
字号:
    {
        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;
    for(int i=0;i<18;i++)
    {
        temp_value=temp.SubString(1, temp.Pos(",")-1);
        i_num= temp.AnsiPos(",");
        value[i]=temp_value;

        temp_total=temp.SubString(i_num+1, temp.Length());
        temp=temp_total;
    }

    *mod = atof(value[category].c_str());

#if 0
    // abort
    strcpy(cmd, "ABORT:MOD:EPSK");
    if ((cmu->BAND).AnsiCompareIC("GSM")==0)
    {
        status=viWrite(cmu->gsm, cmd, strlen(cmd), &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;
    }
    else if ((cmu->BAND).AnsiCompareIC("PCS")==0)
    {
        status=viWrite(cmu->pcs, cmd, strlen(cmd), &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;
    }
#endif
    return true;

}

//-----------------------------------------------------------------------------
bool cmu_Fetch_EPSK_Average_TxIq(CMU_VAR *cmu, ViReal64 *p_virSBS, ViReal64 *p_virOOS)
{
    AnsiString temp;
    AnsiString temp_total;
    AnsiString temp_value;
    AnsiString value[EPSK_MOD_PH_ERR_END];
    int i_num;

    // init
    strcpy(cmd, "INIT:MOD:EPSK");
    if ((cmu->BAND).AnsiCompareIC("GSM") == 0)
    {
        status = viWrite(cmu->gsm, cmd, strlen(cmd), &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;
        }
    }
    else if ((cmu->BAND).AnsiCompareIC("PCS")==0)
    {
        status = viWrite(cmu->pcs, cmd, strlen(cmd), &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;
        }
    }

    // fetch
    strcpy(cmd, "FETC:MOD:EPSK?");

    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;
    }

    for (int i=0;i<EPSK_MOD_PH_ERR_END; i++)
    {
        temp_value=temp.SubString(1, temp.Pos(",")-1);
        i_num= temp.AnsiPos(",");
        value[i]=temp_value;

        temp_total=temp.SubString(i_num+1, temp.Length());
        temp=temp_total;
    }

    *p_virSBS = atof(value[EPSK_MOD_IQ_IMBALANCE_AVERAGE].c_str());
    *p_virOOS = atof(value[EPSK_MOD_ORIGINAL_OFFSET_AVERAGE].c_str());
#if 0
    // abort
    strcpy(cmd, "ABORT:MOD:EPSK");
    if ((cmu->BAND).AnsiCompareIC("GSM") == 0)
    {
        status = viWrite(cmu->gsm, cmd, strlen(cmd), &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;
        }
    }
    else if ((cmu->BAND).AnsiCompareIC("PCS") == 0)
    {
        status = viWrite(cmu->pcs, cmd, strlen(cmd), &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;
        }
    }
#endif
    return true;

}

//-----------------------------------------------------------------------------
bool cmu_mod_fetch(CMU_VAR *cmu, int category, double *mod)
{
    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->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;
    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[category].c_str());
    return true;
}

//-----------------------------------------------------------------------------
bool cmu_mod_fetch_8psk(CMU_VAR *cmu, int category, double *mod)
{
    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:epsk?");

    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;
    for (i=0; i<EPSK_MOD_PH_ERR_END; 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[category].c_str());
    return true;
}

//-----------------------------------------------------------------------------
bool cmu_mod_sample(CMU_VAR *cmu, int category, double *mod)
{
    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->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 )
    {
      

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -