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

📄 cmu200.cpp

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