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

📄 cmu200_sig.cpp

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