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

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.  *   META_Factory_cfg_storage.cpp
  40.  *
  41.  * Project:
  42.  * --------
  43.  *   Maui META APP
  44.  *
  45.  * Description:
  46.  * ------------
  47.  *  META factory configuration storage 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 <vcl.h>
  66. #include <inifiles.hpp>
  67. #include <stdio.h>
  68. #pragma hdrstop
  69. #include "META_factory_cfg_storage.h"
  70. TMETA_factory_cfg_storage *META_factory_cfg_storage;
  71.  //----------------------------------------------------------------------------
  72.       __fastcall TMETA_factory_cfg_storage::TMETA_factory_cfg_storage()
  73.       {
  74.       }
  75.  //----------------------------------------------------------------------------
  76.   bool TMETA_factory_cfg_storage::getGPIB_Addr(AnsiString &as)
  77.   {
  78.      as = as_8960_GPIB_Addr;
  79.      return true;
  80.   }
  81.  //----------------------------------------------------------------------------
  82.   bool TMETA_factory_cfg_storage::setGPIB_Addr(AnsiString as)
  83.   {
  84.     as_8960_GPIB_Addr = as;
  85.     return true;
  86.   }
  87.  //=============================================================================
  88.       int TMETA_factory_cfg_storage::getTimeOut()
  89.       {
  90.          return i_TimeOut;
  91.       }
  92.  //-----------------------------------------------------------------------------
  93.       bool TMETA_factory_cfg_storage::setTimeOut(int i)
  94.       {
  95.         i_TimeOut = i;
  96.         return true;
  97.       }
  98.  //-----------------------------------------------------------------------------
  99.       bool TMETA_factory_cfg_storage::setTimeOut(AnsiString as)
  100.       {
  101.         i_TimeOut = as.ToInt();
  102.         return true;
  103.       }
  104.  //=============================================================================
  105.       bool TMETA_factory_cfg_storage::getFreqBank(AnsiString &as)
  106.       {
  107.          as = as_FreqBank;
  108.          return true;
  109.       }
  110.  //----------------------------------------------------------------------------
  111.       bool TMETA_factory_cfg_storage::setFreqBank(AnsiString as)
  112.       {
  113.          as_FreqBank = as;
  114.          return true;
  115.       }
  116.  //=============================================================================
  117.       short TMETA_factory_cfg_storage::getARFCN_C0_GSM850()
  118.       {
  119.          return m_sARFCN_C0_GSM850;
  120.       }
  121.  //----------------------------------------------------------------------------
  122.       bool TMETA_factory_cfg_storage::setARFCN_C0_GSM850(short s)
  123.       {
  124.          m_sARFCN_C0_GSM850 = s;
  125.          return true;
  126.       }
  127.  //----------------------------------------------------------------------------
  128.       bool TMETA_factory_cfg_storage::setARFCN_C0_GSM850(AnsiString as)
  129.       {
  130.          m_sARFCN_C0_GSM850 = as.ToInt();
  131.          return true;
  132.       }
  133.  //=============================================================================
  134.       short TMETA_factory_cfg_storage::getARFCN_C0_GSM()
  135.       {
  136.          return m_sARFCN_C0_GSM;
  137.       }
  138.  //----------------------------------------------------------------------------
  139.       bool TMETA_factory_cfg_storage::setARFCN_C0_GSM(short s)
  140.       {
  141.          m_sARFCN_C0_GSM = s;
  142.          return true;
  143.       }
  144.  //----------------------------------------------------------------------------
  145.       bool TMETA_factory_cfg_storage::setARFCN_C0_GSM(AnsiString as)
  146.       {
  147.          m_sARFCN_C0_GSM = as.ToInt();
  148.          return true;
  149.       }
  150.  //=============================================================================
  151.       short TMETA_factory_cfg_storage::getARFCN_C0_DCS()
  152.       {
  153.          return m_sARFCN_C0_DCS;
  154.       }
  155.  //----------------------------------------------------------------------------
  156.       bool TMETA_factory_cfg_storage::setARFCN_C0_DCS(short s)
  157.       {
  158.          m_sARFCN_C0_DCS = s;
  159.          return true;
  160.       }
  161.  //----------------------------------------------------------------------------
  162.       bool TMETA_factory_cfg_storage::setARFCN_C0_DCS(AnsiString as)
  163.       {
  164.          m_sARFCN_C0_DCS = as.ToInt();
  165.          return true;
  166.       }
  167.  //=============================================================================
  168.       short TMETA_factory_cfg_storage::getARFCN_C0_PCS()
  169.       {
  170.          return m_sARFCN_C0_PCS;
  171.       }
  172.  //----------------------------------------------------------------------------
  173.       bool TMETA_factory_cfg_storage::setARFCN_C0_PCS(short s)
  174.       {
  175.          m_sARFCN_C0_PCS = s;
  176.          return true;
  177.       }
  178.  //----------------------------------------------------------------------------
  179.       bool TMETA_factory_cfg_storage::setARFCN_C0_PCS(AnsiString as)
  180.       {
  181.          m_sARFCN_C0_PCS = as.ToInt();
  182.          return true;
  183.       }
  184.  //=============================================================================
  185.       int TMETA_factory_cfg_storage::getP_DL()
  186.       {
  187.          return d_P_DL;
  188.       }
  189.  //----------------------------------------------------------------------------
  190.       bool TMETA_factory_cfg_storage::setP_DL(double d)
  191.       {
  192.          d_P_DL = d;
  193.          return true;
  194.       }
  195.  //----------------------------------------------------------------------------
  196.       bool TMETA_factory_cfg_storage::setP_DL(AnsiString as)
  197.       {
  198.          d_P_DL = atof(as.c_str());
  199.          return true;
  200.       }
  201.  //=============================================================================
  202.       short TMETA_factory_cfg_storage::getN_PM()
  203.       {
  204.          return i_N_PM;
  205.       }
  206.  //----------------------------------------------------------------------------
  207.       bool TMETA_factory_cfg_storage::setN_PM(short i)
  208.       {
  209.          i_N_PM = i;
  210.          return true;
  211.       }
  212.  //----------------------------------------------------------------------------
  213.       bool TMETA_factory_cfg_storage::setN_PM(AnsiString as)
  214.       {
  215.          i_N_PM = as.ToInt();
  216.          return true;
  217.       }
  218.  //=============================================================================
  219.       char TMETA_factory_cfg_storage::getM_PM()
  220.       {
  221.          return c_M_PM;
  222.       }
  223.  //----------------------------------------------------------------------------
  224.       bool TMETA_factory_cfg_storage::setM_PM(char c)
  225.       {
  226.          c_M_PM = c;
  227.          return true;
  228.       }
  229.  //----------------------------------------------------------------------------
  230.       bool TMETA_factory_cfg_storage::setM_PM(AnsiString as)
  231.       {
  232.          c_M_PM = as.ToInt();
  233.          return true;
  234.       }
  235.  //=============================================================================
  236.       short TMETA_factory_cfg_storage::getN_AFC()
  237.       {
  238.          return m_sN_AFC;
  239.       }
  240.  //----------------------------------------------------------------------------
  241.       bool TMETA_factory_cfg_storage::setN_AFC(int i)
  242.       {
  243.          i_N_AFC = i;
  244.          return true;
  245.       }
  246.  //----------------------------------------------------------------------------
  247.       bool TMETA_factory_cfg_storage::setN_AFC(AnsiString as)
  248.       {
  249.          i_N_AFC = as.ToInt();
  250.          return true;
  251.       }
  252.  //=============================================================================
  253.       int TMETA_factory_cfg_storage::getDCA1()
  254.       {
  255.          return i_DAC1;
  256.       }
  257.  //----------------------------------------------------------------------------
  258.       bool TMETA_factory_cfg_storage::setDCA1(int i)
  259.       {
  260.          i_DAC1 = i;
  261.          return true;
  262.       }
  263.  //----------------------------------------------------------------------------
  264.       bool TMETA_factory_cfg_storage::setDCA1(AnsiString as)
  265.       {
  266.          i_DAC1 = as.ToInt();
  267.          return true;
  268.       }
  269.  //=============================================================================
  270.       int TMETA_factory_cfg_storage::getDAC2()
  271.       {
  272.          return i_DAC2;
  273.       }
  274.  //----------------------------------------------------------------------------
  275.       bool TMETA_factory_cfg_storage::setDAC2(int i)
  276.       {
  277.          i_DAC2 = i;
  278.          return true;
  279.       }
  280.  //----------------------------------------------------------------------------
  281.       bool TMETA_factory_cfg_storage::setDAC2(AnsiString as)
  282.       {
  283.          i_DAC2 = as.ToInt();
  284.          return true;
  285.          
  286.       }
  287.  // *****************************  GSM 850 *************************************
  288.  //=============================================================================
  289.       bool TMETA_factory_cfg_storage::getGSM850_CAL_PCL(AnsiString &as)
  290.       {
  291.          as = as_GSM850_CAL_PCL;
  292.          return true;
  293.       }
  294. //----------------------------------------------------------------------------
  295.       bool TMETA_factory_cfg_storage::setGSM850_CAL_PCL(AnsiString as)
  296.       {
  297.          as_GSM850_CAL_PCL = as;
  298.          return true;
  299.       }
  300.  //=============================================================================
  301.       bool TMETA_factory_cfg_storage::getGSM850_PCL(AnsiString &as)
  302.       {
  303.          as = as_GSM850_PCL;
  304.          return true;
  305.       }
  306.  //----------------------------------------------------------------------------
  307.       bool TMETA_factory_cfg_storage::setGSM850_PCL(AnsiString as)
  308.       {
  309.          as_GSM850_PCL = as;
  310.          return true;
  311.       }
  312.  //=============================================================================
  313.       bool TMETA_factory_cfg_storage::getGSM850_CHECK_PCL(AnsiString &as)
  314.       {
  315.          as = as_GSM850_CHECK_PCL;
  316.          return true;
  317.       }
  318.  //----------------------------------------------------------------------------
  319.       bool TMETA_factory_cfg_storage::setGSM850_CHECK_PCL(AnsiString as)
  320.       {
  321.          as_GSM850_CHECK_PCL = as;
  322.          return true;
  323.       }
  324.  //=============================================================================
  325.       bool TMETA_factory_cfg_storage::getGSM850_MAX_P(AnsiString &as)
  326.       {
  327.          as = as_GSM850_MAX_P;
  328.          return true;
  329.       }
  330.  //----------------------------------------------------------------------------
  331.       bool TMETA_factory_cfg_storage::setGSM850_MAX_P(AnsiString as)
  332.       {
  333.          as_GSM850_MAX_P = as;
  334.          return true;
  335.       }
  336.  //=============================================================================
  337.       bool TMETA_factory_cfg_storage::getGSM850_WANTED_P(AnsiString &as)
  338.       {
  339.          as = as_GSM850_WANTED_P;
  340.          return true;
  341.       }
  342.  //----------------------------------------------------------------------------
  343.       bool TMETA_factory_cfg_storage::setGSM850_WANTED_P(AnsiString as)
  344.       {
  345.          as_GSM850_WANTED_P = as;
  346.          return true;
  347.       }
  348.  //=============================================================================
  349.       bool TMETA_factory_cfg_storage::getGSM850_MIN_P(AnsiString &as)
  350.       {
  351.          as = as_GSM850_MIN_P;
  352.          return true;
  353.       }
  354.  //----------------------------------------------------------------------------
  355.       bool TMETA_factory_cfg_storage::setGSM850_MIN_P(AnsiString as)
  356.       {
  357.          as_GSM850_MIN_P = as;
  358.          return true;
  359.       }
  360.  //=============================================================================
  361.       bool TMETA_factory_cfg_storage::getGSM850_C(AnsiString &as)
  362.       {
  363.          as = as_GSM850_C;
  364.          return true;
  365.       }
  366.  //----------------------------------------------------------------------------
  367.       bool TMETA_factory_cfg_storage::setGSM850_C(AnsiString as)
  368.       {
  369.          as_GSM850_C = as;
  370.          return true;
  371.       }
  372.  //=============================================================================
  373.       bool TMETA_factory_cfg_storage::getGSM850_MAX_RX_LOSS(AnsiString &as)
  374.       {
  375.          as = as_GSM850_MAX_RX_LOSS;
  376.          return true;
  377.       }
  378.  //----------------------------------------------------------------------------
  379.       bool TMETA_factory_cfg_storage::setGSM850_MAX_RX_LOSS(AnsiString as)
  380.       {
  381.          as_GSM850_MAX_RX_LOSS = as;
  382.          return true;
  383.       }
  384.  //=============================================================================
  385.       bool TMETA_factory_cfg_storage::getGSM850_MIN_RX_LOSS(AnsiString &as)
  386.       {
  387.          as = as_GSM850_MIN_RX_LOSS;
  388.          return true;
  389.       }
  390.  //----------------------------------------------------------------------------
  391.       bool TMETA_factory_cfg_storage::setGSM850_MIN_RX_LOSS(AnsiString as)
  392.       {
  393.          as_GSM850_MIN_RX_LOSS = as;
  394.          return true;
  395.       }
  396.  //=============================================================================
  397.       bool TMETA_factory_cfg_storage::getGSM850_CORRECTION(AnsiString &as)
  398.       {
  399.          as = as_GSM850_CORRECTION;
  400.          return true;
  401.       }
  402.  //----------------------------------------------------------------------------
  403.       bool TMETA_factory_cfg_storage::setGSM850_CORRECTION(AnsiString as)
  404.       {
  405.          as_GSM850_CORRECTION = as;
  406.          return true;
  407.       }
  408.  // ****************************************************************************
  409.  // *****************************  GSM 900 *************************************
  410.  //=============================================================================
  411.       bool TMETA_factory_cfg_storage::getGSM900_CAL_PCL(AnsiString &as)
  412.       {
  413.          as = as_GSM900_CAL_PCL;
  414.          return true;
  415.       }
  416. //----------------------------------------------------------------------------
  417.       bool TMETA_factory_cfg_storage::setGSM900_CAL_PCL(AnsiString as)
  418.       {
  419.          as_GSM900_CAL_PCL = as;
  420.          return true;
  421.       }
  422.  //=============================================================================
  423.       bool TMETA_factory_cfg_storage::getGSM900_PCL(AnsiString &as)
  424.       {
  425.          as = as_GSM900_PCL;
  426.          return true;
  427.       }
  428.  //----------------------------------------------------------------------------
  429.       bool TMETA_factory_cfg_storage::setGSM900_PCL(AnsiString as)
  430.       {
  431.          as_GSM900_PCL = as;
  432.          return true;
  433.       }
  434.  //=============================================================================
  435.       bool TMETA_factory_cfg_storage::getGSM900_CHECK_PCL(AnsiString &as)
  436.       {
  437.          as = as_GSM900_CHECK_PCL;
  438.          return true;
  439.       }
  440.  //----------------------------------------------------------------------------
  441.       bool TMETA_factory_cfg_storage::setGSM900_CHECK_PCL(AnsiString as)
  442.       {
  443.          as_GSM900_CHECK_PCL = as;
  444.          return true;
  445.       }
  446.  //=============================================================================
  447.       bool TMETA_factory_cfg_storage::getGSM900_MAX_P(AnsiString &as)
  448.       {
  449.          as = as_GSM900_MAX_P;
  450.          return true;
  451.       }
  452.  //----------------------------------------------------------------------------
  453.       bool TMETA_factory_cfg_storage::setGSM900_MAX_P(AnsiString as)
  454.       {
  455.          as_GSM900_MAX_P = as;
  456.          return true;
  457.       }
  458.  //=============================================================================
  459.       bool TMETA_factory_cfg_storage::getGSM900_WANTED_P(AnsiString &as)
  460.       {
  461.          as = as_GSM900_WANTED_P;
  462.          return true;
  463.       }
  464.  //----------------------------------------------------------------------------
  465.       bool TMETA_factory_cfg_storage::setGSM900_WANTED_P(AnsiString as)
  466.       {
  467.          as_GSM900_WANTED_P = as;
  468.          return true;
  469.       }
  470.  //=============================================================================
  471.       bool TMETA_factory_cfg_storage::getGSM900_MIN_P(AnsiString &as)
  472.       {
  473.          as = as_GSM900_MIN_P;
  474.          return true;
  475.       }
  476.  //----------------------------------------------------------------------------
  477.       bool TMETA_factory_cfg_storage::setGSM900_MIN_P(AnsiString as)
  478.       {
  479.          as_GSM900_MIN_P = as;
  480.          return true;
  481.       }
  482.  //=============================================================================
  483.       bool TMETA_factory_cfg_storage::getGSM900_C(AnsiString &as)
  484.       {
  485.          as = as_GSM900_C;
  486.          return true;
  487.       }
  488.  //----------------------------------------------------------------------------
  489.       bool TMETA_factory_cfg_storage::setGSM900_C(AnsiString as)
  490.       {
  491.          as_GSM900_C = as;
  492.          return true;
  493.       }
  494.  //=============================================================================
  495.       bool TMETA_factory_cfg_storage::getGSM900_MAX_RX_LOSS(AnsiString &as)
  496.       {
  497.          as = as_GSM900_MAX_RX_LOSS;
  498.          return true;
  499.       }
  500.  //----------------------------------------------------------------------------
  501.       bool TMETA_factory_cfg_storage::setGSM900_MAX_RX_LOSS(AnsiString as)
  502.       {
  503.          as_GSM900_MAX_RX_LOSS = as;
  504.          return true;
  505.       }
  506.  //=============================================================================
  507.       bool TMETA_factory_cfg_storage::getGSM900_MIN_RX_LOSS(AnsiString &as)
  508.       {
  509.          as = as_GSM900_MIN_RX_LOSS;
  510.          return true;
  511.       }
  512.  //----------------------------------------------------------------------------
  513.       bool TMETA_factory_cfg_storage::setGSM900_MIN_RX_LOSS(AnsiString as)
  514.       {
  515.          as_GSM900_MIN_RX_LOSS = as;
  516.          return true;
  517.       }
  518.  //=============================================================================
  519.       bool TMETA_factory_cfg_storage::getGSM900_CORRECTION(AnsiString &as)
  520.       {
  521.          as = as_GSM900_CORRECTION;
  522.          return true;
  523.       }
  524.  //----------------------------------------------------------------------------
  525.       bool TMETA_factory_cfg_storage::setGSM900_CORRECTION(AnsiString as)
  526.       {
  527.          as_GSM900_CORRECTION = as;
  528.          return true;
  529.       }
  530.  // ****************************************************************************
  531.  // *****************************  DCS 1800 ************************************
  532.  //=============================================================================
  533.       bool TMETA_factory_cfg_storage::getDCS1800_PCL(AnsiString &as)
  534.       {
  535.          as = as_DCS1800_PCL;
  536.          return true;
  537.       }
  538.  //----------------------------------------------------------------------------
  539.       bool TMETA_factory_cfg_storage::setDCS1800_PCL(AnsiString as)
  540.       {
  541.          as_DCS1800_PCL = as;
  542.          return true;
  543.       }
  544.  //=============================================================================
  545.       bool TMETA_factory_cfg_storage::getDCS1800_CHECK_PCL(AnsiString &as)
  546.       {
  547.          as = as_DCS1800_CHECK_PCL;
  548.          return true;
  549.       }
  550.  //----------------------------------------------------------------------------
  551.       bool TMETA_factory_cfg_storage::setDCS1800_CHECK_PCL(AnsiString as)
  552.       {
  553.          as_DCS1800_CHECK_PCL = as;
  554.          return true;
  555.       }
  556.  //=============================================================================
  557.       bool TMETA_factory_cfg_storage::getDCS1800_MAX_P(AnsiString &as)
  558.       {
  559.          as = as_DCS1800_MAX_P;
  560.          return true;
  561.       }
  562.  //----------------------------------------------------------------------------
  563.       bool TMETA_factory_cfg_storage::setDCS1800_MAX_P(AnsiString as)
  564.       {
  565.          as_DCS1800_MAX_P = as;
  566.          return true;
  567.       }
  568.  //=============================================================================
  569.       bool TMETA_factory_cfg_storage::getDCS1800_WANTED_P(AnsiString &as)
  570.       {
  571.          as = as_DCS1800_WANTED_P;
  572.          return true;
  573.       }
  574.  //----------------------------------------------------------------------------
  575.       bool TMETA_factory_cfg_storage::setDCS1800_WANTED_P(AnsiString as)
  576.       {
  577.          as_DCS1800_WANTED_P = as;
  578.          return true;
  579.       }
  580.  //=============================================================================
  581.       bool TMETA_factory_cfg_storage::getDCS1800_MIN_P(AnsiString &as)
  582.       {
  583.          as = as_DCS1800_MIN_P;
  584.          return true;
  585.       }
  586.  //----------------------------------------------------------------------------
  587.       bool TMETA_factory_cfg_storage::setDCS1800_MIN_P(AnsiString as)
  588.       {
  589.          as_DCS1800_MIN_P = as;
  590.          return true;
  591.       }
  592.  //=============================================================================
  593.       bool TMETA_factory_cfg_storage::getDCS1800_C(AnsiString &as)
  594.       {
  595.          as = as_DCS1800_C;
  596.          return true;
  597.       }
  598.  //----------------------------------------------------------------------------
  599.       bool TMETA_factory_cfg_storage::setDCS1800_C(AnsiString as)
  600.       {
  601.          as_DCS1800_C = as;
  602.          return true;
  603.       }
  604.  //=============================================================================
  605.  // added by Andy Ueng
  606.  //=============================================================================
  607.       bool TMETA_factory_cfg_storage::getDCS1800_MAX_RX_LOSS(AnsiString &as)
  608.       {
  609.          as = as_DCS1800_MAX_RX_LOSS;
  610.          return true;
  611.       }
  612.  //----------------------------------------------------------------------------
  613.       bool TMETA_factory_cfg_storage::setDCS1800_MAX_RX_LOSS(AnsiString as)
  614.       {
  615.          as_DCS1800_MAX_RX_LOSS = as;
  616.          return true;
  617.       }
  618.  //=============================================================================
  619.       bool TMETA_factory_cfg_storage::getDCS1800_MIN_RX_LOSS(AnsiString &as)
  620.       {
  621.          as = as_DCS1800_MIN_RX_LOSS;
  622.          return true;
  623.       }
  624.  //----------------------------------------------------------------------------
  625.       bool TMETA_factory_cfg_storage::setDCS1800_MIN_RX_LOSS(AnsiString as)
  626.       {
  627.          as_DCS1800_MIN_RX_LOSS = as;
  628.          return true;
  629.       }
  630.  //=============================================================================
  631.       bool TMETA_factory_cfg_storage::getDCS1800_CORRECTION(AnsiString &as)
  632.       {
  633.          as = as_DCS1800_CORRECTION;
  634.          return true;
  635.       }
  636.  //----------------------------------------------------------------------------
  637.       bool TMETA_factory_cfg_storage::setDCS1800_CORRECTION(AnsiString as)
  638.       {
  639.          as_DCS1800_CORRECTION = as;
  640.          return true;
  641.       }
  642.  // end of added
  643.  // *****************************  DCS 1800 end ********************************
  644.  // *****************************  PCS 1900 begin ******************************
  645.  //=============================================================================
  646.      //=============================================================================
  647.       bool TMETA_factory_cfg_storage::getPCS1900_PCL(AnsiString &as)
  648.       {
  649.          as = as_PCS1900_PCL;
  650.          return true;
  651.       }
  652.  //----------------------------------------------------------------------------
  653.       bool TMETA_factory_cfg_storage::setPCS1900_PCL(AnsiString as)
  654.       {
  655.          as_PCS1900_PCL = as;
  656.          return true;
  657.       }
  658.  //=============================================================================
  659.       bool TMETA_factory_cfg_storage::getPCS1900_CHECK_PCL(AnsiString &as)
  660.       {
  661.          as = as_PCS1900_CHECK_PCL;
  662.          return true;
  663.       }
  664.  //----------------------------------------------------------------------------
  665.       bool TMETA_factory_cfg_storage::setPCS1900_CHECK_PCL(AnsiString as)
  666.       {
  667.          as_PCS1900_CHECK_PCL = as;
  668.          return true;
  669.       }     
  670.  //=============================================================================
  671.       bool TMETA_factory_cfg_storage::getPCS1900_MAX_P(AnsiString &as)
  672.       {
  673.          as = as_PCS1900_MAX_P;
  674.          return true;
  675.       }
  676.  //----------------------------------------------------------------------------
  677.       bool TMETA_factory_cfg_storage::setPCS1900_MAX_P(AnsiString as)
  678.       {
  679.          as_PCS1900_MAX_P = as;
  680.          return true;
  681.       }
  682.  //=============================================================================
  683.       bool TMETA_factory_cfg_storage::getPCS1900_WANTED_P(AnsiString &as)
  684.       {
  685.          as = as_PCS1900_WANTED_P;
  686.          return true;
  687.       }
  688.  //----------------------------------------------------------------------------
  689.       bool TMETA_factory_cfg_storage::setPCS1900_WANTED_P(AnsiString as)
  690.       {
  691.          as_PCS1900_WANTED_P = as;
  692.          return true;
  693.       }
  694.  //=============================================================================
  695.       bool TMETA_factory_cfg_storage::getPCS1900_MIN_P(AnsiString &as)
  696.       {
  697.          as = as_PCS1900_MIN_P;
  698.          return true;
  699.       }
  700.  //----------------------------------------------------------------------------
  701.       bool TMETA_factory_cfg_storage::setPCS1900_MIN_P(AnsiString as)
  702.       {
  703.          as_PCS1900_MIN_P = as;
  704.          return true;
  705.       }
  706.  //=============================================================================
  707.       bool TMETA_factory_cfg_storage::getPCS1900_C(AnsiString &as)
  708.       {
  709.          as = as_PCS1900_C;
  710.          return true;
  711.       }
  712.  //----------------------------------------------------------------------------
  713.       bool TMETA_factory_cfg_storage::setPCS1900_C(AnsiString as)
  714.       {
  715.          as_PCS1900_C = as;
  716.          return true;
  717.       }
  718.  //=============================================================================
  719.  // added by Andy Ueng
  720.  //=============================================================================
  721.       bool TMETA_factory_cfg_storage::getPCS1900_MAX_RX_LOSS(AnsiString &as)
  722.       {
  723.          as = as_PCS1900_MAX_RX_LOSS;
  724.          return true;
  725.       }
  726.  //----------------------------------------------------------------------------
  727.       bool TMETA_factory_cfg_storage::setPCS1900_MAX_RX_LOSS(AnsiString as)
  728.       {
  729.          as_PCS1900_MAX_RX_LOSS = as;
  730.          return true;
  731.       }
  732.  //=============================================================================
  733.       bool TMETA_factory_cfg_storage::getPCS1900_MIN_RX_LOSS(AnsiString &as)
  734.       {
  735.          as = as_PCS1900_MIN_RX_LOSS;
  736.          return true;
  737.       }
  738.  //----------------------------------------------------------------------------
  739.       bool TMETA_factory_cfg_storage::setPCS1900_MIN_RX_LOSS(AnsiString as)
  740.       {
  741.          as_PCS1900_MIN_RX_LOSS = as;
  742.          return true;
  743.       }
  744.  //=============================================================================
  745.       bool TMETA_factory_cfg_storage::getPCS1900_CORRECTION(AnsiString &as)
  746.       {
  747.          as = as_PCS1900_CORRECTION;
  748.          return true;
  749.       }
  750.  //----------------------------------------------------------------------------
  751.       bool TMETA_factory_cfg_storage::setPCS1900_CORRECTION(AnsiString as)
  752.       {
  753.          as_PCS1900_CORRECTION = as;
  754.          return true;
  755.       }
  756.  //=============================================================================
  757.       bool TMETA_factory_cfg_storage::get_MAX_INIT_AFC_DAC(int &i)
  758.       {
  759.          i = i_MAX_INIT_AFC_DAC;
  760.          return true;
  761.       }
  762.  //----------------------------------------------------------------------------
  763.       bool TMETA_factory_cfg_storage::set_MAX_INIT_AFC_DAC(int i)
  764.       {
  765.          i_MAX_INIT_AFC_DAC = i;
  766.          return true;
  767.       }
  768.  //=============================================================================
  769.       bool TMETA_factory_cfg_storage::get_MIN_INIT_AFC_DAC(int &i)
  770.       {
  771.          i = i_MIN_INIT_AFC_DAC;
  772.          return true;
  773.       }
  774.  //----------------------------------------------------------------------------
  775.       bool TMETA_factory_cfg_storage::set_MIN_INIT_AFC_DAC(int i)
  776.       {
  777.          i_MIN_INIT_AFC_DAC = i;
  778.          return true;
  779.       }
  780. //=============================================================================
  781.       bool TMETA_factory_cfg_storage::get_MAX_AFC_SLOPE(double &d)
  782.       {
  783.          d = d_MAX_AFC_SLOPE;
  784.          return true;
  785.       }
  786.  //----------------------------------------------------------------------------
  787.       bool TMETA_factory_cfg_storage::set_MAX_AFC_SLOPE(double d)
  788.       {
  789.          d_MAX_AFC_SLOPE = d;
  790.          return true;
  791.       }
  792. //=============================================================================
  793.       bool TMETA_factory_cfg_storage::get_MIN_AFC_SLOPE(double &d)
  794.       {
  795.          d = d_MIN_AFC_SLOPE;
  796.          return true;
  797.       }
  798.  //----------------------------------------------------------------------------
  799.       bool TMETA_factory_cfg_storage::set_MIN_AFC_SLOPE(double d)
  800.       {
  801.          d_MIN_AFC_SLOPE = d;
  802.          return true;
  803.       }
  804.  // end of added
  805.  // *****************************  PCS 1900 end ********************************
  806.       signed char TMETA_factory_cfg_storage::getBSIC()
  807.       {
  808.          return sc_BSIC;
  809.       }
  810.  //----------------------------------------------------------------------------
  811.       bool TMETA_factory_cfg_storage::setBSIC(signed char sc)
  812.       {
  813.          sc_BSIC = sc;
  814.          return true;
  815.       }
  816.  //----------------------------------------------------------------------------
  817.       bool TMETA_factory_cfg_storage::setBSIC(AnsiString as)
  818.       {
  819.          sc_BSIC = as.ToInt();
  820.          return true;
  821.       }
  822.  // added by Andy Ueng
  823.  //=============================================================================
  824.  //     bool TMETA_factory_cfg_storage::get_FACTORY_ID(AnsiString &as)
  825.  //     {
  826.  //        as = as_FACTORY_ID;
  827.  //        return true;
  828. //      }
  829.  //----------------------------------------------------------------------------
  830.  //  bool TMETA_factory_cfg_storage::set_FACTORY_ID(AnsiString as)
  831.  //     {
  832.  //        as_FACTORY_ID = as;
  833.  //        return true;
  834.  //     }
  835.  // end of added
  836.  // added by Andy Ueng for ADC calibration
  837.  //=============================================================================
  838.   bool TMETA_factory_cfg_storage::get663x2_GPIB_Addr(AnsiString &as)
  839.   {
  840.      as = as_663x2_GPIB_Addr;
  841.      return true;
  842.   }
  843.  //----------------------------------------------------------------------------
  844.   bool TMETA_factory_cfg_storage::set663x2_GPIB_Addr(AnsiString as)
  845.   {
  846.     as_663x2_GPIB_Addr = as;
  847.     return true;
  848.   }
  849.   bool TMETA_factory_cfg_storage::getADC_V1(AnsiString &as)
  850.   {
  851.      as = as_ADC_V1;
  852.      return true;
  853.   }
  854.  //----------------------------------------------------------------------------
  855.   bool TMETA_factory_cfg_storage::setADC_V1(AnsiString as)
  856.   {
  857.     as_ADC_V1 = as;
  858.     return true;
  859.   }
  860.  //=============================================================================
  861.      bool TMETA_factory_cfg_storage::getADC_V2(AnsiString &as)
  862.   {
  863.      as = as_ADC_V2;
  864.      return true;
  865.   }
  866.  //----------------------------------------------------------------------------
  867.   bool TMETA_factory_cfg_storage::setADC_V2(AnsiString as)
  868.   {
  869.     as_ADC_V2 = as;
  870.     return true;
  871.   }
  872.  //=============================================================================
  873.     bool TMETA_factory_cfg_storage::getADC_CHECK_VOLTAGE(AnsiString &as)
  874.   {
  875.      as = as_ADC_CHECK_VOLTAGE;
  876.      return true;
  877.   }
  878.  //----------------------------------------------------------------------------
  879.   bool TMETA_factory_cfg_storage::setADC_CHECK_VOLTAGE(AnsiString as)
  880.   {
  881.     as_ADC_CHECK_VOLTAGE = as;
  882.     return true;
  883.   }
  884.  //=============================================================================
  885.      bool TMETA_factory_cfg_storage::get_NORMAL_VOLTAGE(AnsiString &as)
  886.   {
  887.      as = as_NORMAL_VOLTAGE;
  888.      return true;
  889.   }
  890.  //----------------------------------------------------------------------------
  891.   bool TMETA_factory_cfg_storage::set_NORMAL_VOLTAGE(AnsiString as)
  892.   {
  893.     as_NORMAL_VOLTAGE = as;
  894.     return true;
  895.   }
  896. //=============================================================================
  897.      bool TMETA_factory_cfg_storage::get_MAX_BATTERY_ADC_SLOPE(AnsiString &as)
  898.   {
  899.      as = as_MAX_BATTERY_ADC_SLOPE;
  900.      return true;
  901.   }
  902.  //----------------------------------------------------------------------------
  903.   bool TMETA_factory_cfg_storage::set_MAX_BATTERY_ADC_SLOPE(AnsiString as)
  904.   {
  905.     as_MAX_BATTERY_ADC_SLOPE = as;
  906.     return true;
  907.   }
  908. //=============================================================================
  909.      bool TMETA_factory_cfg_storage::get_MIN_BATTERY_ADC_SLOPE(AnsiString &as)
  910.   {
  911.      as = as_MIN_BATTERY_ADC_SLOPE;
  912.      return true;
  913.   }
  914.  //----------------------------------------------------------------------------
  915.   bool TMETA_factory_cfg_storage::set_MIN_BATTERY_ADC_SLOPE(AnsiString as)
  916.   {
  917.     as_MIN_BATTERY_ADC_SLOPE = as;
  918.     return true;
  919.   }
  920. //=============================================================================
  921.      bool TMETA_factory_cfg_storage::get_MAX_BATTERY_ADC_OFFSET(AnsiString &as)
  922.   {
  923.      as = as_MAX_BATTERY_ADC_OFFSET;
  924.      return true;
  925.   }
  926.  //----------------------------------------------------------------------------
  927.   bool TMETA_factory_cfg_storage::set_MAX_BATTERY_ADC_OFFSET(AnsiString as)
  928.   {
  929.     as_MAX_BATTERY_ADC_OFFSET = as;
  930.     return true;
  931.   }
  932. //=============================================================================
  933.      bool TMETA_factory_cfg_storage::get_MIN_BATTERY_ADC_OFFSET(AnsiString &as)
  934.   {
  935.      as = as_MIN_BATTERY_ADC_OFFSET;
  936.      return true;
  937.   }
  938.  //----------------------------------------------------------------------------
  939.   bool TMETA_factory_cfg_storage::set_MIN_BATTERY_ADC_OFFSET(AnsiString as)
  940.   {
  941.     as_MIN_BATTERY_ADC_OFFSET = as;
  942.     return true;
  943.   }
  944. //=============================================================================
  945.      bool TMETA_factory_cfg_storage::get_BATTERY_CHANNEL(AnsiString &as)
  946.   {
  947.      as = as_BATTERY_CHANNEL;
  948.      return true;
  949.   }
  950.  //----------------------------------------------------------------------------
  951.   bool TMETA_factory_cfg_storage::set_BATTERY_CHANNEL(AnsiString as)
  952.   {
  953.     as_BATTERY_CHANNEL = as;
  954.     return true;
  955.   }
  956. //=============================================================================
  957.      bool TMETA_factory_cfg_storage::get_CHARGER_CHANNEL(AnsiString &as)
  958.   {
  959.      as = as_CHARGER_CHANNEL;
  960.      return true;
  961.   }
  962.  //----------------------------------------------------------------------------
  963.   bool TMETA_factory_cfg_storage::set_CHARGER_CHANNEL(AnsiString as)
  964.   {
  965.     as_CHARGER_CHANNEL = as;
  966.     return true;
  967.   }
  968. //=============================================================================
  969.      bool TMETA_factory_cfg_storage::get_ADC_RESISTANCE(AnsiString &as)
  970.   {
  971.      as = as_ADC_RESISTANCE;
  972.      return true;
  973.   }
  974.  //----------------------------------------------------------------------------
  975.   bool TMETA_factory_cfg_storage::set_ADC_RESISTANCE(AnsiString as)
  976.   {
  977.     as_ADC_RESISTANCE = as;
  978.     return true;
  979.   }
  980. //=============================================================================
  981.      bool TMETA_factory_cfg_storage::get_MAX_VOLTAGE_DIFFERENCE(AnsiString &as)
  982.   {
  983.      as = as_MAX_VOLTAGE_DIFFERENCE;
  984.      return true;
  985.   }
  986.  //----------------------------------------------------------------------------
  987.   bool TMETA_factory_cfg_storage::set_MAX_VOLTAGE_DIFFERENCE(AnsiString as)
  988.   {
  989.     as_MAX_VOLTAGE_DIFFERENCE = as;
  990.     return true;
  991.   }
  992. //=============================================================================
  993.      bool TMETA_factory_cfg_storage::get_MAX_CURRENT_DIFFERENCE(AnsiString &as)
  994.   {
  995.      as = as_MAX_CURRENT_DIFFERENCE;
  996.      return true;
  997.   }
  998.  //----------------------------------------------------------------------------
  999.   bool TMETA_factory_cfg_storage::set_MAX_CURRENT_DIFFERENCE(AnsiString as)
  1000.   {
  1001.     as_MAX_CURRENT_DIFFERENCE = as;
  1002.     return true;
  1003.   }
  1004. //=============================================================================
  1005.      bool TMETA_factory_cfg_storage::get_ADC_MEASUREMENT_COUNT(AnsiString &as)
  1006.   {
  1007.      as = as_ADC_MEASUREMENT_COUNT;
  1008.      return true;
  1009.   }
  1010.  //----------------------------------------------------------------------------
  1011.   bool TMETA_factory_cfg_storage::set_ADC_MEASUREMENT_COUNT(AnsiString as)
  1012.   {
  1013.     as_ADC_MEASUREMENT_COUNT = as;
  1014.     return true;
  1015.   }
  1016. //=============================================================================
  1017.       void TMETA_factory_cfg_storage::ReadFromIniFile(AnsiString as)
  1018.       {
  1019.           TIniFile *ini;
  1020.           ini = new TIniFile( as );
  1021.           if(ini != NULL)
  1022.           {
  1023.           setGPIB_Addr( ini->ReadString("8960 Initialization",
  1024.                                          "8960 GPIB Address",
  1025.                                          "GPIB0::15::INSTR"
  1026.                                        ));
  1027.           setTimeOut( ini->ReadString("8960 Initialization",
  1028.                                       "Time Out",
  1029.                                       "10000"
  1030.                                      ));
  1031.           setFreqBank( ini->ReadString("Frequency Bank",
  1032.                                        "bank",
  1033.                                        "0x0C"
  1034.                                       ));
  1035.           setARFCN_C0_GSM850( ini->ReadInteger("C0 for each Bank",
  1036.                                             "arfcn_C0_GSM850",
  1037.                                             190
  1038.                                            ));
  1039.                                            
  1040.           setARFCN_C0_GSM( ini->ReadInteger("C0 for each Bank",
  1041.                                             "arfcn_C0_GSM",
  1042.                                             60
  1043.                                            ));
  1044.           setARFCN_C0_DCS( ini->ReadInteger("C0 for each Bank",
  1045.                                             "arfcn_C0_DCS",
  1046.                                             750
  1047.                                            ));
  1048.           setARFCN_C0_PCS( ini->ReadInteger("C0 for each Bank",
  1049.                                             "arfcn_C0_PCS",
  1050.                                             660
  1051.                                            ));
  1052.           setP_DL( ini->ReadInteger("Downlink power",
  1053.                                     "P_DL",
  1054.                                     -80
  1055.                                    ));
  1056.           setN_PM( ini->ReadInteger("RX measurement samples",
  1057.                                     "N_PM",
  1058.                                     5
  1059.                                    ));
  1060.           setM_PM( ini->ReadInteger("RX measurement samples",
  1061.                                      "M_PM",
  1062.                                      4
  1063.                                     ));
  1064.           setN_AFC( ini->ReadInteger("AFC Calibration",
  1065.                                      "N_AFC",
  1066.                                      5
  1067.                                     ));
  1068.           setDCA1( ini->ReadInteger("AFC Calibration",
  1069.                                     "DAC1",
  1070.                                     3000
  1071.                                    ));
  1072.           setDAC2( ini->ReadInteger("AFC Calibration",
  1073.                                     "DAC2",
  1074.                                     4000
  1075.                                    ));
  1076.            // GSM850
  1077.           setGSM850_CAL_PCL( ini->ReadString("TX PCL table",
  1078.                              "GSM850_CAL_PCL",
  1079.                              "0"
  1080.                                              ));
  1081.           setGSM850_PCL( ini->ReadString("TX PCL table",
  1082.                                          "GSM850_PCL",
  1083.                                          "0"
  1084.                                         ));
  1085.           setGSM850_CHECK_PCL( ini->ReadString("TX PCL table",
  1086.                                          "GSM850_CHECK_PCL",
  1087.                                          "0"
  1088.                                         ));
  1089.           setGSM850_MAX_P( ini->ReadString("TX PCL table",
  1090.                                            "GSM850_MAX_P",
  1091.                                            "0"
  1092.                                           ));
  1093.           setGSM850_WANTED_P( ini->ReadString("TX PCL table",
  1094.                                               "GSM850_WANTED_P",
  1095.                                               "0"
  1096.                                              ));
  1097.           setGSM850_MIN_P( ini->ReadString("TX PCL table",
  1098.                                            "GSM850_MIN_P",
  1099.                                            "0"
  1100.                                           ));
  1101.           setGSM850_C( ini->ReadString("TX PCL table",
  1102.                                        "GSM850_C",
  1103.                                        "0"
  1104.                                       ));
  1105.           setGSM850_MAX_RX_LOSS( ini->ReadString("RX path loss table",
  1106.                                        "GSM850_MAX_RX_LOSS",
  1107.                                        "0"
  1108.                                       ));
  1109.           setGSM850_MIN_RX_LOSS( ini->ReadString("RX path loss table",
  1110.                                        "GSM850_MIN_RX_LOSS",
  1111.                                        "0"
  1112.                                       ));
  1113.           setGSM850_CORRECTION( ini->ReadString("TX PCL table",
  1114.                                        "GSM850_CORRECTION",
  1115.                                        "0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"
  1116.                                       ));
  1117.           // GSM900
  1118.           setGSM900_CAL_PCL( ini->ReadString("TX PCL table",
  1119.                              "GSM900_CAL_PCL",
  1120.                              "0"
  1121.                                              ));
  1122.           setGSM900_PCL( ini->ReadString("TX PCL table",
  1123.                                          "GSM900_PCL",
  1124.                                          "0"
  1125.                                         ));
  1126.           setGSM900_CHECK_PCL( ini->ReadString("TX PCL table",
  1127.                                          "GSM900_CHECK_PCL",
  1128.                                          "0"
  1129.                                         ));
  1130.           setGSM900_MAX_P( ini->ReadString("TX PCL table",
  1131.                                            "GSM900_MAX_P",
  1132.                                            "0"
  1133.                                           ));
  1134.           setGSM900_WANTED_P( ini->ReadString("TX PCL table",
  1135.                                               "GSM900_WANTED_P",
  1136.                                               "0"
  1137.                                              ));
  1138.           setGSM900_MIN_P( ini->ReadString("TX PCL table",
  1139.                                            "GSM900_MIN_P",
  1140.                                            "0"
  1141.                                           ));
  1142.           setGSM900_C( ini->ReadString("TX PCL table",
  1143.                                        "GSM900_C",
  1144.                                        "0"
  1145.                                       ));
  1146.           setGSM900_MAX_RX_LOSS( ini->ReadString("RX path loss table",
  1147.                                        "GSM900_MAX_RX_LOSS",
  1148.                                        "0"
  1149.                                       ));
  1150.           setGSM900_MIN_RX_LOSS( ini->ReadString("RX path loss table",
  1151.                                        "GSM900_MIN_RX_LOSS",
  1152.                                        "0"
  1153.                                       ));
  1154.           setGSM900_CORRECTION( ini->ReadString("TX PCL table",
  1155.                                        "GSM900_CORRECTION",
  1156.                                        "0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"
  1157.                                       ));
  1158.           // DCS1800
  1159.           setDCS1800_CAL_PCL( ini->ReadString("TX PCL table",
  1160.                                           "DCS1800_CAL_PCL",
  1161.                                           "0"
  1162.                                          ));
  1163.           setDCS1800_PCL( ini->ReadString("TX PCL table",
  1164.                                           "DCS1800_PCL",
  1165.                                           "0"
  1166.                                          ));
  1167.           setDCS1800_CHECK_PCL( ini->ReadString("TX PCL table",
  1168.                                           "DCS1800_CHECK_PCL",
  1169.                                           "0"
  1170.                                          ));
  1171.           setDCS1800_MAX_P( ini->ReadString("TX PCL table",
  1172.                                             "DCS1800_MAX_P",
  1173.                                             "0"
  1174.                                            ));
  1175.           setDCS1800_WANTED_P( ini->ReadString("TX PCL table",
  1176.                                                "DCS1800_WANTED_P",
  1177.                                                "0"
  1178.                                               ));
  1179.           setDCS1800_MIN_P( ini->ReadString("TX PCL table",
  1180.                                             "DCS1800_MIN_P",
  1181.                                             "0"
  1182.                                           ));
  1183.           setDCS1800_C( ini->ReadString("TX PCL table",
  1184.                                         "DCS1800_C",
  1185.                                         "0"
  1186.                                        ));
  1187.           setDCS1800_MAX_RX_LOSS( ini->ReadString("RX path loss table",
  1188.                                        "DCS1800_MAX_RX_LOSS",
  1189.                                        "0"
  1190.                                       ));
  1191.           setDCS1800_MIN_RX_LOSS( ini->ReadString("RX path loss table",
  1192.                                        "DCS1800_MIN_RX_LOSS",
  1193.                                        "0"
  1194.                                       ));
  1195.           setDCS1800_CORRECTION( ini->ReadString("TX PCL table",
  1196.                                        "DCS1800_CORRECTION",
  1197.                                        "0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"
  1198.                                       ));
  1199.           // PCS1900
  1200.           setPCS1900_CAL_PCL( ini->ReadString("TX PCL table",
  1201.                                           "PCS1900_CAL_PCL",
  1202.                                           "0"
  1203.                                          ));
  1204.           setPCS1900_PCL( ini->ReadString("TX PCL table",
  1205.                                           "PCS1900_PCL",
  1206.                                           "0"
  1207.                                          ));
  1208.           setPCS1900_MAX_P( ini->ReadString("TX PCL table",
  1209.                                             "PCS1900_MAX_P",
  1210.                                             "0"
  1211.                                            ));
  1212.           setPCS1900_WANTED_P( ini->ReadString("TX PCL table",
  1213.                                                "PCS1900_WANTED_P",
  1214.                                                "0"
  1215.                                               ));
  1216.           setPCS1900_MIN_P( ini->ReadString("TX PCL table",
  1217.                                             "PCS1900_MIN_P",
  1218.                                             "0"
  1219.                                           ));
  1220.           setPCS1900_C( ini->ReadString("TX PCL table",
  1221.                                         "PCS1900_C",
  1222.                                         "0"
  1223.                                        ));
  1224.           setPCS1900_MAX_RX_LOSS( ini->ReadString("RX path loss table",
  1225.                                        "PCS1900_MAX_RX_LOSS",
  1226.                                        "0"
  1227.                                       ));
  1228.           setPCS1900_MIN_RX_LOSS( ini->ReadString("RX path loss table",
  1229.                                        "PCS1900_MIN_RX_LOSS",
  1230.                                        "0"
  1231.                                       ));
  1232.           setPCS1900_CORRECTION( ini->ReadString("TX PCL table",
  1233.                                        "GSM900_CORRECTION",
  1234.                                        "0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"
  1235.                                       ));
  1236.           setBSIC( ini->ReadInteger("TX PCL table",
  1237.                                     "BSIC",
  1238.                                     5
  1239.                                    ));
  1240.           // added by Andy Ueng
  1241.          // set_FACTORY_ID( ini->ReadString("META factory",
  1242.          //                              "FACTORY_ID",
  1243.          //                              "0"
  1244.           //                            ));
  1245.           // added by Andy Ueng for ADC calibration
  1246.           setADC_V1( ini->ReadString("ADC table",
  1247.                                      "ADC_V1",
  1248.                                      "3400"
  1249.                                      ));
  1250.            setADC_V2( ini->ReadString("ADC table",
  1251.                                      "ADC_V2",
  1252.                                      "4200"
  1253.                                      ));
  1254.           setADC_CHECK_VOLTAGE( ini->ReadString("ADC table",
  1255.                                      "ADC_CHECK_VOLTAGE",
  1256.                                      "3600"
  1257.                                      ));
  1258.           set_NORMAL_VOLTAGE( ini->ReadString("ADC table",
  1259.                                      "NORMAL_VOLTAGE",
  1260.                                      "3800"
  1261.                                      ));
  1262.           set_MAX_BATTERY_ADC_SLOPE( ini->ReadString("ADC table",
  1263.                                      "MAX_BATTERY_ADC_SLOPE",
  1264.                                      "5300.0"
  1265.                                      ));
  1266.           set_MIN_BATTERY_ADC_SLOPE( ini->ReadString("ADC table",
  1267.                                      "MIN_BATTERY_ADC_SLOPE",
  1268.                                      "5100.0"
  1269.                                      ));
  1270.           set_MAX_BATTERY_ADC_OFFSET( ini->ReadString("ADC table",
  1271.                                      "MAX_BATTERY_ADC_OFFSET",
  1272.                                      "1000000"
  1273.                                      ));
  1274.           set_MIN_BATTERY_ADC_OFFSET( ini->ReadString("ADC table",
  1275.                                      "MIN_BATTERY_ADC_OFFSET",
  1276.                                      "0"
  1277.                                      ));
  1278.           set_BATTERY_CHANNEL( ini->ReadString("ADC table",
  1279.                                      "BATTERY_CHANNEL",
  1280.                                      "0"
  1281.                                      ));
  1282.           set_CHARGER_CHANNEL( ini->ReadString("ADC table",
  1283.                                      "CHARGER_CHANNEL",
  1284.                                      "3"
  1285.                                      ));
  1286.           set_ADC_RESISTANCE( ini->ReadString("ADC table",
  1287.                                      "ADC_RESISTANCE",
  1288.                                      "0.33"
  1289.                                      ));
  1290.           set_MAX_VOLTAGE_DIFFERENCE( ini->ReadString("ADC table",
  1291.                                      "MAX_VOLTAGE_DIFFERENCE",
  1292.                                      "0.04"
  1293.                                      ));
  1294.           set_MAX_CURRENT_DIFFERENCE( ini->ReadString("ADC table",
  1295.                                      "MAX_CURRENT_DIFFERENCE",
  1296.                                      "0.02"
  1297.                                      ));
  1298.           set_ADC_MEASUREMENT_COUNT( ini->ReadString("ADC table",
  1299.                                      "ADC_MEASUREMENT_COUNT",
  1300.                                      "100"
  1301.                                      ));
  1302.           delete ini;
  1303.          }
  1304. //          ini = NULL;
  1305.       }
  1306.  //=============================================================================