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

📄 access_apc.cpp

📁 MTK 手机软件开发 META 源代码,开发环境: C++ Builder
💻 CPP
字号:
/*****************************************************************************
*  Copyright Statement:
*  --------------------
*  This software is protected by Copyright and the information contained
*  herein is confidential. The software may not be copied and the information
*  contained herein may not be used or disclosed except with the written
*  permission of MediaTek Inc. (C) 2001
*
*****************************************************************************/

/*****************************************************************************
 *
 * Filename:
 * ---------
 *   access_apc.cpp
 *
 * Project:
 * --------
 *   Maui META APP
 *
 * Description:
 * ------------
 *   APC calibration export to Microsoft Access source
 *
 * Author:
 * -------
 *  Andy Ueng (mtk00490)
 *
 *============================================================================
 *             HISTORY
 * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
 *------------------------------------------------------------------------------
 * $Revision$
 * $Modtime$
 * $Log$
 *
 *------------------------------------------------------------------------------
 * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
 *============================================================================
 ****************************************************************************/
#include <IniFiles.hpp>

#pragma hdrstop

// Access
#ifndef  _ACCESS_APC_H_
#include "access_apc.h"
#endif

// RF
#ifndef  _RF_APC_H_
#include "rf_apc.h"
#endif

// misc
#ifndef  _BAND_UTILS_H_
#include "band_utils.h"
#endif

#ifndef  _META_UTILS_H_
#include "meta_utils.h"
#endif

#ifndef _META_CONST_H_
#include "meta_const.h"
#endif
//===========================================================================




//===========================================================================
CACCESSAPC::CACCESSAPC( void )
{

}

//---------------------------------------------------------------------------
CACCESSAPC::~CACCESSAPC( )
{

}

//------------------------------------------------------------------------------
void CACCESSAPC::SetTabNameToAPC_PARAMETERS( TADOTable *p_ADOTab )
{
    p_ADOTab->Active = false;
    p_ADOTab->TableName = "APC_PARAMETERS";
    p_ADOTab->Active = true;
}

//------------------------------------------------------------------------------
void CACCESSAPC::SetTabNameToAPC_PCL_POWER( TADOTable *p_ADOTab )
{
    p_ADOTab->Active = false;
    p_ADOTab->TableName = "APC_PCL_POWER";
    p_ADOTab->Active = true;
}

//----------------------------------------------------------------------------
void CACCESSAPC::PostRecordToAccess( TADOTable *p_ADOTab )
{
    p_ADOTab->Post();
}

//------------------------------------------------------------------------------
bool CACCESSAPC::AddFieldToAccess( TADOTable *p_ADOTab, AnsiString as_fieldname, AnsiString as_fieldvalue )
{
    try
    {
        p_ADOTab->FieldByName(as_fieldname)->AsString = as_fieldvalue;
    }
    catch(...)
    {
        AnsiString as_msg = "add " + as_fieldname + " fields error";
        throw EDatabaseError(as_msg);
        return false;
    }

    return true;
}

//------------------------------------------------------------------------------
bool CACCESSAPC::AddBarcodeToAccess( TADOTable *p_ADOTab, AnsiString as_ID )
{
    if(! AddFieldToAccess( p_ADOTab, "BARCODE", as_ID ) )  return false;
    return true;
}

//------------------------------------------------------------------------------
bool CACCESSAPC::AddPcToAccess( TADOTable *p_ADOTab )
{
    char hostname[256];
    unsigned long len=256;
    GetComputerName( hostname, &len );

    if(! AddFieldToAccess( p_ADOTab, "PC", hostname ) )  return false;
    return true;

}

//------------------------------------------------------------------------------
bool CACCESSAPC::AddDateToAccess( TADOTable *p_ADOTab )
{
    if(! AddFieldToAccess( p_ADOTab, "DATE", DateToStr(Date()) ) )  return false;
    return true;
}

//------------------------------------------------------------------------------
bool CACCESSAPC::AddTimeToAccess( TADOTable *p_ADOTab )
{
    if(! AddFieldToAccess( p_ADOTab, "TIME", CurrentTimeStr() ) )  return false;
    return true;
}

//------------------------------------------------------------------------------
void CACCESSAPC::AddTxPcldBmParameterToAccess( TADOTable *p_ADOTab, FrequencyBand freqband,
                                               AnsiString as_tx_pcl, double **p_PCL_dBm)
{
    AnsiString  as_SUBBAND_NAME[] =
    {
       "GSM400",
       "GSM850",
       "GSM",
       "DCS",
       "PCS"
    };
    AnsiString  as_sub_tx_pcl;
    AnsiString asFieldName;
    int  i_sub_tx_pcl;

#if 0
    switch( freqband )
    {
        case FrequencyBand850:
        if( ! META_factory_cfg->getGSM850_PCL( as_tx_pcl ) )
        {
            Application->MessageBox( "get GSM850 PCL fail" , "Error", MB_OK );
            return;
        }
        break;

        case FrequencyBand900:
        if( ! META_factory_cfg->getGSM900_PCL( as_tx_pcl ) )
        {
            Application->MessageBox( "get GSM900 PCL fail" , "Error", MB_OK );
            return;
        }
        break;

        case FrequencyBand1800:
        if( ! META_factory_cfg->getDCS1800_PCL( as_tx_pcl ) )
        {
            Application->MessageBox( "get DCS1800 PCL fail" , "Error", MB_OK );
            return;
        }
        break;

        case FrequencyBand1900:
        if( ! META_factory_cfg->getPCS1900_PCL( as_tx_pcl ) )
        {
            Application->MessageBox( "get PCS1900 PCL fail" , "Error", MB_OK );
            return;
        }
        break;

        default:
            assert(false);
        break;
    }
#endif

    int band = FreqBand_To_BandIdx( freqband );
    for(int i=0; i<16; i++)
    {
        if (band == FrequencyBand900 && i==15 )
        {
            continue;
        }

        if (! getAnsiStrSubItem( as_tx_pcl, i+1, DEFAULT_SEP_CHAR, as_sub_tx_pcl) )
        {
            Application->MessageBox( "get PCL sub item fail" , "Error", MB_OK );
            return;
        }
        i_sub_tx_pcl = as_sub_tx_pcl.ToInt();
        asFieldName = as_SUBBAND_NAME[band] + "_PCL" + IntToStr(i_sub_tx_pcl) +"_P";
        p_ADOTab->FieldByName( asFieldName)->AsInteger = p_PCL_dBm[band][i];
    }

}

⌨️ 快捷键说明

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