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

📄 rct_ctrl.cpp

📁 MTK 手机软件开发 META 源代码,开发环境: C++ Builder
💻 CPP
📖 第 1 页 / 共 4 页
字号:
//--------------------------------------------------------------------------
bool CRCTCTRL::RCT_PowTranCont(S_RCT *p_rct)
{
    if(p_rct->device_type == AGILENT_8960)
    {

    }
    else if(p_rct->device_type == CMU_200)
    {
        if( !cmu_pow_cont(true, &(p_rct->cmu)) )
        {
            return false;
        }
    }
    return true;
}

//--------------------------------------------------------------------------
bool CRCTCTRL::RCT_PowTranBurst(S_RCT *p_rct)
{
    if(p_rct->device_type == AGILENT_8960)
    {

    }
    else if(p_rct->device_type == CMU_200)
    {
        if( !cmu_pow_cont(false, &(p_rct->cmu)) )
        {
            return false;
        }
    }
    return true;
}

//-------------------------------------------------------------------------
bool CRCTCTRL::RCT_GenFreqOffset(S_RCT *p_rct, double d_kHz)
{
    if (AGILENT_8960 == p_rct->device_type)
    {
    }
    else
    {
        if (!cmu_gen_freq_offset(&(p_rct->cmu), d_kHz))
        {
            return false;
        }
    }

    return true;
}

//-------------------------------------------------------------------------
bool CRCTCTRL::RCT_GenTsc(S_RCT *p_rct, E_CMU200_GEN_TSC_TYPE_T tsc)
{
    if (AGILENT_8960 == p_rct->device_type)
    {
    }
    else
    {
        if (!cmu_gen_tsc(tsc, &(p_rct->cmu)))
        {
            return false;
        }
    }

    return true;
}

//-------------------------------------------------------------------------
bool CRCTCTRL::RCT_GenBitMod(S_RCT *p_rct, E_CMU200_GEN_BIT_MODU_T bit_mod)
{
    if (AGILENT_8960 == p_rct->device_type)
    {
    }
    else
    {
        if (!cmu_gen_bit_mod(bit_mod, &(p_rct->cmu)))
        {
            return false;
        }
    }

    return true;
}

//-------------------------------------------------------------------------
bool CRCTCTRL::RCT_InitRfg(S_RCT *p_rct)
{
    if(p_rct->device_type == AGILENT_8960)
    {
    }
    else
    {
       if( ! cmu_init_rfg( &(p_rct->cmu) ) )
       {
            return false;
       }
    }

    return true;
}

//--------------------------------------------------------------------------
bool CRCTCTRL::RCT_TCHARFCN(S_RCT *p_rct, short s_ARFCN)
{
    if(p_rct->device_type == AGILENT_8960)
    {
        if ( age1960_TCHARFCN(
                               p_rct->age.vi,
                               s_ARFCN,
                               (short) 0, // current band
                               VI_TRUE
                             )!= VI_SUCCESS)
        {
            return false;
        }
    }
    else
    {
        if (!cmu_tcharfcn(s_ARFCN, &(p_rct->cmu)))
        {
            return false;
        }
    }
    return true;
}


//--------------------------------------------------------------------------
bool CRCTCTRL::RCT_PDTCHARFCN(S_RCT *p_rct, short s_ARFCN)
{
    if(p_rct->device_type == AGILENT_8960)
    {
        if (age1968A_PDTCHARFCN(p_rct->age.vi, s_ARFCN) != VI_SUCCESS)
        {
            return false;
        }
    }
    else
    {
        if (!cmu_pdtcharfcn(s_ARFCN, &(p_rct->cmu)))
        {
            return false;
        }
    }
    return true;
}

//-------------------------------------------------------------------------
bool CRCTCTRL::RCT_TCHTimeslot(S_RCT *p_rct, int TCHTimeslot)
{
    if(p_rct->device_type == AGILENT_8960)
    {
        if( age1960_TCHTimeslot(p_rct->age.vi, TCHTimeslot, VI_TRUE) != VI_SUCCESS )
        {
            return false;
        }
    }
    else
    {
        
    }
    return true;
}

//-------------------------------------------------------------------------
bool CRCTCTRL::RCT_initMeasFcn_TXPOWER(S_RCT *p_rct)
{
    if(p_rct->device_type == AGILENT_8960)
    {
        if ( age1960_initMeasFcn(p_rct->age.vi, age1960_TXPOWER) != VI_SUCCESS )
        {
            return false;
        }
        else // CMU 200
        {

        }
    }
    return true;
}

