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

📄 cmu200.cpp

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

//=============================================================================
///////////////////////      Modulation      //////////////////////////////////
//=============================================================================
bool cmu_mod_init( CMU_VAR *cmu )
{
    strcpy(cmd, "init:mod");

    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_mod_config_control_mode( CMU_VAR *cmu, int count )
{

    char str[256];
    sprintf(str, "conf:mod:perr: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_mod_config_control_mode_8psk( CMU_VAR *cmu, int count )
{

    char str[256];
    sprintf(str, "conf:mod:perr:epsk: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_mod_overview_config_control_mode_8psk(CMU_VAR *cmu, int count)
{
    char str[256];
   // sprintf(str, "conf:mod:over:epsk:cont scal,%d", count);
    sprintf(str, "CONF:MOD:EPSK: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_mod_config_control_repetition( CMU_VAR *cmu, int count )
{
#if 0
    char str[256];

    sprintf( str, "conf:mod: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;
#endif
    return true;
}

//-----------------------------------------------------------------------------
bool cmu_mod_config_control_repetition_8psk( CMU_VAR *cmu, int count )
{
#if 0
    char str[256];

    sprintf( str, "conf:mod: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;
#endif
    return true;
}

//-----------------------------------------------------------------------------
bool cmu_mod_config_control_subarray( CMU_VAR *cmu, int sample )
{
    char str[256];

    sprintf( str, "conf:sub:mod:perr:gsmk:arit, 0, %d", sample );
    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_mod_read(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?");

    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[7].c_str());
    *mod = atof(value[category].c_str());
    return true;
}

//-----------------------------------------------------------------------------
bool cmu_mod_read_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 i_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);
        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());
    return true;
}

//-----------------------------------------------------------------------------
bool cmu_mod_overview_read_8psk(CMU_VAR *cmu, int category, double *mod)
{
    AnsiString temp;
    AnsiString temp_total;
    AnsiString temp_value;
    AnsiString value[EPSK_MOD_OVERVIEW_END];
    int i_num;
    
    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(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());
    return true;

}

//-----------------------------------------------------------------------------
bool cmu_mod_overview_fetch_8psk(CMU_VAR *cmu, int category, double *mod)
{
    AnsiString temp;
    AnsiString temp_total;
    AnsiString temp_value;
    AnsiString value[EPSK_MOD_OVERVIEW_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)

⌨️ 快捷键说明

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