band_utils.cpp
上传用户:gelin96
上传日期:2017-01-08
资源大小:20993k
文件大小:12k
源码类别:

MTK

开发平台:

C++ Builder

  1. /*****************************************************************************
  2. *  Copyright Statement:
  3. *  --------------------
  4. *  This software is protected by Copyright and the information contained
  5. *  herein is confidential. The software may not be copied and the information
  6. *  contained herein may not be used or disclosed except with the written
  7. *  permission of MediaTek Inc. (C) 2005
  8. *
  9. *  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
  10. *  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
  11. *  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
  12. *  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
  13. *  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
  14. *  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
  15. *  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
  16. *  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
  17. *  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
  18. *  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
  19. *  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
  20. *  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
  21. *
  22. *  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
  23. *  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
  24. *  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
  25. *  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
  26. *  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
  27. *
  28. *  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
  29. *  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
  30. *  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
  31. *  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
  32. *  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
  33. *
  34. *****************************************************************************/
  35. /*****************************************************************************
  36.  *
  37.  * Filename:
  38.  * ---------
  39.  *  band_utils.cpp
  40.  *
  41.  * Project:
  42.  * --------
  43.  *   Maui META APP
  44.  *
  45.  * Description:
  46.  * ------------
  47.  *  Band utility source
  48.  *
  49.  * Author:
  50.  * -------
  51.  *  Andy Ueng (mtk00490)
  52.  *
  53.  *============================================================================
  54.  *             HISTORY
  55.  * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
  56.  *------------------------------------------------------------------------------
  57.  * $Revision$
  58.  * $Modtime$
  59.  * $Log$
  60.  *
  61.  *------------------------------------------------------------------------------
  62.  * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
  63.  *============================================================================
  64.  ****************************************************************************/
  65. #include "meta.h"
  66. #ifndef  _RF_COMMON_H_
  67. #include "rf_common.h"
  68. #endif
  69. #ifndef age1960_INCLUDE
  70. #include "age1960.h"
  71. #endif
  72. //---------------------------------------------------------------------------
  73. FrequencyBand BandIdx_To_FreqBand(E_BANDSEL band_idx)
  74. {
  75.     FrequencyBand freq_band;
  76.     switch(band_idx)
  77.     {
  78.      case BANDSEL_GSM900:
  79.           freq_band = FrequencyBand900;
  80.      break;
  81.      case BANDSEL_DCS1800:
  82.           freq_band = FrequencyBand1800;
  83.      break;
  84.      case BANDSEL_PCS1900:
  85.           freq_band = FrequencyBand1900;
  86.      break;
  87.      case BANDSEL_GSM850:
  88.           freq_band = FrequencyBand850;
  89.      break;
  90.      default:
  91.           freq_band = FrequencyBand900;
  92.      break;
  93.     }
  94.     return freq_band;
  95. }
  96. //---------------------------------------------------------------------------
  97. E_BANDSEL FreqBand_To_BandIdx( FrequencyBand freq_band )
  98. {
  99.     E_BANDSEL band_idx;
  100.     switch( freq_band )
  101.     {
  102.      case FrequencyBand900:
  103.           band_idx = BANDSEL_GSM900;
  104.      break;
  105.      case FrequencyBand1800:
  106.           band_idx = BANDSEL_DCS1800;
  107.      break;
  108.      case FrequencyBand1900:
  109.           band_idx = BANDSEL_PCS1900;
  110.      break;
  111.      case FrequencyBand850:
  112.           band_idx = BANDSEL_GSM850;
  113.      break;
  114.      default:
  115.           band_idx = BANDSEL_GSM900;
  116.      break;
  117.     }
  118.     return band_idx;
  119. }
  120. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  121. int FreqBand_To_AgeBand( FrequencyBand freq_band )
  122. {
  123.     int age_band;
  124.     switch( freq_band )
  125.     {
  126.      case FrequencyBand900:
  127.           age_band = age1960_EGSM_BAND;
  128.      break;
  129.      case FrequencyBand1800:
  130.           age_band = age1960_DCS1800_BAND;
  131.      break;
  132.      case FrequencyBand1900:
  133.           age_band = age1960_PCS1900_BAND;
  134.      break;
  135.      case FrequencyBand850:
  136.           age_band = age1960_GSM850_BAND;
  137.      break;
  138.      default:
  139.           age_band = age1960_EGSM_BAND;
  140.      break;
  141.     }
  142.     return age_band;
  143. }
  144. //--------------------------------------------------------------------------
  145. FrequencyBand AgeBand_To_FreqBand( int age_band )
  146. {
  147.     FrequencyBand freq_band;
  148.     switch( age_band )
  149.     {
  150.         case age1960_PGSM_BAND:
  151.         case age1960_EGSM_BAND:
  152.              freq_band = FrequencyBand900;
  153.         break;
  154.         case age1960_DCS1800_BAND:
  155.              freq_band = FrequencyBand1800;
  156.         break;
  157.         case age1960_PCS1900_BAND:
  158.              freq_band = FrequencyBand1900;
  159.         break;
  160.         case age1960_GSM850_BAND:
  161.              freq_band = FrequencyBand850;
  162.         break;
  163.         default:
  164.              freq_band = FrequencyBand900;
  165.         break;
  166.     }
  167.     return freq_band;
  168. }
  169. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  170. int Get_AgeBand( AnsiString as_band )
  171. {
  172.     if( as_band.AnsiCompareIC("GSM") == 0 )
  173.     {
  174.         return age1960_EGSM_BAND;
  175.     }
  176.     else if( as_band.AnsiCompareIC("DCS") == 0 )
  177.     {
  178.         return age1960_DCS1800_BAND;
  179.     }
  180.     else if( as_band.AnsiCompareIC("PCS") == 0 )
  181.     {
  182.         return age1960_PCS1900_BAND;
  183.     }
  184.     else if( as_band.AnsiCompareIC("GSM850") == 0 )
  185.     {
  186.         return age1960_GSM850_BAND;
  187.     }
  188.     return age1960_EGSM_BAND; // default to EGSM
  189. }
  190. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  191. int BandIdx_To_AgeBand(E_BANDSEL band_idx)
  192. {
  193.     if( band_idx == BANDSEL_GSM900 )
  194.     {
  195.         return age1960_EGSM_BAND;
  196.     }
  197.     else if( band_idx == BANDSEL_DCS1800 )
  198.     {
  199.         return age1960_DCS1800_BAND;
  200.     }
  201.     else if( band_idx == BANDSEL_PCS1900 )
  202.     {
  203.         return age1960_PCS1900_BAND;
  204.     }
  205.     else if( band_idx == BANDSEL_GSM850 )
  206.     {
  207.         return age1960_GSM850_BAND;
  208.     }
  209.     return age1960_EGSM_BAND; // default to EGSM
  210. }
  211. //-------------------------------------------------------------------------
  212. E_BANDSEL AgeBand_To_BandIdx(int age_band)
  213. {
  214.     E_BANDSEL band_idx;
  215.     switch (age_band)
  216.     {
  217.         case (int)age1960_EGSM_BAND:
  218.         case (int)age1960_PGSM_BAND:
  219.         {
  220.             band_idx = BANDSEL_GSM900;
  221.         }
  222.         break;
  223.         case (int)age1960_DCS1800_BAND:
  224.         {
  225.             band_idx = BANDSEL_DCS1800;
  226.         }
  227.         break;
  228.         case (int)age1960_PCS1900_BAND:
  229.         {
  230.             band_idx = BANDSEL_PCS1900;
  231.         }
  232.         break;
  233.         case (int)age1960_GSM850_BAND:
  234.         {
  235.             band_idx = BANDSEL_GSM850;
  236.         }
  237.         break;
  238.     }
  239.     return band_idx;
  240. }
  241. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  242. AnsiString BandIdx_To_String( E_BANDSEL band_idx )
  243. {
  244.     AnsiString as_band="";
  245.     switch( band_idx )
  246.     {
  247.         case BANDSEL_GSM850:
  248.              as_band = "GSM850";
  249.         break;
  250.         case BANDSEL_GSM900:
  251.              as_band = "GSM";
  252.         break;
  253.         case BANDSEL_DCS1800:
  254.              as_band = "DCS";
  255.         break;
  256.         case BANDSEL_PCS1900:
  257.              as_band = "PCS";
  258.         break;
  259.     }
  260.     return as_band;
  261. }
  262. //---------------------------------------------------------------------------
  263. E_BANDSEL String_To_BandIdx( AnsiString as_str )
  264. {
  265.     E_BANDSEL band_sel;
  266.     if( as_str.AnsiCompareIC("GSM850") == 0 )
  267.     {
  268.         band_sel = BANDSEL_GSM850;
  269.     }
  270.     else if( as_str.AnsiCompareIC("GSM") == 0 )
  271.     {
  272.         band_sel = BANDSEL_GSM900;
  273.     }
  274.     else if( as_str.AnsiCompareIC("DCS") == 0 )
  275.     {
  276.         band_sel = BANDSEL_DCS1800;
  277.     }
  278.     else if( as_str.AnsiCompareIC("PCS") == 0 )
  279.     {
  280.         band_sel = BANDSEL_PCS1900;
  281.     }
  282.     return band_sel;
  283. }
  284. //---------------------------------------------------------------------------
  285. AnsiString BandIdx_To_FreqBandString(int band_idx)
  286. {
  287.     AnsiString as_band = "";
  288.     switch (band_idx)
  289.     {
  290.         case BANDSEL_GSM850:
  291.         {
  292.             as_band = "0x02";
  293.         }
  294.         break;
  295.         case BANDSEL_GSM900:
  296.         {
  297.             as_band = "0x04";
  298.         }
  299.         break;
  300.         case BANDSEL_DCS1800:
  301.         {
  302.             as_band = "0x08";
  303.         }
  304.         break;
  305.         case BANDSEL_PCS1900:
  306.         {
  307.             as_band = " 0x10";
  308.         }
  309.         break;
  310.     }
  311.     return as_band;
  312. }
  313. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  314. AnsiString viBand_To_String( int vi_band )
  315. {
  316.     AnsiString as_band="";
  317.     switch( vi_band )
  318.     {
  319.         case age1960_GSM850_BAND:
  320.              as_band = "GSM850";
  321.         break;
  322.         case age1960_PGSM_BAND:
  323.         case age1960_EGSM_BAND:
  324.              as_band = "GSM";
  325.         break;
  326.         case age1960_DCS1800_BAND:
  327.              as_band = "DCS";
  328.         break;
  329.         case age1960_PCS1900_BAND:
  330.              as_band = "PCS";
  331.         break;
  332.     }
  333.     return as_band;
  334. }
  335. //--------------------------------------------------------------------------
  336. int String_To_viBand( AnsiString as_band )
  337. {
  338.     int vi_band = 0;
  339.     if( as_band.AnsiCompareIC( "GSM850" ) == 0 )
  340.     {
  341.         vi_band = age1960_GSM850_BAND;
  342.     }
  343.     else if( as_band.AnsiCompareIC( "GSM" ) == 0 )
  344.     {
  345.         vi_band = age1960_EGSM_BAND;
  346.     }
  347.     else if( as_band.AnsiCompareIC( "DCS" ) == 0 )
  348.     {
  349.         vi_band = age1960_DCS1800_BAND;
  350.     }
  351.     else if( as_band.AnsiCompareIC( "PCS" ) == 0 )
  352.     {
  353.         vi_band = age1960_PCS1900_BAND;
  354.     }
  355.     return vi_band;
  356. }
  357. //------------------------------------------------------------------------------
  358. AnsiString FreqBand_To_Str( FrequencyBand freq_band )
  359. {
  360.     AnsiString as="";
  361.     switch( freq_band )
  362.     {
  363.        case FrequencyBand850:
  364.                as="GSM850";
  365.        break;
  366.        case FrequencyBand900:
  367.                as="GSM";
  368.        break;
  369.        case FrequencyBand1800:
  370.                as="DCS";
  371.        break;
  372.        case FrequencyBand1900:
  373.                as="PCS";
  374.        break;
  375.        default:
  376.             as="GSM";
  377.        break;
  378.     }
  379.     return as;
  380.  }
  381. //------------------------------------------------------------------------------
  382. AnsiString ViBand_To_Str( int viBand)
  383. {
  384.     AnsiString as="";
  385.     switch( viBand )
  386.     {
  387.        case age1960_CURRENT_BAND:
  388.                as="Current band";
  389.        break;
  390.        case age1960_PGSM_BAND:
  391.        case age1960_EGSM_BAND:
  392.                as="EGSM";
  393.        break;
  394.        case age1960_DCS1800_BAND:
  395.                as="DCS";
  396.        break;
  397.        case age1960_PCS1900_BAND:
  398.                as="PCS";
  399.        break;
  400.        case age1960_GSM850_BAND:
  401.                as="GSM850";
  402.        break;
  403.        default:
  404.           as="GSM";
  405.        break;
  406.     }
  407.     return as;
  408. }
  409. //------------------------------------------------------------------------------
  410. FrequencyBand Get_FreqBandFromStr( AnsiString asBand )
  411. {
  412.     FrequencyBand freqband;
  413.     if( asBand.AnsiCompareIC("GSM850") == 0 )
  414.     {
  415.         freqband = FrequencyBand850;
  416.     }
  417.     else if( asBand.AnsiCompareIC("GSM") == 0 )
  418.     {
  419.         freqband = FrequencyBand900;
  420.     }
  421.     else if( asBand.AnsiCompareIC("DCS") == 0 )
  422.     {
  423.         freqband = FrequencyBand1800;
  424.     }
  425.     else if( asBand.AnsiCompareIC("PCS") == 0 )
  426.     {
  427.         freqband = FrequencyBand1900;
  428.     }
  429.     else
  430.     {
  431.         freqband = FrequencyBand900;
  432.     }
  433.     return freqband;
  434. }
  435.