//-------------------------------------------------------------------------
bool CRCTCTRL::RCT_initMeasFcn_EGPRS_TXPOWER(S_RCT *p_rct)
{
    if(p_rct->device_type == AGILENT_8960)
    {
        if ( age1968A_initMeasFcn_EGPRS_TXPOWER(p_rct->age.vi) != VI_SUCCESS )
        {
            return false;
        }
        else // CMU 200
        {

        }
    }
    return true;
}

//-------------------------------------------------------------------------
bool CRCTCTRL::RCT_MSTXLevel(S_RCT *p_rct, int i_pcl)
{
    if(p_rct->device_type == AGILENT_8960)
    {
        if ( age1960_MSTXLevel(
                                     p_rct->age.vi,
                                     i_pcl,
                                    (short) 0,  // current band
                                    VI_TRUE
                                   )!= VI_SUCCESS)
        {
            return false;
        }
    }
    else
    {
        if( !cmu_mxtxlevel( i_pcl, &(p_rct->cmu) ) )
        {
            return false;
        }
    }
    return true;
}

//-------------------------------------------------------------------------
bool CRCTCTRL::RCT_PDTCHMSTargetPower(S_RCT *p_rct, double dBm)
{
    if (AGILENT_8960 == p_rct->device_type)
    {
        if (age1968A_PDTCHMSTargetPower(p_rct->age.vi, dBm) != VI_SUCCESS)
        {
            return false;
        }
    }
    else
    {
    }
    return true;
}
    
//-------------------------------------------------------------------------
bool CRCTCTRL::RCT_PDTCHMSTxLevel(S_RCT *p_rct, int i_pcl)
{
    if (p_rct->device_type == AGILENT_8960)
    {
        if (age1968A_PDTCHMSTxLevel(p_rct->age.vi, i_pcl) != VI_SUCCESS)
        {
            return false;
        }
    }
    else
    {
        if( !cmu_mxtxlevel( i_pcl, &(p_rct->cmu) ) )
        {
            return false;
        }
    }
    return true;
}

//-------------------------------------------------------------------------
bool CRCTCTRL::RCT_Config_ExpectedTxPower(S_RCT *p_rct, bool b_auto_control, double d_expected_power)
{
    if (AGILENT_8960 == p_rct->device_type)
    {
        if (age1968A_Config_ExpectedTxPower(p_rct->age.vi,
                                            b_auto_control,
                                            d_expected_power) != VI_SUCCESS
           )
        {
            return false;
        }
    }

    return true;
}

//-------------------------------------------------------------------------
bool CRCTCTRL::RCT_confTXPower(S_RCT *p_rct)
{
    if(p_rct->device_type == AGILENT_8960)
    {
        if(age1960_confTXPower( p_rct->age.vi,
                                AGE1960_TX_POWER_MEASURE_COUNT,
                                age1960_TRIG_AUTO,
                                AGE1960_TX_POWER_TRIGGER_DELAY,
                                AGE1960_TX_POWER_TRIGGER_QUALIFIER_ON,
                                AGE1960_READ_TX_POWER_TIMEOUT) != VI_SUCCESS
                               )
        {
            return false;
        }
    }
    else
    {
        if( ! cmu_config_txpwr_control_mode( &(p_rct->cmu), AGE1960_TX_POWER_MEASURE_COUNT ) )
        {
            return false;
        }    
    }
    return true;
}

//-------------------------------------------------------------------------
bool CRCTCTRL::RCT_confTXPower_EPSK(S_RCT *p_rct)
{
    if(p_rct->device_type == AGILENT_8960)
    {
        if( age1968A_Config_EPSK_TxPower(p_rct->age.vi,
                                AGE1960_EPSK_TX_POWER_MEASURE_COUNT,
                                age1960_TRIG_AUTO,
                                AGE1960_TX_POWER_TRIGGER_DELAY,
                                AGE1960_TX_POWER_TRIGGER_QUALIFIER_ON,
                                AGE1960_READ_TX_POWER_TIMEOUT) != VI_SUCCESS
                               )
        {
            return false;
        }
    }
    else
    {
        if( ! cmu_config_txpwr_control_mode_epsk( &(p_rct->cmu), AGE1960_TX_POWER_MEASURE_COUNT ) )
        {
            return false;
        }    
    }
    return true;
}

