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

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) 2001
  8. *
  9. *****************************************************************************/
  10. /*****************************************************************************
  11.  *
  12.  * Filename:
  13.  * ---------
  14.  *   access_rxpahloss.cpp
  15.  *
  16.  * Project:
  17.  * --------
  18.  *   Maui META APP
  19.  *
  20.  * Description:
  21.  * ------------
  22.  *   RX path loss calibration export to Microsoft Access source
  23.  *
  24.  * Author:
  25.  * -------
  26.  *  Andy Ueng (mtk00490)
  27.  *
  28.  *============================================================================
  29.  *             HISTORY
  30.  * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
  31.  *------------------------------------------------------------------------------
  32.  * $Revision$
  33.  * $Modtime$
  34.  * $Log$
  35.  *
  36.  *------------------------------------------------------------------------------
  37.  * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
  38.  *============================================================================
  39.  ****************************************************************************/
  40. #include <IniFiles.hpp>
  41. #pragma hdrstop
  42. #ifndef  _ACCESS_RXPATHLOSS_H_
  43. #include "access_rxpathloss.h"
  44. #endif
  45. #ifndef  _RF_AGC_H_
  46. #include "rf_agc.h"
  47. #endif
  48. //===========================================================================
  49. //===========================================================================
  50. CACCESSRXPATHLOSS::CACCESSRXPATHLOSS( void )
  51. {
  52. }
  53. //---------------------------------------------------------------------------
  54. CACCESSRXPATHLOSS::~CACCESSRXPATHLOSS( )
  55. {
  56. }
  57. //------------------------------------------------------------------------------
  58. void CACCESSRXPATHLOSS::SetTabNameToPATHLOSS_PARAMETERS( TADOTable *p_ADOTab )
  59. {
  60.     p_ADOTab->Active = false;
  61.     p_ADOTab->TableName = "PATHLOSS_PARAMETERS";
  62.     p_ADOTab->Active = true;
  63. }
  64. //----------------------------------------------------------------------------
  65. void CACCESSRXPATHLOSS::PostRecordToAccess( TADOTable *p_ADOTab )
  66. {
  67.     p_ADOTab->Post();
  68. }
  69. //------------------------------------------------------------------------------
  70. bool CACCESSRXPATHLOSS::AddFieldToAccess( TADOTable *p_ADOTab, AnsiString as_fieldname, AnsiString as_fieldvalue )
  71. {
  72.     try
  73.     {
  74.         p_ADOTab->FieldByName(as_fieldname)->AsString = as_fieldvalue;
  75.     }
  76.     catch(...)
  77.     {
  78.         AnsiString as_msg = "add " + as_fieldname + " fields error";
  79.         throw EDatabaseError(as_msg);
  80.         return false;
  81.     }
  82.     return true;
  83. }
  84. //------------------------------------------------------------------------------
  85. bool CACCESSRXPATHLOSS::AddBarcodeToAccess( TADOTable *p_ADOTab, AnsiString as_ID )
  86. {
  87.     if(! AddFieldToAccess( p_ADOTab, "BARCODE", as_ID ) )  return false;
  88.     return true;
  89. }
  90. //------------------------------------------------------------------------------
  91. bool CACCESSRXPATHLOSS::AddPcToAccess( TADOTable *p_ADOTab )
  92. {
  93.     char hostname[256];
  94.     unsigned long len=256;
  95.     GetComputerName( hostname, &len );
  96.     if(! AddFieldToAccess( p_ADOTab, "PC", hostname ) )  return false;
  97.     return true;
  98. }
  99. //------------------------------------------------------------------------------
  100. bool CACCESSRXPATHLOSS::AddDateToAccess( TADOTable *p_ADOTab )
  101. {
  102.     if(! AddFieldToAccess( p_ADOTab, "DATE", DateToStr(Date()) ) )  return false;
  103.     return true;
  104. }
  105. //------------------------------------------------------------------------------
  106. bool CACCESSRXPATHLOSS::AddTimeToAccess( TADOTable *p_ADOTab )
  107. {
  108.     if(! AddFieldToAccess( p_ADOTab, "TIME", CurrentTimeStr() ) )  return false;
  109.     return true;
  110. }
  111. //------------------------------------------------------------------------------
  112. bool CACCESSRXPATHLOSS::AddRxPathLossParameterToAccess( TADOTable *p_ADOTab, FrequencyBand freqband,
  113.                                                         l1cal_agcPathLoss_T  *p_AgcPathLoss)
  114. {
  115.     AnsiString  as_SUBBAND_NAME[] =
  116.     {
  117.        "GSM400",
  118.        "GSM850",
  119.        "GSM",
  120.        "DCS",
  121.        "PCS"
  122.     };
  123.     try
  124.     {
  125.         for(int i=0; i<PLTABLE_SIZE-1; i++)
  126.         {
  127.             p_ADOTab->FieldByName( as_SUBBAND_NAME[freqband] + "_ARFCN" + IntToStr(i+1) )->AsInteger =
  128.             p_AgcPathLoss->agcPathLoss[freqband][i].max_arfcn;
  129.             p_ADOTab->FieldByName( as_SUBBAND_NAME[freqband] + "_RX_LOSS" + IntToStr(i+1) )->AsString =
  130.             p_AgcPathLoss->agcPathLoss[freqband][i].gain_offset*1.0/GAIN_SCALE;
  131.         }
  132.     }
  133.     catch(...)
  134.     {
  135.         AnsiString as_msg = "add RX path loss fields error";
  136.         throw EDatabaseError(as_msg);
  137.         return false;
  138.     }
  139.     return true;
  140. }