//-------------------------------------------------------------------------
bool CRCTCTRL::RCT_Config_EPSK_CodingScheme(S_RCT *p_rct, int i_MCS)
{
    if( p_rct->device_type == AGILENT_8960 )
    {
       if( age1968A_Config_EPSK_CodingScheme(p_rct->age.vi, i_MCS) != VI_SUCCESS )
       {
           return false;
       }
    }

    return true;
}

//-------------------------------------------------------------------------
bool CRCTCTRL::RCT_ConfigTSC(S_RCT *p_rct, char c_TSC)
{
    if( p_rct->device_type == AGILENT_8960 )
    {
       if( age1968A_ConfigTSC(p_rct->age.vi, c_TSC) != VI_SUCCESS )
       {
           return false;
       }
   }
   else
   {
        if( !cmu_tsc( c_TSC, &(p_rct->cmu) ) )
        {
            return false;
        }
    }
    return true;
}

//-------------------------------------------------------------------------
bool CRCTCTRL::RCT_TXPowerContOn( S_RCT *p_rct )
{
    if(p_rct->device_type == AGILENT_8960)
    {
       if( age1968A_TXPowerContOn( p_rct->age.vi ) != VI_SUCCESS )
       {
           return false;
       }
    }
    else
    {
       // if( !cmu_pow_cont( true, &(p_rct->cmu) ) )
        if( ! cmu_config_txpwr_repetition_continuous( &(p_rct->cmu) )  )
        {
            return false;
        }
    }
    return true;
}

//-------------------------------------------------------------------------
bool CRCTCTRL::RCT_TXPowerContOff( S_RCT *p_rct )
{
    if( p_rct->device_type == AGILENT_8960 )
    {
        if( age1968A_TXPowerContOff( p_rct->age.vi ) != VI_SUCCESS )
        {
            return false;
        }
    }
    else
    {
       // if( !cmu_pow_cont( false, &(p_rct->cmu) ) )
        if( ! cmu_config_txpwr_repetition_single_shot( &(p_rct->cmu) )  )
        {
            return false;
        }
    }
    return true;
}

//-------------------------------------------------------------------------
bool CRCTCTRL::RCT_EPSK_TXPowerContOn( S_RCT *p_rct )
{
    if(p_rct->device_type == AGILENT_8960)
    {
      //  char chTXPowerON[100];
      //  sprintf(chTXPowerON, "%s", "SET:TXPower:CONT ON ");
      //  if ( age1960_cmd(
      //                        p_rct->age.vi,
      //                        chTXPowerON
      //                      )!= VI_SUCCESS)
      //  {
      //      return false;
      //  }
        if( age1968A_EPSK_TXPowerContOn( p_rct->age.vi ) != VI_SUCCESS )
        {
            return false;
        }
    }
    else
    {
        if( ! cmu_config_txpwr_repetition_continuous_epsk( &(p_rct->cmu) )  )
        {
            return false;
        }
    }
    return true;
}

//-------------------------------------------------------------------------
bool CRCTCTRL::RCT_EPSK_TXPowerContOff( S_RCT *p_rct )
{
    if( p_rct->device_type == AGILENT_8960 )
    {
       // char chTXPowerOFF[100];
       // sprintf(chTXPowerOFF, "%s", "SET:TXPower:CONT OFF ");
       // if ( age1960_cmd(p_rct->age.vi, chTXPowerOFF)!= VI_SUCCESS)
       // {
       //     return false;
       // }
        if( age1968A_EPSK_TXPowerContOff( p_rct->age.vi ) != VI_SUCCESS )
        {
            return false;
        }
    }
    else
    {
       // if( !cmu_pow_cont( false, &(p_rct->cmu) ) )
        if( ! cmu_config_txpwr_repetition_single_shot_epsk( &(p_rct->cmu) )  )
        {
            return false;
        }
    }
    return true;
}

//-------------------------------------------------------------------------
bool CRCTCTRL::RCT_ReadTxPower( S_RCT *p_rct, ViReal64 &virTX )
{
    ViInt32  viPowerInteg;
    if( p_rct->device_type == AGILENT_8960 )
    {
        if( p_rct->age.as_TaModel.AnsiCompareIC( "E1960A" ) == 0 )
        {
            if ( age1960_readTXPower_Q(
                                         p_rct->age.vi,
                                         VI_TRUE,
                                         &viPowerInteg,
                                         &virTX
                                      )!= VI_SUCCESS)
            {
                return false;
            }
        }
        else // GSM
        {

⌨️ 快捷键说明

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