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

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. * Filename:
  12. * ---------
  13. * meta.h
  14. *
  15. * Project:
  16. * --------
  17. *   META
  18. *
  19. * Description:
  20. * ------------
  21. *   This module contains the definitions for using META_DLL.dll.
  22. *
  23. * Author:
  24. * -------
  25. *  CH Liang (mtk00419)
  26. *
  27. *==============================================================================
  28. *           HISTORY
  29. * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
  30. *------------------------------------------------------------------------------
  31. * $Revision:   1.36  $
  32. * $Modtime:   Jan 16 2006 17:47:32  $
  33. * $Log:   //mtkvs01/vmdata/meta_dll/archives/maui/META_DLL/meta.h-arc  $
  34.  *
  35.  * Feb 22 2008 mtk01569
  36.  * [STP100001642] [Meta] Release MetaDLL_v5.0808.00
  37.  * 
  38.  *
  39.  * Dec 27 2007 mtk01569
  40.  * [STP100001595] [Meta] Release MetaDLL_v5.0752.00
  41.  * 
  42.  *
  43.  * Nov 30 2007 mtk01569
  44.  * [STP100001531] [Meta] Release MetaDLL_v5.7.00
  45.  * 
  46.  *
  47.  * Sep 7 2007 mtk01569
  48.  * [STP100001502] [Meta] Release MetaDLL_v5.6.00
  49.  * 
  50.  *
  51.  * Jul 13 2007 mtk01569
  52.  * [STP100001469] [Meta] Release MetaDLL_v5.5.00
  53.  * 
  54.  *
  55.  * Jun 14 2007 mtk01569
  56.  * [STP100001435] [Meta] Release MetaDLL_v5.3.09
  57.  * 
  58.  *
  59.  * May 17 2007 MTK01569
  60.  * [STP100001394] [Meta] Release MetaDLL_v5.3.08
  61.  * 
  62.  *
  63.  * Apr 20 2007 mtk01370
  64.  * [STP100001370] [META]Release Meta DLL 5.3.07
  65.  * 
  66.  *
  67.  * Feb 6 2007 mtk01370
  68.  * [STP100001303] [META_DLL]V5.3.06
  69.  * 
  70.  *
  71.  * Feb 2 2007 mtk01370
  72.  * [STP100001303] [META_DLL]V5.3.06
  73.  * 
  74.  *
  75.  * Jan 9 2007 mtk01370
  76.  * [STP100001286] [META_DLL]V.5.3.05
  77.  * 
  78.  *
  79.  * Nov 22 2006 mtk01370
  80.  * [STP100001229] [Meta]Release 5.3.04
  81.  * 
  82.  *
  83.  * Nov 2 2006 mtk01370
  84.  * [STP100001193] [META_DLL]V.5.3.03
  85.  * 
  86.  *
  87.  * Oct 11 2006 mtk01370
  88.  * [STP100001168] [META_DLL]V.5.3.02
  89.  * 
  90.  *
  91.  * Sep 27 2006 mtk01370
  92.  * [STP100001158] [Meta] Add NVRAM_r meta handle for parameter
  93.  * 
  94.  *
  95.  * Sep 27 2006 mtk00539
  96.  * [STP100001144] META_DLL v5.3.01
  97.  *  1. [UTIL] Add META_QueryIfTargetIsLowCostSingleBankFlash to query if target is Single-Bank-Flash solution.
  98.  *  2. [UTIL] Add META_GetDLLVer and META_GetDLLInfo to get DLL's build information.
  99.  *  3. [RF] Add META_Rf_GetAfcDacValueAtRTXOffsetCal to get AFC dac value in RTX offset calibration.
  100.  *  4. [FAT] Add META_FAT_RemoveDir to remove directory on FAT.
  101.  * 
  102.  *
  103.  * Sep 11 2006 mtk01370
  104.  * [STP100001140] [MetaDLL]Add BT cancel command and Check maui and DB comparison
  105.  * 
  106.  *
  107.  * Aug 23 2006 mtk01370
  108.  * [STP100001094] [MetaDll] Compose IMEI 14 digit without CheckSum
  109.  * 
  110.  *
  111.  * Aug 18 2006 mtk00539
  112.  * [STP100001063] META_DLL v5.3.00
  113.  * Fix META_EnableWatchDogTimer() always timeout bug.
  114.  *
  115.  * Aug 16 2006 mtk00539
  116.  * [STP100001063] META_DLL v5.3.00
  117.  * Add new function META_GetDLLInfo().
  118.  *
  119.  * Aug 14 2006 mtk00539
  120.  * [STP100001063] META_DLL v5.3.00
  121.  * 
  122.  *
  123.  * Jul 23 2006 mtk00539
  124.  * [STP100001013] META_DLL v5.0.0007
  125.  * 
  126.  *
  127.  * Jul 19 2006 mtk01370
  128.  * [STP100001013] META_DLL v5.0.0007
  129.  * 
  130.  *
  131.  * Jun 8 2006 mtk00539
  132.  * [STP100000916] META_DLL_v5.0.0006
  133.  * 
  134.  *
  135.  * May 29 2006 mtk01370
  136.  * [STP100000885] MetaDll BT and WatchDog
  137.  * 
  138.  *
  139.  * Apr 3 2006 mtk00539
  140.  * [STP100000731] META_DLL v5.0.0004
  141.  *  1. [BT] Add META_BT_QueryModuleID() to query BT module id.
  142.  *  2. [CCT] Add OQC tool related calibration functions
  143.  *  META_CCT_DefectTable_OnOff()
  144.  *  META_CCT_DefectTableBypassAndBackupSetting()
  145.  *  META_CCT_DefectTableRestoreSetting()
  146.  *  META_CCT_AF_OnOff()
  147.  *  META_CCT_AF_LensOffsetCalibration()
  148.  * 
  149.  *
  150.  * Mar 13 2006 mtk00539
  151.  * [STP100000683] [META_DLL][WiFi] Revise MCR, BB and EEPROM read/write functions
  152.  * 
  153.  *
  154.  * Mar 7 2006 mtk00539
  155.  * [STP100000551] [META][CCT] Add defect-pixel calibration functions.
  156.  * 
  157.  *
  158.  * Feb 21 2006 mtk00539
  159.  * [STP100000613] [META][NVRAM] Add META_NVRAM_LockDown() function to lock down NVRAM.
  160.  * 
  161.  *
  162.  * Jan 23 2006 mtk00539
  163.  * [STP100000549] [META][WiFi] Add new functions to query target side WiFi interface.
  164.  * 
  165.  * 
  166.  *    Rev 1.36   Jan 18 2006 18:11:40   mtk00539
  167.  * New features:
  168.  *  1. [CCT] Export META_CCT_ReadReg() and META_CCT_WriteReg() functions.
  169.  *  2. [RF] Merge EDGE calibration functions.
  170.  *  3. [WiFi] Merge WiFi calibration functions.
  171.  *  4. [MONZA] Merge MONZA project calibration functions.
  172.  * Resolution for 160: [META_DLL v5.0.0000]
  173.  * 
  174.  *    Rev 1.35   Dec 29 2005 21:39:56   mtk00539
  175.  *  1. [CCT] Fast capture via USB.
  176.  * Resolution for 157: [META_DLL v3.7.0010][New][CCT] Fast capture via USB.
  177.  * 
  178.  *    Rev 1.34   Nov 18 2005 10:21:54   mtk00539
  179.  *  1. [L1AUD][Enhance] New software architecture for DSP's Speech Enhancement functions.
  180.  *  2. [CCT][New] Add ISP shading and auto-defect compensation.
  181.  * Resolution for 148: [META_DLL v3.7.0008][L1AUD][Enhance] New software architecture for DSP's Speech Enhancement functions.
  182.  * 
  183.  *    Rev 1.33   Nov 01 2005 10:20:54   mtk00539
  184.  *  1. [CCT][New] Add sensor engineer mode parameter read/write functions.
  185.  * Resolution for 146: [META_DLL v3.7.0007][CCT][New] Add sensor engineer mode parameter read/write functions.
  186.  * 
  187.  *    Rev 1.32   Oct 18 2005 16:35:06   mtk00539
  188.  *  1. [RF][New] Add Skyworks 74117 RF module support.
  189.  * Resolution for 139: [META_DLL v3.7.0006][RF][New] Add Skyworks 74117 RF module support.
  190.  * 
  191.  *    Rev 1.31   Aug 10 2005 13:31:24   mtk00539
  192.  *  1. [CCT][New] Add META_QueryIfTargetSupportISP() function.
  193.  *  2. [CCT][New] Add new CCT_VAR_TO_K tag.
  194.  *  3. [CCT][New] Add META_CCT_GetGammaTable(), META_CCT_SetGammaTable() functions.
  195.  * Resolution for 126: [META_DLL v3.7.0003][New] Support MT6229 and MT6227 ISP.
  196.  * 
  197.  *    Rev 1.30   Jun 17 2005 17:09:54   mtk00539
  198.  *  1. [CCT][New] Add META_CCT_MainLCDBackLight_TurnOn() and META_CCT_MainLCDBackLight_TurnOff(). 
  199.  *  2. [CCT][New] Add META_CCT_GetBandingFactor().
  200.  *  3. [CCT][New] Add META_CCT_GetSensorPregain() and META_CCT_SetSensorPregain().
  201.  *  4. [RF][IP2] Add META_Rf_GetRFID(), META_Rf_SetRFImmediateBSI() and META_Rf_GetRFImmediateBSI().
  202.  *  5. [RF][IP2] Add META_Rf_SKY74045_SetSpecialCoef(), META_Rf_MT6139B_SetSpecialCoef() and META_Rf_BRIGHT5P_SetSpecialCoef().
  203.  *  6. Increase META_MAX_CONCURRENT_THREADS to 32.
  204.  * Resolution for 120: [META_DLL v3.7.0001][CCT][New] Add CCT for SOP new functions.
  205.  * 
  206.  *    Rev 1.29   May 24 2005 22:36:26   mtk00539
  207.  *  1. [NVRAM][New] Add META_NVRAM_ResetToFactoryDefault() to reset NVRAM to factory default setting. 
  208.  *  2. [RF][New] Add META_Rf_QueryIfTwoApcDCOffsetSupport() to query if two APC DC offset supported in target.
  209.  *  3. [New] Add callback function in META_ConnectWithTarget() to do extra process after BootROM start command passed.
  210.  * Resolution for 114: [META_DLL v3.7.0000][NVRAM][New] Add META_NVRAM_ResetToFactoryDefault() to reset NVRAM to factory default setting.
  211.  * 
  212.  *    Rev 1.28   Apr 18 2005 09:44:08   mtk00539
  213.  *  1. [New] Add META_CancelAllBlockingCall(): CCT and all the reset of APIs share the same cancel event.
  214.  *  2. [New] Add META_QueryIfFunctionSupportedByTarget() to query whether if the function is supported in target side.
  215.  *  3. [New] Add META_BaudrateEnumToName() to translate META baudrate enum to string.
  216.  *  4. [New] Add META_ConnectInMetaMode() and META_DisconnectInMetaMode() to skip BootROM and connect with target which is already in META mode.
  217.  *  5. [Enhance] Reduce max threads from 16 to 4 to increase META_DLL initialization speed.
  218.  *  6. [Enhance] Modify DecodeST module to report error from callback function.
  219.  *  7. [RF][New] Add META_Rf_QueryMSCapability() to query target's RF bands and GSM/GPRS/EDGE capability.
  220.  *  8. [RF][New] Add META_Rf_SetAfcSinWaveDetection() to allow sin wave input while doing AFC calibration.
  221.  *  9. [RF][New] Add META_Rf_SetRampTable() to modify ramp table without updating NVRAM.
  222.  * 10. [CCT][New] Add new capture APIs, META_CCT_SingleShotCaptureEx() and META_CCT_MultiShotCaptureEx().
  223.  * 11. [CCT][Enhance] Change CCT_VAR_ATTR to only three category RW, RO and WO.
  224.  * 12. [CCT][Enhance] Add bNoConfirm flag to ignore confirm in META_CCT_ResumeAeAwbPreviewFromUnfinishedCapture().
  225.  * 13. [CCT][BUG FIX] Fix META_CCT_CaptureEx() memory heap access violation problem.
  226.  * Resolution for 111: [META_DLL v3.6.0000] New RF APIs and CCT bug fixs.
  227.  * 
  228.  *    Rev 1.27   Dec 15 2004 17:45:40   mtk00539
  229.  * modify baudrate enum META_BAUD56000 to META_BAUD57600
  230.  * Resolution for 101: [META_DLL v3.5.0602][Enhance] Reset p_imeisv->imei to zero in META_NVRAM_Decompose_IMEISV().
  231.  * 
  232.  *    Rev 1.26   Dec 15 2004 14:49:42   mtk00539
  233.  * [Enhance] Enhance Compose/Decompose IMEI string.
  234.  * Resolution for 101: [META_DLL v3.5.0602][Enhance] Reset p_imeisv->imei to zero in META_NVRAM_Decompose_IMEISV().
  235.  * 
  236.  *    Rev 1.25   Dec 13 2004 12:00:40   mtk00539
  237.  *  1. [Enhance] Reset p_imeisv->imei to zero in META_NVRAM_Decompose_IMEISV() to prevent incorrect stored value.
  238.  *  2. [New] Add FAT Quota-Management return value.
  239.  * Resolution for 101: [META_DLL v3.5.0602][Enhance] Reset p_imeisv->imei to zero in META_NVRAM_Decompose_IMEISV().
  240.  * 
  241.  *    Rev 1.24   Nov 01 2004 09:35:20   mtk00539
  242.  *  1. [RF][New] Calibration of TXOffsetI/Q, TrimI/Q and TXgain on META mdoe.
  243.  *  2. [New] Adapt BROM_DLL v2.4.1006 for base band chip auto-detection.
  244.  * Resolution for 95: [META_DLL v3.5.0600][New] Calibration of TXOffsetI/Q, TrimI/Q and TXgain on META mdoe.
  245.  * 
  246.  *    Rev 1.23   Aug 17 2004 14:52:52   mtk00539
  247.  *  1. [CCT][New] Add set/get manual shutter functions.
  248.  *  2. [CCT][New] Add META_CCT_GenCameraParaTable to dynamically generate camera_para struct default values.
  249.  *  3. [RF][New] Add META_Rf_SetCrystalCapId API to setup crystal cap_id directly without update NVRAM.
  250.  * Resolution for 85: [META_DLL v3.5.0500][New] Add CCT & RF new functions.
  251.  * 
  252.  *    Rev 1.22   Aug 04 2004 12:03:40   mtk00539
  253.  *  1. [BUG FIX] Use PulseEvent to signal cancel event instead of SetEvent, so that the cancel state won't keep signal and cause next CCT command skip.
  254.  *  2. [BUG FIX] Not only disable unreferenced registers but also disable unreferenced variables in CCT_RegDB::EnableDevice().
  255.  *  3. [BUG FIX] Only return the enabled device id in META_CCT_GetDeviceIds().
  256.  *  4. [BUG FIX] Only count the enabled variables in META_CCT_GetNumOfVar().
  257.  * Resolution for 80: [META_DLL v3.5.0401][BUG FIX] Fix CCT cancel event problem.
  258.  * 
  259.  *    Rev 1.21   Jun 23 2004 10:55:46   mtk00539
  260.  * [Enhance] Add BootROM timeout argument in META_ConnectWithTarget function.
  261.  * 
  262.  *    Rev 1.20   Jun 21 2004 09:42:00   mtk00539
  263.  *  1. [New] add new BBTXCFG command.
  264.  *  2. [New] additional 8k speech output FIR in normal mode.
  265.  *  3. [Enhance] add callback lock to prevent callback and cancel race-condition.
  266.  * Resolution for 79: [META_DLL v3.5.04][New] add new BBTXCFG command and additional 8k speech output FIR in normal mode.
  267.  * 
  268.  *    Rev 1.19   May 28 2004 21:19:38   mtk00539
  269.  * 1. [New] Add AE initial shutter command.
  270.  * 2. [New] Send twice cancel primitive to target, because in FT task, canceling capture detection is no longer by checking if msg queue is empty, instead of checking if msg queue is increasing.
  271.  * 3. [BUG FIX] Fix race-condition when capture was canceled, uninstall capture callback before leaving m_CCT_Confirm_Lock.
  272.  * 4. [Enhance] Change enum type to unsigned type.
  273.  * 5. [Enhance] Modify white-balance interface for more meaningful.
  274.  * Resolution for 66: [META_DLL v3.5.03][New] add camera calibration.
  275.  * 
  276.  *    Rev 1.18   Apr 28 2004 11:47:22   mtk00539
  277.  *  1. [New] add camera calibration function.
  278.  *  2. [New] add META_ConnectWithTarget and META_DisconnectWithTarget for easier usage of target boot up.
  279.  * Resolution for 66: [META_DLL v3.5.03][New] add camera calibration.
  280.  * 
  281.  *    Rev 1.17   Mar 29 2004 21:36:02   mtk00539
  282.  * Check data type in GetMemberValue
  283.  * Resolution for 63: [META_DLL v3.5.02][New] add FIR for WB-AMR and 64 tone polyphony.
  284.  * 
  285.  *    Rev 1.16   Mar 29 2004 09:59:10   mtk00539
  286.  *  1. [New] add FIR for WB-AMR and 64 tone polyphony.
  287.  *  2. [New] Add FAT get disk info command so that users can retrieve total size and free space from any drive you specify.
  288.  * Resolution for 63: [META_DLL v3.5.02][New] add FIR for WB-AMR and 64 tone polyphony.
  289.  * 
  290.  *    Rev 1.15   Mar 19 2004 18:54:54   mtk00539
  291.  *  1. [Enhance] Extend all FAT APIs timeout to 120 seconds.
  292.  *  2. [BUG FIX] change func() to func(void) to fix header file compatibility for LabView.
  293.  *  3. [BUG FIX] set default value to zero in GetMemberValue().
  294.  * Resolution for 62: [META_DLL v3.5.01][Enhance] Extend all FAT APIs timeout to 120 seconds.
  295.  * 
  296.  *    Rev 1.14   Mar 12 2004 19:52:28   mtk00539
  297.  * [META_DLL v3.5.00][New]
  298.  *  1. [BUG FIX] Fix FAT unicode filename issue.
  299.  *  2. [Enhance] Extend FAT delete/read/write timeout to 120 seconds.
  300.  *  3. [Enhance] Extend max concurrent handle to 16.
  301.  *  4. [New] Add APC temperature compensation.
  302.  *  5. [New] Add Power off command.
  303.  *  6. [New] Add META_DLL version sync command.
  304.  *  7. [New] Move out the calibration structure definition from InternalDB, they will be imported by NVRAM database.
  305.  *  8. [New] Change MP3 play interface to MEDIA play interface.
  306.  * Resolution for 60: [META_DLL v3.5.00][New] Add APC temperature compensation and so on.
  307.  * 
  308.  *    Rev 1.13   Feb 07 2004 01:04:00   mtk00539
  309.  * [META_DLL][New] Add new api for custom acoustic volume compose/decompose function
  310.  * Resolution for 48: [META_DLL v3.4.1003][New] Add new api for custom acoustic volume compose/decompose function
  311.  * 
  312.  *    Rev 1.12   Jan 18 2004 17:22:22   mtk00539
  313.  *  1. [New] Agilent requests for a multithread safe META_DLL that use concurrently open different comp ports.
  314.  *  2. [New] merge new CatcherTran.
  315.  *  3. [RF][New] add set afc dac value api.
  316.  * Resolution for 44: [META_DLL v3.4.1002][New] Modify for multithread safe.
  317.  * 
  318.  *    Rev 1.11   Dec 03 2003 16:52:44   mtk00539
  319.  * Add META_NVRAM_SWC_Enable_ForceUpgrade and META_NVRAM_SWC_Disable_ForceUpgrade
  320.  * Resolution for 38: [META_DLL v3.4.1001][New] NVRAM S/W change support.
  321.  * 
  322.  *    Rev 1.10   Nov 28 2003 23:09:18   mtk00539
  323.  * [New] NVRAM S/W change mechanism.
  324.  * Resolution for 38: [META_DLL v3.4.1001][New] NVRAM S/W change support.
  325.  * 
  326.  *    Rev 1.9   Nov 18 2003 13:45:08   mtk00539
  327.  * [BUG FIX] Sync NVRAM_EF_AUDIO_PARAM_LID struct after 0339
  328.  * Resolution for 32: [META_DLL v3.3.1001][New] See the details below.
  329.  * 
  330.  *    Rev 1.8   Oct 23 2003 23:01:30   mtk00539
  331.  * add new return value in case of FAT find not found.
  332.  * Resolution for 32: [META_DLL v3.3.1001][New] See the details below.
  333.  * 
  334.  *    Rev 1.7   Oct 21 2003 18:56:26   mtk00539
  335.  * 1. add META_WaitForTargetReady api.
  336.  * 2. add META_SetSysTraceCallback api for gather assert info.
  337.  * 3. add ok flag in pm and afc result.
  338.  * Resolution for 32: [META_DLL v3.3.1001][New] See the details below.
  339.  * 
  340.  *    Rev 1.6   Sep 26 2003 17:03:30   mtk00539
  341.  * 1. [NVRAM] Add META_NVRAM_Calculate_IMEI_Spare function.
  342.  * 2. [NVRAM] Modify META_NVRAM_Compose_IMEISV function to automatically calculate spare digit.
  343.  * Resolution for 30: [META_DLL v3.2.1002][Add Feature] Add META_NVRAM_Calculate_IMEI_Spare function.
  344.  * 
  345.  *    Rev 1.5   Sep 18 2003 10:45:32   mtk00539
  346.  * extend com port number
  347.  * Resolution for 27: [META_DLL v3.2.1001][New] Adapt new CatcherTran database format
  348.  * 
  349.  *    Rev 1.4   Sep 02 2003 14:52:04   mtk00539
  350.  * 1. [AUDIO] Switch audio testing to L4AUD instead of L1Audio.
  351.  * 2. [FAT] Add MOVE, DELETE and FIND function for FAT operation.
  352.  * 3. [RF] Add new api META_Rf_SetRampApcLevel().
  353.  * 4. [NVRAM] Add IMEISV and L1audio parameter compose/decompose functions.
  354.  * 5. Enlarge VerInfo_Cnf member.
  355.  * Resolution for 26: [META_DLL v3.1.1001][Add Feature] See the reasons below.
  356.  * 
  357.  *    Rev 1.3   Aug 03 2003 13:34:14   mtk00539
  358.  * 1. UART S/W flow control support.
  359.  * 2. FAT operation.
  360.  * 3. GPRS MultiSlot TX and InterRamp calibration data.
  361.  * 4. Crystal calibration data.
  362.  * 5. Target S/W, H/W and Melody version retrieval.
  363.  * 6. Runtime debug log turn on/off in both release and debug version of DLL.
  364.  * 7. [BUG FIX] Fix META_GetVersion() memory leak.
  365.  * 8. [Enhance] Fixed ordinal number of each APIs META_DLL.dll exported.
  366.  * Resolution for 23: [META_DLL v3.0.1001][AddFeature] S/W flow control support, FAT Read/Write, GPRS MultiSlot TX and Crystal Calibration Data, and bug fixed.
  367.  * 
  368.  *    Rev 1.2   May 20 2003 15:21:44   mtk00539
  369.  * modify for new interface for VB
  370.  * Resolution for 5: [META_DLL v2.2][AddFeature] Modify META_DLL for both C/C++ and VB support.
  371.  * 
  372.  *    Rev 1.1   Apr 01 2003 09:42:36   mtk00539
  373.  * 1. add description for error code
  374.  * 2. BUG: change RfTestResultAfc.fcb_ok to RfTestResultAfc.fcb_ok_number
  375.  * 3. add NVRAM Editor relative APIs.
  376.  * 4. add L1SP audio coefficient compose/decompose APIs
  377.  * 5. change baseband status from kal_bool to kal_uint8
  378.  * 6. change enum META_ERR_CODE to META_CNF_ERR_CODE.
  379.  * 7. use unsigned char instead of BOOL.
  380.  * 8. BUG: fix type inconsistent with primitive.sel
  381.  * 9. export CatcherTran pointer instead of InternalDB for META_NVRAM_Init()
  382.  * 10. add META_NVRAM_SetRecFieldBitValue() and META_NVRAM_GetRecFieldBitValue().
  383.  * Resolution for 3: [META_DLL v2.0][AddFeature] Add new features for META_DLL v2.0
  384.  * 
  385.  *    Rev 1.0   Feb 25 2003 13:24:20   admin
  386.  * Initial revision.
  387. *
  388. *------------------------------------------------------------------------------
  389. * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
  390. *==============================================================================
  391. *******************************************************************************/
  392. #ifndef META_DLL_H
  393. #define META_DLL_H
  394. #include "brom.h"
  395. #ifdef __cplusplus
  396. extern "C" {
  397. #endif
  398. //--------------------------------------------------------------------------//
  399. //  META General                                                            //
  400. //--------------------------------------------------------------------------//
  401. //-----------------------------------------------------//
  402. //  META General: data structure definition            //
  403. //-----------------------------------------------------//
  404. typedef enum
  405. {
  406. // META_DLL received a corrupted frame
  407. META_CNF_FRAME_ERROR = 0,
  408. // META_DLL received a confirm or indication from target,
  409. // but there is not corresponding call back function
  410. // installed for this confirm or indication.
  411. META_CNF_NO_CALLBACK = 1,
  412. // META_DLL received a corrupted primitive.
  413. META_CNF_PRIMITIVE_ERROR = 2,
  414. // META_DLL received a confirm or indication from
  415. // target, but there is no sufficient memory to process.
  416. META_CNF_NO_MEMORY = 3,
  417. // META_DLL retrieved a callback function, however,
  418. // the user input arguments are invalid.
  419. META_CNF_CALLBACK_PARAMETER_ERROR = 4,
  420. // META_DLL received a confirm with peer msg, however,
  421. // the peer msg is corrupted.
  422. META_CNF_PEER_MSG_ERROR = 5,
  423. // META_DLL received a confirm and successfully executed
  424. // the callback function.
  425. META_CNF_OK = 6
  426. } META_CNF_ERR_CODE;
  427. // The magic value to stop usb enumerate process 
  428. #define ENUM_USB_STOP 9876
  429. typedef enum
  430. {
  431. META_SUCCESS = 0
  432. ,META_FAILED
  433. ,META_COMM_FAIL
  434. ,META_NORESPONSE
  435. ,META_BUFFER_LEN
  436. ,META_FILE_BAD
  437. ,META_LID_INVALID
  438. ,META_INTERNAL_DB_ERR
  439. ,META_NO_MEMORY
  440. ,META_INVALID_ARGUMENTS
  441. ,META_TIMEOUT
  442. ,META_BUSY
  443. ,META_INVALID_HANDLE
  444. ,META_FAT_ERROR
  445. ,META_FAT_DISK_FULL
  446. ,META_FAT_ROOT_DIR_FULL
  447. ,META_FAT_INVALID_FILENAME
  448. ,META_FAT_INVALID_FILE_HANDLE
  449. ,META_FAT_FILE_NOT_FOUND
  450. ,META_FAT_DRIVE_NOT_FOUND
  451. ,META_FAT_PATH_NOT_FOUND
  452. ,META_FAT_ACCESS_DENIED
  453. ,META_FAT_TOO_MANY_FILES
  454. ,META_INCORRECT_TARGET_VER
  455. ,META_COM_ERROR
  456. ,META_BROM_CMD_ERROR
  457. ,META_INCORRECT_BBCHIP_TYPE
  458. ,META_BROM_ERROR
  459. ,META_STOP_BOOTUP_PROCEDURE
  460. ,META_CANCEL
  461. ,META_CCT_NOT_IMPORT_PROFILE
  462. ,META_CCT_INVALID_SENSOR_ID
  463. ,META_CCT_TGT_NO_MEM_FOR_SINGLE_SHOT
  464. ,META_CCT_TGT_NO_MEM_FOR_MULTI_SHOT
  465. ,META_FUNC_NOT_IMPLEMENT_YET
  466. ,META_CCT_NOT_IMPLEMENT_YET = META_FUNC_NOT_IMPLEMENT_YET
  467. ,META_CCT_PREVIEW_ALREADY_STARTED
  468. ,META_CCT_PREVIEW_ALREADY_STOPPED
  469. ,META_CCT_READ_REG_NO_CNF
  470. ,META_CCT_WRITE_REG_NO_CNF
  471. ,META_CCT_TGT_ABORT_IMAGE_SENDING
  472. ,META_CCT_READ_ONLY_REGISTER
  473. ,META_CCT_LOAD_FROM_NVRAM_FAIL
  474. ,META_CCT_SAVE_TO_NVRAM_FAIL
  475. ,META_CCT_AE_INVALID_EC_LEVEL
  476. ,META_CCT_AE_INVALID_EC_STEP
  477. ,META_CCT_AE_ALREADY_ENABLED
  478. ,META_CCT_AE_ALREADY_DISABLED
  479. ,META_CCT_WB_INVALID_INDEX
  480. ,META_CCT_NO_TGT_SENSOR_MATCH_IN_PROFILE
  481. ,META_CCT_IMAGE_SENDING_FAME_NUM_ERROR
  482. ,META_CCT_AE_IS_NOT_DISABLED
  483. ,META_FAT_APP_QUOTA_FULL
  484. ,META_IMEI_CD_ERROR
  485. ,META_RFID_MISMATCH
  486. ,META_NVRAM_DB_IS_NOT_LOADED_YET
  487. ,META_CCT_ERR_CAPTURE_WIDTH_HEIGHT_TOO_SMALL
  488. ,META_WAIT_FOR_TARGET_READY_TIMEOUT
  489. ,META_CCT_ERR_SENSOR_ENG_SET_INVALID_VALUE
  490. ,META_CCT_ERR_SENSOR_ENG_GROUP_NOT_EXIST
  491. ,META_CCT_NO_TGT_ISP_MATCH_IN_PROFILE
  492. ,META_CCT_TGT_ISP_SUPPORT_NOT_DEFINED
  493. ,META_CCT_ERR_SENSOR_ENG_ITEM_NOT_EXIST
  494. ,META_CCT_ERR_INVALID_COMPENSATION_MODE
  495. ,META_CCT_ERR_USB_COM_NOT_READY
  496. ,META_CCT_DEFECTPIXEL_CAL_UNDER_PROCESSING
  497. ,META_CCT_ERR_DEFECTPIXEL_CAL_NO_MEM
  498. ,META_CCT_ERR_TOO_MANY_DEFECT_PIXEL
  499. ,META_CCT_ERR_CAPTURE_JPEG_FAIL
  500. ,META_CCT_ERR_CAPTURE_JPEG_TIMEOUT
  501. ,META_CCT_ERR_AF_FAIL
  502. ,META_CCT_ERR_AF_TIMEOUT
  503. ,META_CCT_ERR_AF_LENS_OFFSET_CAL_FAIL
  504. ,META_CCT_ERR_PREVIEW_MUST_ENABLE
  505. ,META_CCT_ERR_UNSUPPORT_CAPTURE_FORMAT
  506. ,META_CCT_ERR_EXCEED_MAX_DEFECT_PIXEL
  507. ,META_ERR_EXCEED_MAX_PEER_BUF_SIZE
  508. ,META_CCT_ERR_INVALID_WIDTH_FACTOR
  509. ,META_BROM_SECURITY_CHECK_FAIL
  510. ,META_CCT_ERR_PREVIEW_MUST_DISABLE
  511. ,META_MAUI_DB_INCONSISTENT
  512. ,META_FAT_FILEPATH_TOO_LONG
  513. ,META_FAT_RESTRICTED_FILEPATH
  514. ,META_FAT_DIR_NOT_EXIST
  515. ,META_FAT_DISK_SPACE_IS_NOT_ENOUGH
  516. ,META_TDMB_ERR_BAND_NOT_EXIST
  517. ,META_TDMB_ERR_FREQ_NOT_EXIST
  518. ,META_TDMB_ERR_ENSM_NOT_EXIST
  519. ,META_TDMB_ERR_SERV_NOT_EXIST
  520. ,META_TDMB_ERR_SUB_CHAN_NOT_EXIST
  521. ,META_TDMB_ERR_DEMOD_STATE
  522. ,META_PERMISSION_DENIED
  523. ,META_ENUMERATE_USB_FAIL
  524.     ,META_STOP_ENUM_USB_PROCEDURE
  525. ,META_LAST_RESULT
  526. } META_RESULT;
  527. typedef enum  {
  528. META_BAUD2400 = 0,
  529. META_BAUD4800,
  530. META_BAUD9600,
  531. META_BAUD14400,
  532. META_BAUD19200,
  533. META_BAUD57600,
  534. META_BAUD115200,
  535. META_BAUD230400,
  536. META_BAUD460800,
  537. META_BAUD921600,
  538. META_BAUD_END = 0xFF
  539. } META_COMM_BAUDRATE;
  540. typedef enum {
  541. META_NO_FLOWCTRL = 0, // no flow control
  542. META_SW_FLOWCTRL, // enable S/W flow control
  543. META_FLOWCTRL_END
  544. } META_FLOWCTRL;
  545. typedef struct {
  546. char BB_CHIP[64]; // BaseBand chip version
  547. char ECO_VER[4]; // ECO version
  548. char DSP_FW[64]; // DSP firmware version
  549. char DSP_PATCH[64]; // DSP patch version
  550. char SW_VER[64]; // S/W version
  551. char HW_VER[64]; // H/W board version
  552. char MELODY_VER[64]; // Melody version
  553. } VerInfo_Cnf;
  554. typedef struct
  555. {
  556. unsigned short      com_port_list[255];   
  557. unsigned short      com_port_num;
  558. unsigned int ms_connect_timeout; // [META] META enumerate port timeout value 
  559. }META_Enumerate_USB_Req;
  560. typedef struct {
  561. int  com_port;
  562. META_COMM_BAUDRATE  baudrate[11]; // [META] META stage baudrate polling array, it must end with META_BAUD_END. 
  563. META_FLOWCTRL   flowctrl; // [META] META stage uart flow control type. 
  564. BOOT_META_ARG boot_meta_arg; // [BootROM] please refer to brom.h 
  565. unsigned int ms_connect_timeout; // [META] META stage sync timeout value (after BootROM negotiation pass) 
  566. } META_Connect_Req;
  567. typedef struct {
  568. META_COMM_BAUDRATE  final_baudrate; // [META] Detected META stage baudrate.     
  569. unsigned int meta_ver_required_by_target; // [META] Target required META_DLL version. 
  570. BOOT_RESULT boot_result; // [BootROM] boot-up result. 
  571. STATUS_E boot_meta_ret; // [BROM_DLL] The return code of Boot_META function. 
  572. } META_Connect_Report;
  573. typedef struct {
  574. int  com_port;
  575. BOOT_META_ARG boot_meta_arg; // [BootROM] please refer to brom.h 
  576. unsigned int ms_connect_timeout; // [META] META stage sync timeout value (after BootROM negotiation pass) 
  577. } META_ConnectByUSB_Req;
  578. typedef struct {
  579. unsigned int meta_ver_required_by_target; // [META] Target required META_DLL version. 
  580. BOOT_RESULT boot_result; // [BootROM] boot-up result. 
  581. STATUS_E boot_meta_ret; // [BROM_DLL] The return code of Boot_META function. 
  582. } META_ConnectByUSB_Report;
  583. typedef struct {
  584. int  com_port;
  585. META_COMM_BAUDRATE  baudrate[11]; // [META] META stage baudrate polling array, it must end with META_BAUD_END. 
  586. META_FLOWCTRL   flowctrl; // [META] META stage uart flow control type. 
  587. unsigned int ms_connect_timeout; // [META] META stage sync timeout value (after BootROM negotiation pass) 
  588. } META_ConnectInMETA_Req;
  589. typedef struct {
  590. META_COMM_BAUDRATE  final_baudrate; // [META] Detected META stage baudrate. 
  591. unsigned int meta_ver_required_by_target; // [META] Target required META_DLL version. 
  592. } META_ConnectInMETA_Report;
  593. //-----------------------------------------------------//
  594. //  META General: callback function definition         //
  595. //-----------------------------------------------------//
  596. typedef void (__stdcall *META_Error_CallBack)(const META_CNF_ERR_CODE  mr);
  597. typedef void (__stdcall *META_SysTrace_CallBack)(const char *sys_trace);
  598. typedef void (__stdcall *META_GET_VERSION_INFO_CNF)(const VerInfo_Cnf  *cnf, const short token, void *usrData);
  599. //-----------------------------------------------------//
  600. //  META for CTI                                       //
  601. //-----------------------------------------------------//
  602. typedef enum {
  603.  CTI_OK = 0
  604. ,CTI_MISSING_HEADER
  605. ,CTI_CORRUPTED_FAME
  606. ,CTI_EXCEED_LEN
  607. } CTI_RET_ENUM;
  608. typedef void (__stdcall *META_CTI_CallBack)(CTI_RET_ENUM  ret, const int size, const unsigned char *data, void *param);
  609. META_RESULT  __stdcall META_CTI_SendPacketCmd(const unsigned char *pPayLoadBuffer, int nPayloadLength);
  610. META_RESULT  __stdcall META_CTI_SendPacketCmd_r(const int meta_handle, const unsigned char *pPayLoadBuffer, int nPayloadLength);
  611. META_RESULT  __stdcall META_CTI_SetPacketCallback(META_CTI_CallBack  pCBFunc, void* param);
  612. META_RESULT  __stdcall META_CTI_SetPacketCallback_r(const int meta_handle, META_CTI_CallBack  pCBFunc, void* param);
  613. //-----------------------------------------------------//
  614. //  Switch TST message format                          //
  615. //-----------------------------------------------------//
  616. typedef enum {
  617. META_TST_MSG_2G = 0,
  618. META_TST_MSG_3G
  619. } META_TST_MSG_FORMAT;
  620. META_RESULT  __stdcall META_SetTstMsgFormat(META_TST_MSG_FORMAT  msg_fmt);
  621. META_RESULT  __stdcall META_SetTstMsgFormat_r(const int meta_handle, META_TST_MSG_FORMAT  msg_fmt);
  622. //-----------------------------------------------------//
  623. //  META Debug: exported debug function definition     //
  624. //-----------------------------------------------------//
  625. META_RESULT  __stdcall META_DebugOn();
  626. META_RESULT  __stdcall META_DebugOn_ex(const int meta_handle);
  627. META_RESULT  __stdcall META_DebugOff();
  628. META_RESULT  __stdcall META_DebugClear();
  629. //-----------------------------------------------------//
  630. //  META UnitTest                                      //
  631. //-----------------------------------------------------//
  632. typedef struct {
  633. unsigned int m_TestCaseID;
  634. const char * m_pDescription;
  635. } META_UT_TestCaseID_T;
  636. void __stdcall META_QueryTestCase(META_UT_TestCaseID_T  **ppTestCase, unsigned int  *pTestCaseCount);
  637. void __stdcall META_UnitTest(const unsigned int  *p_TestCaseID_Array, unsigned int  TestCaseCount);
  638. //-----------------------------------------------------//
  639. //  META General: exported function definition         //
  640. //-----------------------------------------------------//
  641. #define     FT_MT_UNKNOWN  0
  642. #define     FT_MT6305  1
  643. #define     FT_MT6318  2 
  644. typedef struct {
  645. unsigned char id;
  646. } PMIC_ID;
  647. typedef struct {
  648. unsigned int pcl;
  649. } RF_GetITC_PCL;
  650. // General 
  651. void  __stdcall META_GetDLLVer(unsigned int *major_ver, unsigned int *minor_ver, unsigned int *build_num, unsigned int *patch_num);
  652. void  __stdcall META_GetDLLInfo(const char **pp_version, const char **pp_release_type, const char **pp_build_date, const char **pp_load_path);
  653. void  __stdcall META_Cancel(const short token);
  654. void  __stdcall META_Cancel_r(const int meta_handle, const short token);
  655. void  __stdcall META_CancelAllBlockingCall(void);
  656. void  __stdcall META_CancelAllBlockingCall_r(const int meta_handle);
  657. META_RESULT  __stdcall META_QueryIfFunctionSupportedByTarget(unsigned int ms_timeout, const char *query_func_name);
  658. META_RESULT  __stdcall META_QueryIfFunctionSupportedByTarget_r(const int meta_handle, unsigned int ms_timeout, const char *query_func_name);
  659. META_RESULT  __stdcall META_QueryIfTargetSupportISP(unsigned int ms_timeout);
  660. META_RESULT  __stdcall META_QueryIfTargetSupportISP_r(const int meta_handle, unsigned int ms_timeout);
  661. META_RESULT  __stdcall META_QueryIfTargetSupportAcoustic16level(unsigned int ms_timeout);
  662. META_RESULT  __stdcall META_QueryIfTargetSupportAcoustic16level_r(const int meta_handle, unsigned int ms_timeout);
  663. META_RESULT  __stdcall META_QueryIfTargetSupportAudioParam45Tap(unsigned int ms_timeout);
  664. META_RESULT  __stdcall META_QueryIfTargetSupportAudioParam45Tap_r(const int meta_handle, unsigned int ms_timeout);
  665. META_RESULT  __stdcall META_QueryIfTargetIsLowCostSingleBankFlash(unsigned int ms_timeout);
  666. META_RESULT  __stdcall META_QueryIfTargetIsLowCostSingleBankFlash_r(const int meta_handle, unsigned int ms_timeout);
  667. META_RESULT  __stdcall META_QueryPMICID(unsigned int  ms_timeout, PMIC_ID  *cnf);
  668. META_RESULT  __stdcall META_QueryPMICID_r(const int meta_handle, unsigned int  ms_timeout, PMIC_ID  *cnf);
  669. META_RESULT  __stdcall META_BTPowerOn(unsigned int ms_timeout);
  670. META_RESULT  __stdcall META_BTPowerOn_r(const int meta_handle, unsigned int ms_timeout);
  671. META_RESULT  __stdcall META_QueryIfTargetSupportWifiALC(unsigned int ms_timeout);
  672. META_RESULT  __stdcall META_QueryIfTargetSupportWifiALC_r(const int meta_handle, unsigned int ms_timeout);
  673. META_RESULT  __stdcall META_QueryITC_PCL(unsigned int  ms_timeout, RF_GetITC_PCL  *cnf);
  674. META_RESULT  __stdcall META_QueryITC_PCL_r(const int meta_handle, unsigned int  ms_timeout, RF_GetITC_PCL  *cnf);
  675. META_RESULT  __stdcall META_QueryIfTargetSupportDRC(unsigned int ms_timeout);
  676. META_RESULT  __stdcall META_QueryIfTargetSupportDRC_r(const int meta_handle, unsigned int ms_timeout);
  677. META_RESULT  __stdcall META_QueryIfBTPowerOn(unsigned int ms_timeout);
  678. META_RESULT  __stdcall META_QueryIfBTPowerOn_r(const int meta_handle, unsigned int ms_timeout);
  679. //-----------------------------------------------------//
  680. //  UTILITY--ENABLE WATCHDOG            //
  681. //-----------------------------------------------------//
  682. #define GPIO_DEV_LED_MAINLCD 0
  683. //#define GPIO_DEV_LED_SUBLCD 1
  684. typedef struct {
  685. unsigned int ms_timeout_interval;
  686. } FtWatchDog;
  687. typedef struct {
  688. unsigned char led_light_level;
  689. } FtLEDLevel;
  690. typedef struct {
  691. unsigned char lcd_type;
  692. unsigned char lcd_light_level;
  693. } FtLCDLevel;
  694. typedef struct {
  695. unsigned char onoff;
  696. } FtVibratorOnOff;
  697. typedef struct {
  698. unsigned char m_rtc_sec;    /* seconds after the minute   - [0,59]  */
  699. unsigned char m_rtc_min;    /* minutes after the hour     - [0,59]  */
  700. unsigned char m_rtc_hour;   /* hours after the midnight   - [0,23]  */
  701. unsigned char m_rtc_day;    /* day of the month           - [1,31]  */
  702. unsigned char m_rtc_mon;    /* months                 - [1,12] */
  703. unsigned char m_rtc_wday;   /* days in a week        - [1,7] */
  704. unsigned char m_rtc_year; 
  705. } T_Rtc;
  706. META_RESULT  __stdcall META_EnableWatchDogTimer(unsigned int ms_timeout, FtWatchDog *req);
  707. META_RESULT  __stdcall META_EnableWatchDogTimer_r(const int meta_handle, unsigned int ms_timeout, FtWatchDog *req);
  708. META_RESULT  __stdcall META_SetLEDLightLevel(unsigned int ms_timeout, FtLEDLevel *req);
  709. META_RESULT  __stdcall META_SetLEDLightLevel_r(const int meta_handle, unsigned int ms_timeout, FtLEDLevel *req);
  710. META_RESULT  __stdcall META_SetVibratorOnOff(unsigned int ms_timeout, FtVibratorOnOff *req);
  711. META_RESULT  __stdcall META_SetVibratorOnOff_r(const int meta_handle, unsigned int ms_timeout, FtVibratorOnOff *req);
  712. META_RESULT  __stdcall META_QueryLocalTime(unsigned int  ms_timeout, T_Rtc  *cnf);
  713. META_RESULT  __stdcall META_QueryLocalTime_r(const int meta_handle, unsigned int  ms_timeout, T_Rtc  *cnf); 
  714. META_RESULT  __stdcall META_SetMainSubLCDLightLevel(unsigned int ms_timeout, FtLCDLevel *req);
  715. META_RESULT  __stdcall META_SetMainSubLCDLightLevel_r(const int meta_handle, unsigned int ms_timeout, FtLCDLevel *req);
  716. const char * __stdcall META_GetErrorString(META_RESULT  ErrCode);
  717. const char * __stdcall META_BaudrateEnumToName(META_COMM_BAUDRATE  baudrate);
  718. // Initialization 
  719. META_RESULT  __stdcall META_GetAvailableHandle(int *p_meta_handle);
  720. META_RESULT  __stdcall META_Init(const META_Error_CallBack  cb);
  721. META_RESULT  __stdcall META_Init_r(const int meta_handle, const META_Error_CallBack  cb);
  722. META_RESULT  __stdcall META_SetSysTraceCallback(const META_SysTrace_CallBack  sys_cb);
  723. META_RESULT  __stdcall META_SetSysTraceCallback_r(const int meta_handle, const META_SysTrace_CallBack  sys_cb);
  724.        void  __stdcall META_Deinit(void);
  725.        void  __stdcall META_Deinit_r(int *p_meta_handle);
  726. // connect with target 
  727. META_RESULT  __stdcall META_ConnectWithTarget(const META_Connect_Req  *req, int *p_bootstop, META_Connect_Report  *p_report);
  728. META_RESULT  __stdcall META_ConnectWithTarget_r(const int meta_handle, const META_Connect_Req  *req, int *p_bootstop, META_Connect_Report  *p_report);
  729. // dsiconnect and shutdown target 
  730. META_RESULT  __stdcall META_DisconnectWithTarget(void);
  731. META_RESULT  __stdcall META_DisconnectWithTarget_r(const int meta_handle);
  732. // connect with target when target already in meta mode 
  733. META_RESULT  __stdcall META_ConnectInMetaMode(const META_ConnectInMETA_Req  *req, int *p_bootstop, META_ConnectInMETA_Report  *p_report);
  734. META_RESULT  __stdcall META_ConnectInMetaMode_r(const int meta_handle, const META_ConnectInMETA_Req  *req, int *p_bootstop, META_ConnectInMETA_Report  *p_report);
  735. // dsiconnect without shutdown target 
  736. META_RESULT  __stdcall META_DisconnectInMetaMode(void);
  737. META_RESULT  __stdcall META_DisconnectInMetaMode_r(const int meta_handle);
  738. // USB-related connect
  739. META_RESULT  __stdcall META_ConnectWithTargetByUSB(const META_ConnectByUSB_Req  *req, int *p_bootstop, META_ConnectByUSB_Report  *p_report);
  740. META_RESULT  __stdcall META_ConnectWithTargetByUSB_r(const int meta_handle, const META_ConnectByUSB_Req  *req, int *p_bootstop, META_ConnectByUSB_Report  *p_report);
  741. META_RESULT  __stdcall META_GetDynamicUSBComPort(unsigned int ms_scan_timeout, unsigned short *com_port, int *p_scanstop);
  742. META_RESULT  __stdcall META_GetDynamicUSBComPort_r(const int meta_handle, unsigned int ms_scan_timeout, unsigned short *com_port, int *p_scanstop);
  743. // Get target S/W, H/W and Melody version
  744. META_RESULT  __stdcall META_GetTargetVerInfo(const META_GET_VERSION_INFO_CNF  cb, short *token, void *usrData);
  745. META_RESULT  __stdcall META_GetTargetVerInfo_r(const int meta_handle, const META_GET_VERSION_INFO_CNF  cb, short *token, void *usrData);
  746. // Shutdown target 
  747. META_RESULT  __stdcall META_ShutDownTarget(void);
  748. META_RESULT  __stdcall META_ShutDownTarget_r(const int meta_handle);
  749. // ***** Expired Functions -- BEGIN ***** //
  750. // these functions are expired, we encourage you to use META_ConnectWithTarget and META_DisconnectWithTarget 
  751. META_RESULT  __stdcall META_COMM_Set_Baudrate(const META_COMM_BAUDRATE  baudrate);
  752. META_RESULT  __stdcall META_COMM_Set_Baudrate_r(const int meta_handle, const META_COMM_BAUDRATE  baudrate);
  753. META_RESULT  __stdcall META_COMM_Start(const int comm_port, const META_FLOWCTRL  flowctrl);
  754. META_RESULT  __stdcall META_COMM_Start_r(const int meta_handle, const int comm_port, const META_FLOWCTRL  flowctrl);
  755. META_RESULT  __stdcall META_COMM_Stop(void);
  756. META_RESULT  __stdcall META_COMM_Stop_r(const int meta_handle);
  757. META_RESULT  __stdcall META_WaitForTargetReady(unsigned int ms_waiting_time, unsigned int request_count);
  758. META_RESULT  __stdcall META_WaitForTargetReady_r(const int meta_handle, unsigned int ms_waiting_time, unsigned int request_count);
  759. META_RESULT  __stdcall META_GetTargetRequiredMetaVer(unsigned int *p_meta_ver_required_by_target);
  760. META_RESULT  __stdcall META_GetTargetRequiredMetaVer_r(const int meta_handle, unsigned int *p_meta_ver_required_by_target);
  761. // ***** Expired Functions -- END ***** //
  762. //--------------------------------------------------------------------------//
  763. //  3G RF Testing                                                           //
  764. //--------------------------------------------------------------------------//
  765. //-----------------------------------------------------//
  766. //  3G RF Testing: data structure definition           //
  767. //-----------------------------------------------------//
  768. typedef enum {
  769. URF_TEST_CMD_TXACCESS = 0
  770. ,URF_TEST_CMD_STOP
  771. ,URF_TEST_CMD_TX_DPCH
  772. ,URF_TEST_CMD_RX_DPCH
  773. ,URF_TEST_CMD_RSSI
  774. ,URF_TEST_CMD_RSCP
  775. ,URF_TEST_CMD_AFC
  776. ,URF_TEST_CMD_TX_PAAPC  // for calling UL1D_RF_SetPaApcDac in FT task
  777. ,URF_TEST_CMD_GET_RFID
  778. ,URF_TEST_CMD_CONFIG_HWTPC
  779. ,URF_TEST_CMD_GET_PWR_DT_STEP
  780. ,URF_TEST_CMD_GET_PWR_DT_DAC
  781. ,URF_TEST_CMD_GET_PWR_DT_DEFAULT_THR
  782. ,URF_TEST_CMD_END
  783. }URfTestCmdType;
  784. typedef struct {
  785. unsigned short uarfcn; //kal_int16
  786. short psc; //kal_int16
  787. unsigned short signature;     //kal_uint16
  788. unsigned char pa_mode; //unsigned char
  789. char init_power; //kal_int8
  790. unsigned char   power_step;     //kal_uint8
  791. unsigned char max_retrans; //kal_uint8
  792. }URfTestCmdTxAccess;
  793. typedef struct
  794. {
  795. //unsigned short dl_freq;
  796. unsigned short ul_freq;
  797. short psc; /* 0~511. */
  798. unsigned int sc_code; /* Scrambling code #. 0 ~ 16777215 */
  799. unsigned char   power_ctrl_mode;
  800. unsigned char  pa_mode;
  801. unsigned short  idx;
  802. unsigned short afc_dac;
  803. unsigned char dpcch_pwr;
  804. unsigned char dpdch_pwr;
  805. /* Below for UL1D_RF_Meta_SetTxInfo. */
  806. bool  no_loop_ctrl;
  807. /* Below for setPaApcDac. */
  808. unsigned char  rf_band;
  809. unsigned char   vm1;
  810.     unsigned char   vm2;
  811. unsigned short  dc2dc_dac;
  812.     unsigned short  vbias_dac;
  813. bool            pwr_det;
  814. unsigned short  apc_dac;
  815. } URfTestCmdTxDPCh; //Anthony  target side is :UL1TSTCmdTxDPCh and  URfTestCmdTxDPCh
  816. typedef struct
  817. {
  818. unsigned short dl_freq;
  819. short psc; /* 0~511. */
  820. unsigned char ssc; /* 0~15. */
  821. short ovsf; /* 0~sf-1. */
  822. unsigned short afc_dac;
  823. /* Below for RF_SetBBRxParams. */
  824. bool  hwAGC;
  825. unsigned char mode; /* 0: mode0, 1: mode1. */
  826. short gain; /* mode0. */
  827. unsigned char LNAmode;  /* mode1. 0: LNA high, 1: LNA mid, 2: LNA low. */
  828. unsigned short pga; /* mode1. */
  829. } URfTestCmdRxDPCh;
  830. #define MAX_FREQ_LIST 36
  831. typedef struct
  832. {
  833. unsigned char num_freq;
  834. unsigned short dl_freq[ MAX_FREQ_LIST ];
  835. unsigned char   temperature;
  836. /* Below for RF_SetBBRxParams. */
  837. bool  hwAGC;
  838. unsigned char mode; /* 0: mode0, 1: mode1. */
  839. short gain; /* mode0. */
  840. unsigned char LNAmode; /* mode1. 0: LNA high, 1: LNA mid, 2: LNA low. */
  841. unsigned short pga; /* mode1. */
  842. } URfTestCmdRSSI;
  843. typedef struct
  844. {
  845. bool pscan_before_cell_search; /* True if UL1TST needs power scan before cell search/RSCP. */
  846. unsigned short dl_freq; /* Specific dl_freq to do cell search. Valid if pscan_before_cell_search=F. */
  847. unsigned char sample_num_per_cell;
  848. bool read_sfn; /* True if we need to do SFN measurement for the found cell. */
  849. /* Below for RF_SetBBRxParams. */
  850. bool  hwAGC;
  851. unsigned char mode; /* 0: mode0, 1: mode1. */
  852. short gain; /* mode0. */
  853. unsigned char LNAmode; /* mode1. 0: LNA high, 1: LNA mid, 2: LNA low. */
  854. unsigned short pga; /* mode1. */
  855. } URfTestCmdRSCP;
  856. typedef struct
  857. {
  858. //kal_bool pscan_before_cell_search; /* True if UL1TST needs power scan before cell search/RSCP. */
  859. short         dl_freq; /* Specific dl_freq to do cell search. Valid if pscan_before_cell_search=F. */
  860. //kal_uint8 sample_num_per_cell;
  861. //kal_bool read_sfn; /* True if we need to do SFN measurement for the found cell. */
  862. short           afc_dac;    //anthony 0514
  863. /* Below for RF_SetBBRxParams. */
  864. bool          hwAGC;
  865. unsigned char mode; /* 0: mode0, 1: mode1. */
  866. short         gain; /* mode0. */
  867. unsigned char LNAmode; /* mode1. 0: LNA high, 1: LNA mid, 2: LNA low. */
  868. unsigned short pga; /* mode1. */
  869. } URfTestCmdAFC;
  870. typedef struct
  871. {
  872. char            m_cRfBand;    // only 0 ~ 5
  873.     unsigned short  m_u2Idx;
  874. unsigned char   m_ucPaMode;
  875. // unsigned short m_u2PaDac;
  876. unsigned char    m_ucVm1;
  877. unsigned char    m_ucVm2;
  878. unsigned short   m_u2DC2DC_Dac;
  879. unsigned short   m_u2Vbias_Dac;
  880. unsigned short   m_u2ApcDac;
  881. }UL1D_RF_TX_PA_APC_REQ_T;
  882. typedef struct
  883. {
  884.    // structure of META_HWTPC_FRAME_INFO in target
  885.    unsigned char tpc_step;
  886.    unsigned char itp;
  887.    unsigned char rpp;
  888.    unsigned char fmt_idx;
  889.    unsigned char dl_frame_type;
  890.    unsigned short slot_mask;
  891.    char   tpc_cmd[15];
  892.    unsigned char  beta_c;
  893.    unsigned char  beta_d;
  894. }UL1D_RF_HWTPC_FRAME_INFO;
  895. typedef struct
  896. {
  897.    unsigned char pc_algo;
  898.    unsigned char tpc_used_frame;  // at most 8 so far
  899.    short  p_ini;
  900.    UL1D_RF_HWTPC_FRAME_INFO frame_info[8];
  901.    
  902. }UL1D_RF_HWTPC_CONFIG_REQ_T;
  903. typedef struct
  904. {
  905. unsigned char rf_band;
  906. }UL1D_RF_GET_PWR_THR_REQ_T;
  907. typedef union {
  908. URfTestCmdTxAccess         txaccess;
  909. URfTestCmdTxDPCh txdpch; //Anthony
  910. URfTestCmdRxDPCh rxdpch;
  911. URfTestCmdRSSI rssi;
  912. URfTestCmdRSCP rscp;
  913. URfTestCmdAFC       afc;
  914.     UL1D_RF_TX_PA_APC_REQ_T    m_rTxPaApc;
  915. UL1D_RF_HWTPC_CONFIG_REQ_T  m_rHWTPC;
  916. UL1D_RF_GET_PWR_THR_REQ_T   m_rGetPwrThr;
  917. }URfTestCmdParam;
  918. typedef struct
  919. {
  920. bool ok;
  921. unsigned char num_freq;
  922. short dl_freq[ MAX_FREQ_LIST ];
  923. int rssi[ MAX_FREQ_LIST ];
  924. } URfTestResultRSSI;
  925. typedef struct
  926. {
  927. unsigned short psc; /* Primary scrambling code */
  928. int tm; /* Cell frame boundary offset to LST */
  929. short off; /* Cell frame number offset to LST */
  930. bool sttd;  /* True for STTD used. */
  931. unsigned char sample_num;
  932. unsigned char rscp_sum;
  933. short freq_error;  // 20070514
  934. } UL1TST_cpich_result_T;
  935. #define MAX_NUM_MEAS_CELL 32
  936. typedef struct
  937. {
  938. bool ok;
  939. unsigned char num_cell;
  940. UL1TST_cpich_result_T cpich_result[ MAX_NUM_MEAS_CELL ];
  941. } URfTestResultRSCP;
  942. typedef struct
  943. {
  944. bool         ok;
  945. unsigned short psc; /* Primary scrambling code */
  946. int             tm; /* Cell frame boundary offset to LST */
  947. bool         sttd;  /* True for STTD used. */
  948. unsigned char rscp_sum;
  949. short           freq_error; //anthony 0514    
  950. }URfTestResultAFC;
  951. typedef struct
  952. {
  953. bool ok;
  954. unsigned int ber; /* Spec requirement=10^-3. We will count 10^5 frames(100 times spec requirement) for BER calculation. Only count for the only TRCh for DPDCh. */
  955. } URfTestResultRxDPCh;
  956. #define  UL1D_RF_ID_SONY_CXA3359    0x00000001
  957. #define  UL1D_RF_ID_MT6159B         0x00000002
  958. #define  UL1D_RF_ID_SMARTI3G        0x00000003
  959. typedef struct
  960. {
  961. unsigned int m_u4Rfid;
  962. }URfTestResultRFID;
  963. typedef struct
  964. {
  965. unsigned char m_u1Result;
  966. }URfTestResultPwrDtStep;
  967. typedef struct
  968. {
  969. unsigned short m_u2Result;
  970. }URfTestResultPwrDtDac;
  971. typedef struct
  972. {
  973. unsigned char m_u1Result;
  974. }URfTestResultPwrDtDefaultThr;
  975. typedef union {
  976. bool ok;   //kal_bool  // for only request
  977. URfTestResultRSSI rssi;
  978. URfTestResultAFC    afc;
  979.     URfTestResultRSCP rscp;
  980.     URfTestResultRxDPCh rx_dpch;
  981. URfTestResultRFID   rfid;
  982. URfTestResultPwrDtStep        pwr_dt_step;
  983. URfTestResultPwrDtDac         pwr_dt_dac;
  984.     URfTestResultPwrDtDefaultThr  pwr_dt_default_thr;
  985. }URfTestResultParam;
  986. //-----------------------------------------------------//
  987. //  3G RF Testing: function definition    //
  988. //-----------------------------------------------------//
  989. META_RESULT  __stdcall META_3Grf_TxAccess(unsigned int  ms_timeout, URfTestCmdTxAccess *req, URfTestResultParam *cnf); 
  990. META_RESULT  __stdcall META_3Grf_TxAccess_r(const int meta_handle, unsigned int  ms_timeout, URfTestCmdTxAccess *req, URfTestResultParam *cnf); 
  991. META_RESULT  __stdcall META_3Grf_TestStop(unsigned int  ms_timeout, URfTestResultParam *cnf); 
  992. META_RESULT  __stdcall META_3Grf_TestStop_r(const int meta_handle, unsigned int  ms_timeout, URfTestResultParam *cnf); 
  993. META_RESULT  __stdcall META_3Grf_TxDpch(unsigned int  ms_timeout, URfTestCmdTxDPCh *req, URfTestResultParam *cnf);
  994. META_RESULT  __stdcall META_3Grf_TxDpch_r(const int meta_handle, unsigned int  ms_timeout, URfTestCmdTxDPCh *req, URfTestResultParam *cnf);
  995. META_RESULT  __stdcall META_3Grf_RxDpch(unsigned int  ms_timeout, URfTestCmdRxDPCh *req, URfTestResultRxDPCh *cnf);
  996. META_RESULT  __stdcall META_3Grf_RxDpch_r(const int meta_handle, unsigned int  ms_timeout, URfTestCmdRxDPCh *req, URfTestResultRxDPCh *cnf);
  997. META_RESULT  __stdcall META_3Grf_Rssi(unsigned int  ms_timeout, URfTestCmdRSSI *req, URfTestResultRSSI *cnf);
  998. META_RESULT  __stdcall META_3Grf_Rssi_r(const int meta_handle, unsigned int  ms_timeout, URfTestCmdRSSI *req, URfTestResultRSSI *cnf);
  999. META_RESULT  __stdcall META_3Grf_Rscp(unsigned int  ms_timeout, URfTestCmdRSCP *req, URfTestResultRSCP *cnf);
  1000. META_RESULT  __stdcall META_3Grf_Rscp_r(const int meta_handle, unsigned int  ms_timeout, URfTestCmdRSCP *req, URfTestResultRSCP *cnf);
  1001. META_RESULT  __stdcall META_3Grf_Set_Tx_PaApc(unsigned int  ms_timeout, UL1D_RF_TX_PA_APC_REQ_T *req);
  1002. META_RESULT  __stdcall META_3Grf_Set_Tx_PaApc_r(const int meta_handle, unsigned int  ms_timeout, UL1D_RF_TX_PA_APC_REQ_T *req);
  1003. META_RESULT  __stdcall META_3Grf_AFC(unsigned int  ms_timeout, URfTestCmdAFC *req, URfTestResultAFC *cnf);
  1004. META_RESULT  __stdcall META_3Grf_AFC_r(const int meta_handle, unsigned int  ms_timeout, URfTestCmdAFC *req, URfTestResultAFC *cnf);
  1005. META_RESULT  __stdcall META_3Grf_GetRFID(unsigned int  ms_timeout, URfTestResultRFID *cnf);
  1006. META_RESULT  __stdcall META_3Grf_GetRFID_r(const int meta_handle, unsigned int  ms_timeout, URfTestResultRFID *cnf);
  1007. META_RESULT  __stdcall META_3Grf_ConfigHWTPC(unsigned int  ms_timeout, UL1D_RF_HWTPC_CONFIG_REQ_T *req);
  1008. META_RESULT  __stdcall META_3Grf_ConfigHWTPC_r(const int meta_handle, unsigned int  ms_timeout, UL1D_RF_HWTPC_CONFIG_REQ_T *req);
  1009. META_RESULT  __stdcall META_3Grf_GetPwrDtStep(unsigned int  ms_timeout, URfTestResultPwrDtStep *cnf);
  1010. META_RESULT  __stdcall META_3Grf_GetPwrDtStep_r(const int meta_handle, unsigned int  ms_timeout, URfTestResultPwrDtStep *cnf);
  1011. META_RESULT  __stdcall META_3Grf_GetPwrDtDac(unsigned int  ms_timeout, URfTestResultPwrDtDac *cnf);
  1012. META_RESULT  __stdcall META_3Grf_GetPwrDtDac_r(const int meta_handle, unsigned int  ms_timeout, URfTestResultPwrDtDac *cnf);
  1013. META_RESULT  __stdcall META_3Grf_GetPwrDtDefaultThr(unsigned int  ms_timeout, UL1D_RF_GET_PWR_THR_REQ_T *req, URfTestResultPwrDtDefaultThr *cnf);
  1014. META_RESULT  __stdcall META_3Grf_GetPwrDtDefaultThr_r(const int meta_handle, unsigned int  ms_timeout, UL1D_RF_GET_PWR_THR_REQ_T *req, URfTestResultPwrDtDefaultThr *cnf);
  1015. //--------------------------------------------------------------------------//
  1016. //  RF Testing                                                              //
  1017. //--------------------------------------------------------------------------//
  1018. //-----------------------------------------------------//
  1019. //  RF Testing: data structure definition              //
  1020. //-----------------------------------------------------//
  1021. typedef short ARFCN;
  1022. typedef short Gain;
  1023. typedef char BSIC;
  1024. typedef short Power;
  1025. typedef unsigned char TimingAdvance;
  1026. // RF ID 
  1027. #define  RF_ID_UNKNOWN     0x00000000
  1028. #define  RF_ID_BRIGHT2     0x00000001
  1029. #define  RF_ID_BRIGHT4     0x00000002
  1030. #define  RF_ID_AERO        0x00000004
  1031. #define  RF_ID_AERO1PLUS   0x00000008
  1032. #define  RF_ID_POLARIS1    0x00000010
  1033. #define  RF_ID_POLARIS2    0x00000020
  1034. #define  RF_ID_SKY74045    0x00000040
  1035. #define  RF_ID_BRIGHT5P    0x00000080
  1036. #define  RF_ID_MT6116      0x00000100
  1037. #define  RF_ID_MT6119      0x00000200
  1038. #define  RF_ID_MT6119C     0x00000400
  1039. #define  RF_ID_MT6129A     0x00000800
  1040. #define  RF_ID_MT6129B     0x00001000
  1041. #define  RF_ID_MT6129C     0x00002000
  1042. #define  RF_ID_MT6129D     0x00004000
  1043. #define  RF_ID_MT6139B     0x00008000
  1044. #define  RF_ID_MT6139C     0x00010000
  1045. #define  RF_ID_MT6140A     0x00020000
  1046. #define  RF_ID_SKY74117    0x00040000
  1047. #define  RF_ID_SKY74400    0x00080000
  1048. #define  RF_ID_AERO2       0x00100000
  1049. #define  RF_ID_MT6140B     0x00200000
  1050. #define  RF_ID_ALICEG2S    0x00400000
  1051. #define  RF_ID_MT6139E     0x00800000
  1052. #define  RF_ID_SKY74137    0x01000000
  1053. #define  RF_ID_MT6140C     0x02000000
  1054. #define  RF_ID_GRF6201     0x04000000
  1055. #define  RF_ID_IRFS3001    0x08000000
  1056. #define  RF_ID_MT6140D     0x10000000
  1057. #define  RF_ID_AG2550      0x10000001
  1058. #define  RF_ID_AERO2E      0x10000002
  1059. #define  RF_ID_AD6548      0x10000005     
  1060. #define  RF_ID_AD6546      0x10000006
  1061. #define  RF_ID_A60111A     0x10000007
  1062. typedef enum
  1063. {
  1064.    FrequencyBand400=0, // GSM 450/480 band
  1065.    FrequencyBand850, // GSM 850 band
  1066.    FrequencyBand900, // GSM 900 band
  1067.    FrequencyBand1800, // DCS 1800 band
  1068.    FrequencyBand1900, // PCS 1900 band
  1069.    FrequencyBandCount // count of supported bands
  1070. } FrequencyBand;
  1071. typedef struct 
  1072. {
  1073. ARFCN arfcn; // Absolute radio frequency channel number
  1074. char sampleNoPerFrame; // number of samples per frame
  1075. Gain gain; // Gain that should be used in power management
  1076. short frames; // number of frames
  1077. } RfPm_Req;
  1078. typedef struct {
  1079. unsigned char valid; // if valid != zero, it means the extra info is meaningful. 
  1080. // otherwise, the extra info should be ignore. 
  1081.     int iOffset;
  1082. int qOffset;
  1083. int validSamples;
  1084. } RfPmExtraInfo_T;
  1085. typedef struct
  1086. {
  1087. int power; // average power
  1088. int deviation; // deviation of power measurement
  1089. Gain usedGain; // Gain that is used
  1090. unsigned char ok; // status
  1091. RfPmExtraInfo_T extra_info; // extra info 
  1092. } RfPm_Cnf;
  1093. typedef struct
  1094. {
  1095. ARFCN arfcn; // absolute radio frequency channel number
  1096. short dacValue; // AFC DAC value
  1097. Gain gain; // gain used for AFC testing
  1098. short testNumber; // test number
  1099. } RfAfc_Req;
  1100. typedef struct
  1101. {
  1102. short fcb_ok_number; // successful number of FCB decoded
  1103. int freqOffset; // average frequency error
  1104. int deviation; // deviation of frequency error
  1105. unsigned char ok; // status
  1106. } RfAfc_Cnf;
  1107. typedef enum {
  1108.  AB_TX_RANDOM_WITH_SYNC_SEQ
  1109. ,NB_TX_ALL_ZEROS_WITHOUT_TSC
  1110. ,NB_TX_ALL_ONES_WITHOUT_TSC
  1111. ,NB_TX_ALTER_BITS_WITHOUT_TSC
  1112. ,NB_TX_RANDOM_WITH_TSC
  1113. ,NB_TX_PATTERN_WITHOUT_TSC
  1114. ,NB_TX_FIXED_RANDOM_WITH_TSC
  1115. ,NB_TX_FIXED_ALL_ZEROS_WITH_TSC
  1116. ,NB_TX_FIXED_ALTER_BITS_WITH_TSC
  1117. } APCTxPattern;
  1118. typedef struct
  1119. {
  1120. ARFCN arfcn; // Absolute radio frequency channel number
  1121. BSIC bsic; // bsic value used in transmission
  1122. Power power; // Tx power in the unit of PCL
  1123. short frames; // the number of frames NB should transmit
  1124. short dacValue; // AFC DAC value
  1125. APCTxPattern burstTypeNB;
  1126. } RfNbtx_Req;
  1127. typedef struct
  1128. {
  1129. ARFCN arfcn; // Absolute radio frequency channel number
  1130. Gain gain; // Gain that should be used
  1131. unsigned char OnOff; // On or off
  1132. } RfCnRx_Req;
  1133. typedef enum {
  1134. CONT_TX_ALL_ZEROS
  1135. ,CONT_TX_ALL_ONES
  1136. ,CONT_TX_ALTERNATE_BITS
  1137. ,CONT_TX_PSEUDO_RANDOM
  1138. ,CONT_TX_PATTERN_WITHOUT_TSC
  1139. } ContTxPattern;
  1140. typedef struct
  1141. {
  1142. ARFCN arfcn; // Absolute radio frequency channel number
  1143. ContTxPattern pattern;
  1144. unsigned char OnOff; // On or off
  1145. } RfCnTx_Req;
  1146. typedef struct
  1147. {
  1148. char TxTrimI;
  1149. char TxTrimQ;
  1150. char TxOffsetI;
  1151. char TxOffsetQ;
  1152. } RfSetBBTXCfg_Req;
  1153. typedef struct {
  1154. char TxTrimI;
  1155. char TxTrimQ;
  1156. char TxOffsetI;
  1157. char TxOffsetQ;
  1158. char TxCalbias;
  1159. char TxIQSwap;
  1160. char TxCMV;
  1161. char TxGain;
  1162. char TxCalrcsel;
  1163. } RfBBTXCfg2;
  1164. typedef struct {
  1165. char TxTrimI;
  1166. char TxTrimQ;
  1167. char TxOffsetI;
  1168. char TxOffsetQ;
  1169. char TxCalbias;
  1170. char TxIQSwap;
  1171. char TxCMV;
  1172. char TxGain;
  1173. char TxCalrcsel;
  1174. char TxPhasesel;
  1175. } RfBBTXCfg3;
  1176. typedef struct {
  1177. char    TxTrimI;
  1178. char    TxTrimQ;
  1179. char TxOffsetI;
  1180. char TxOffsetQ;
  1181. char TxCalbias;
  1182. char TxIQSwap;
  1183. char TxCMV;
  1184. char TxGain;
  1185. char TxCalrcsel;
  1186. char TxPhasesel;
  1187. char    TxCoarseI;
  1188. char    TxCoarseQ;
  1189. }RfBBTXCfg4;  //RfTestCmdSetBBTXCfg4
  1190. typedef struct
  1191. {
  1192.     unsigned char bbtx_common_mode_voltage;
  1193.     unsigned char bbtx_gain;
  1194.     unsigned char bbtx_calrcsel;
  1195. //    unsigned char bbtx_coarseI; // need to set
  1196. //   unsigned char bbtx_coarseQ; // need to set
  1197.     unsigned char bbtx_trimI;   // need to set
  1198.     unsigned char bbtx_trimQ;   // need to set
  1199. unsigned char bbtx_dccoarseI; // need to set
  1200.     unsigned char bbtx_dccoarseQ; // need to set
  1201.     unsigned char bbtx_offsetI; // need to set
  1202.     unsigned char bbtx_offsetQ; // need to set
  1203.     unsigned char bbtx_isCalibrated; // need to set
  1204.     int           apc_bat_low_voltage;
  1205.     int           apc_bat_high_voltage;
  1206.     int           apc_bat_low_temperature;
  1207.     int           apc_bat_high_temperature;
  1208.     unsigned char bbtx_common_mode_voltage_h;
  1209.     unsigned char bbtx_gain_h;
  1210.     unsigned char bbtx_calrcsel_h;
  1211.     unsigned char bbtx_trimI_h;
  1212.     unsigned char bbtx_trimQ_h;
  1213. //    unsigned char bbtx_coarseI_h;
  1214. //    unsigned char bbtx_coarseQ_h;
  1215. unsigned char bbtx_dccoarseI_h;
  1216.     unsigned char bbtx_dccoarseQ_h;
  1217.     unsigned char bbtx_offsetI_h;
  1218.     unsigned char bbtx_offsetQ_h;
  1219.     unsigned char bbtx_phsel;
  1220.     unsigned char bbtx_phsel_h;
  1221. //    unsigned char bbrx_gsm850_gsm900_swap;
  1222.  //   unsigned char bbrx_dcs1800_pcs1900_swap;
  1223. }BBTXParameters_T;
  1224. typedef enum {
  1225. CodingSchemeCS1 = 1,
  1226. CodingSchemeCS2,
  1227. CodingSchemeCS3,
  1228. CodingSchemeCS4,
  1229. CodingSchemePRACh8,
  1230. CodingSchemePRACh11,
  1231. CodingSchemeMCS1,
  1232. CodingSchemeMCS2,
  1233. CodingSchemeMCS3,
  1234. CodingSchemeMCS4,
  1235. CodingSchemeMCS5,
  1236. CodingSchemeMCS6,
  1237. CodingSchemeMCS7,
  1238. CodingSchemeMCS8,
  1239. CodingSchemeMCS9
  1240. } CodingScheme;
  1241. typedef struct {
  1242. ARFCN arfcn; // absolute radio frequency channel number
  1243. BSIC bsic; // training sequence
  1244. char timeSlotmask; // time slot mask, slot_1: 0x01, slot_2: 0x02, slot_3: 0x04, slot_4: 0x08
  1245. Power powerLev[4]; // power level for each time slot
  1246. CodingScheme cs[4]; // coding scheme for each time slot
  1247. TimingAdvance ta; // time advance
  1248. int frames; // the number of frames should transmit
  1249. short dacValue; // AFC DAC value
  1250. } RfMultiSlotTX_Req;
  1251. typedef struct {
  1252. FrequencyBand rf_band;
  1253. int power_level;
  1254. int apc_dac;
  1255. } RfSetRampApcLevel_Req;
  1256. typedef struct {
  1257. short dacValue; // AFC DAC value
  1258. } RfSetAfcDacValue_Req;
  1259. typedef struct {
  1260. int cap_id;
  1261. } RfSetCrystalCfg_Req;
  1262. typedef struct {
  1263. ARFCN arfcn; // absolute radio frequency channel number
  1264. BSIC bsic; // training sequence
  1265. char timeSlotmask; // time slot mask, slot_1: 0x01, slot_2: 0x02, slot_3: 0x04, slot_4: 0x08
  1266. Power powerLev[4]; // power level for each time slot
  1267. CodingScheme cs[4]; // coding scheme for each time slot, MCS1~9 is only valid for EPSK function 
  1268. TimingAdvance ta; // time advance
  1269. int frames; // the number of frames should transmit
  1270. short dacValue; // AFC DAC value
  1271. APCTxPattern pattern; // Tx pattern is only valid for EPSK function  
  1272. unsigned short pattern_data; // if NB_TX_PATTERN_WITHOUT_TSC==pattern, user can input any 16bits value as pattern. 
  1273. } Rf_MultiSlotTXEx_Req;
  1274. typedef struct {
  1275. unsigned int id; // please refer RF_ID_XXXX 
  1276. } RFMod_ID;
  1277. typedef enum {
  1278. MS_GSM = 0
  1279. ,MS_GPRS
  1280. ,MS_EGPRS_RX_ONLY
  1281. ,MS_EGPRS_FULL_FUNCTION
  1282. } MS_CAPABILITY_E;
  1283. typedef struct {
  1284. unsigned int GSM400; // Zero: not support, Non-zero: support 
  1285. unsigned int GSM850;
  1286. unsigned int GSM900;
  1287. unsigned int DCS1800;
  1288. unsigned int PCS1900;
  1289. } RFBandSupport_S;
  1290. typedef struct {
  1291. MS_CAPABILITY_E capability;
  1292. RFBandSupport_S band_support;
  1293. } RfMsCapability_S;
  1294. typedef struct {
  1295. unsigned int GSM:1;
  1296. unsigned int GPRS:1;
  1297. unsigned int EDGE_RX:1;
  1298. unsigned int EDGE_8PSK_TX:1;
  1299. unsigned int Calibration_8PM:1;
  1300. } RfMsCapabilityBits;
  1301. typedef struct {
  1302. unsigned int GSM400:1;
  1303. unsigned int GSM850:1;
  1304. unsigned int GSM900:1;
  1305. unsigned int DCS1800:1;
  1306. unsigned int PCS1900:1;
  1307. } RfMsBandSupportBits;
  1308. typedef struct {
  1309. RfMsCapabilityBits capability;
  1310. RfMsBandSupportBits band_support;
  1311. } RfMsCapabilityEx_S;
  1312. typedef enum {
  1313. AFC_SINWAVE_OFF = 0
  1314. ,AFC_SINWAVE_ON
  1315. } AFC_SINWAVE_DETECTION_E;
  1316. typedef struct {
  1317. ARFCN arfcn; // Absolute radio frequency channel number
  1318. ContTxPattern pattern;
  1319. unsigned short pattern_data;
  1320. unsigned char OnOff; // On or off 
  1321. unsigned short modtype; // modulation type: 0->GMSK, 1->EPSK 
  1322. } RfCnTxEx_Req;
  1323. typedef struct {
  1324. ARFCN arfcn; // Absolute radio frequency channel number
  1325. ContTxPattern pattern;
  1326. unsigned short pattern_data;
  1327. unsigned char OnOff; // On or off 
  1328. unsigned short modtype; // modulation type: 0->GMSK, 1->EPSK 
  1329. Power powerLev; // power level 
  1330. } RfCnTxEx2_Req;
  1331. typedef struct {
  1332. short dacValue; // AFC DAC value
  1333. } RfGetAfcDacValueAtRTXOffsetCal;
  1334. //-----------------------------------------------------//
  1335. //  TX Ramping Table                                   //
  1336. //-----------------------------------------------------//
  1337. #define PROFILE_NUM             16
  1338. #define ARFCN_SECTION_NUM       12
  1339. #define ARFCN_SECTION_NUM_Ex       64
  1340. typedef  struct
  1341. {
  1342.    unsigned char   point[2][16]; // ramp up/down profile
  1343. } sRAMPAREADATA;
  1344. typedef  struct
  1345. {
  1346.    short max_arfcn; // sub-band boundary of this PCL weighting area
  1347.    unsigned short   mid_level; // PCLboundary level to apply high/low weighting
  1348.    unsigned short   hi_weight; // scale factor of PCLs higher than mid_level
  1349.    unsigned short   low_weight; // scale factor of PCLs lower than mid_level
  1350. } sARFCN_SECTION;
  1351. typedef  struct
  1352. {
  1353.    int lowest_power; // The lower apc power of the indicated band
  1354.    unsigned short power[16]; // The mapping of power level to apc dac value
  1355.    sRAMPAREADATA ramp[ PROFILE_NUM ]; // ramp profile
  1356.    sARFCN_SECTION arfcn_weight[ ARFCN_SECTION_NUM ]; // profile of weighting power level by PCL and sub-band
  1357.    unsigned short battery_compensate[3][3]; // [volt][temp] 
  1358.    short tx_afc_offset;
  1359. } sRAMPDATA;
  1360. typedef struct
  1361. {
  1362.    int lowest_power; // The lower apc power of the indicated band
  1363.    unsigned short power[16]; // The mapping of power level to apc dac value
  1364.    sRAMPAREADATA ramp[ PROFILE_NUM ]; // ramp profile
  1365.    sARFCN_SECTION arfcn_weight[ ARFCN_SECTION_NUM_Ex ]; // profile of weighting power level by PCL and sub-band
  1366.    unsigned short battery_compensate[3][3]; // [volt][temp] 
  1367.    short tx_afc_offset;
  1368. } sRAMPDATA_Ex;
  1369. typedef  struct
  1370. {
  1371.    int lowest_power; // The lower apc power of the indicated band
  1372.    unsigned short power[16]; // The mapping of power level to apc dac value
  1373.    sRAMPAREADATA ramp[ PROFILE_NUM ]; // ramp profile
  1374.    sARFCN_SECTION arfcn_weight[ ARFCN_SECTION_NUM ]; // profile of weighting power level by PCL and sub-band
  1375.    unsigned short battery_compensate[3][3]; // [volt][temp] 
  1376.    short tx_afc_offset;
  1377.    unsigned char vbias[16];
  1378. } sRAMPDATA_Ex2;
  1379. typedef struct
  1380. {
  1381.    sRAMPDATA          rampData; // apc ramp profile of all bands
  1382. }l1cal_rampTable_T;
  1383. typedef struct
  1384. {
  1385.    sRAMPDATA_Ex          rampData; // apc ramp profile of all bands
  1386. }l1cal_rampTable_T_Ex;
  1387. typedef struct
  1388. {
  1389.    sRAMPDATA_Ex2          rampData; // apc ramp profile of all bands
  1390. }l1cal_rampTable_T_Ex2;
  1391. //-----------------------------------------------------//
  1392. //  TX Inter Ramping Table                             //
  1393. //-----------------------------------------------------//
  1394. // interRampData 
  1395. typedef struct {   
  1396. unsigned char interRampData[16];
  1397. } l1cal_interRampData_T;
  1398. // EPSK interRampData 
  1399. typedef struct {
  1400. unsigned char EPSK_interRampData[4][16];
  1401. } l1cal_EPSK_interRampData_T;
  1402. //-----------------------------------------------------//
  1403. //  3F RF compose/decompose table                      //
  1404. //-----------------------------------------------------//
  1405. #define  CAL_UARFCN_SECTION  15
  1406. #define  U_ARFCN_SECTION_NUM   15
  1407. #define  CAL_TEMP_SECTION     8
  1408. #define CAL_PWR_DETECTOR_SECTION 32  
  1409. typedef  struct
  1410. {
  1411.    unsigned short  max_uarfcn;
  1412.     char   path_loss_H;//loss;
  1413.     char   path_loss_M;//gain_diff_HM;
  1414.     char   path_loss_L;//gain_diff_HL;
  1415. }  U_sAGCGAINOFFSET;
  1416. typedef  struct
  1417. {
  1418.    //char   temp;   
  1419.    U_sAGCGAINOFFSET  gain_of_uarfcn[CAL_UARFCN_SECTION];   
  1420. }  U_sTEMPAGCOFFSET;
  1421. typedef  struct
  1422. {
  1423.    unsigned short dc2dc_dac;
  1424.    unsigned short vbias_dac;
  1425.    unsigned char vm1;
  1426.    unsigned char vm2;
  1427. }  U_sPADATA;
  1428. typedef  struct
  1429. {
  1430.    unsigned short  max_uarfcn;
  1431.    short pwr_offset;
  1432.    short pwr_slope;
  1433. } U_sARFCN_SECTION;
  1434. typedef  struct
  1435. {
  1436.    //unsigned short  pa_dac;
  1437.    U_sPADATA   pa_data;
  1438.    unsigned short  vga_dac[90];//vga_dac[81];
  1439.    U_sARFCN_SECTION  vga_comp_by_subband[CAL_UARFCN_SECTION];
  1440.    short  vga_comp_by_temperature[8][2];  //[0]:slope, [1]:offset
  1441.    //short           vga_offset_by_temperature[8]; 
  1442. } U_sTXPOWERDATA;
  1443. typedef  struct
  1444. {
  1445.    unsigned short start;
  1446.    unsigned short end;
  1447. } U_sHYSTERESISDATA;
  1448. typedef  struct
  1449. {
  1450.    unsigned char     pwr_dt_thr;
  1451.    unsigned char     pwr_dt_section;   // can not be larger than CAL_PWR_DETECTOR_SECTION
  1452.    unsigned short    pwr_dt_dac[CAL_PWR_DETECTOR_SECTION];
  1453.    
  1454.    short             pwr_dt_value[CAL_PWR_DETECTOR_SECTION]; //bit0~4 is used for fractions
  1455.    U_sARFCN_SECTION  pwr_dt_comp_by_subband[CAL_UARFCN_SECTION];   // for compensation, no need calibration, after test, will auto-store
  1456.    short             pwr_dt_comp_by_temperature[8][2];  //[0]:slope, [1]:offset
  1457.  
  1458. }  U_sPWTDTDATA;
  1459. typedef  struct
  1460. {
  1461.    U_sTXPOWERDATA    power_dac[3];   //0:PA high mode, 1:PA mid mode, 2:PA low mode (use 0&1 if only 2 mode)
  1462.    U_sHYSTERESISDATA tx_hysteresis[2];
  1463.    U_sPWTDTDATA      pwr_dt_data;
  1464.  //  U_sRAMPAREADATA   u_ramp;
  1465.  //  U_sARFCN_SECTION  u_arfcn_weight[ U_ARFCN_SECTION_NUM ];
  1466. } U_sRAMPDATA;
  1467. //chliu provide
  1468. typedef struct
  1469. {
  1470.    unsigned char tempdacData[8];
  1471. }ul1cal_tempdacData_T; 
  1472. typedef struct
  1473. {
  1474.    U_sTEMPAGCOFFSET  pathlossData[CAL_TEMP_SECTION]; 
  1475. }ul1cal_pathlossData_T;
  1476. typedef struct
  1477. {
  1478.    U_sRAMPDATA txdacData; 
  1479. }ul1cal_txdacData_T;
  1480. /* end of chliu */
  1481. //-----------------------------------------------------//
  1482. //  RF Module Special Coef                             //
  1483. //-----------------------------------------------------//
  1484. //mt6140D
  1485. typedef struct{
  1486.    short pcl_index;
  1487.    unsigned char pa_vbias1;   
  1488. }pa_vbias;
  1489. typedef struct {
  1490.    pa_vbias GSM850_pa_vbias[8];
  1491.    pa_vbias GSM900_pa_vbias[8];   
  1492.    pa_vbias DCS1800_pa_vbias[8];
  1493.    pa_vbias PCS1900_pa_vbias[8];
  1494.    //pa_vbias low_band_pa_vbias[8];
  1495.    //pa_vbias high_band_pa_vbias[8];
  1496. }mt6140tx_pa_vbias;
  1497. typedef struct{  
  1498.       mt6140tx_pa_vbias data;
  1499. }mt6140tx;  
  1500. // Skyworks 
  1501. typedef struct {
  1502. unsigned int icorrection;
  1503. unsigned int qcorrection;
  1504. } RF_SKY74045_IP2_Coef;
  1505. typedef struct {
  1506. RF_SKY74045_IP2_Coef coef[5/*band*/];
  1507. } RF_SKY74045_RX_Coef;
  1508. typedef struct {
  1509. RF_SKY74045_RX_Coef rx;
  1510. } RF_SKY74045_Coef_T;
  1511. typedef struct {
  1512. unsigned int ipol;
  1513. unsigned int qpol;
  1514. } RF_SKY74117_IP2_Pol;
  1515. typedef struct {
  1516. RF_SKY74045_IP2_Coef coef[5/*band*/];
  1517. RF_SKY74117_IP2_Pol pol[5/*band*/];
  1518. } RF_SKY74117_RX_Coef;
  1519. typedef struct {
  1520. RF_SKY74117_RX_Coef rx;
  1521. } RF_SKY74117_Coef_T;
  1522. // MT6139B 
  1523. typedef struct {
  1524. unsigned int acode;
  1525. unsigned int amcode;
  1526. } RF_MT6139B_IP2_Coef;
  1527. typedef struct {  
  1528. RF_MT6139B_IP2_Coef coef[5/*band*/];
  1529. unsigned int rxamcalmode;
  1530. } RF_MT6139B_RX_Coef;
  1531. typedef struct {
  1532. RF_MT6139B_RX_Coef rx;
  1533. } RF_MT6139B_Coef_T;
  1534. // Bright5P 
  1535. typedef struct {
  1536. unsigned int word6_4_0;
  1537. unsigned int word6_5_0;
  1538. unsigned int word6_6_0;
  1539. unsigned int word6_7_0;
  1540. unsigned int bvmode;
  1541. unsigned int c3mode;
  1542. unsigned int wordC3;
  1543. } RF_BRIGHT5P_TX_Coef;
  1544. typedef struct {
  1545. RF_BRIGHT5P_TX_Coef tx;
  1546. } RF_BRIGHT5P_Coef_T;
  1547. typedef struct
  1548. {
  1549.     unsigned char REFDET_SLOPE_SKEW;
  1550.     unsigned char AM_FB_DAC; 
  1551.  }ad6546tx;  
  1552. //-----------------------------------------------------//
  1553. //  RF Testing: callback function definition           //
  1554. //-----------------------------------------------------//
  1555. typedef void (__stdcall *META_RF_PM_CNF)(const RfPm_Cnf *cnf, const short token, void *usrData);
  1556. typedef void (__stdcall *META_RF_AFC_CNF)(const RfAfc_Cnf *cnf, const short token, void *usrData);
  1557. typedef void (__stdcall *META_RF_NB_TX_CNF)(const unsigned char cnf, const short token, void *usrData);
  1558. typedef void (__stdcall *META_RF_CONT_RX_CNF)(const unsigned char cnf, const short token, void *usrData);
  1559. typedef void (__stdcall *META_RF_CONT_TX_CNF)(const unsigned char cnf, const short token, void *usrData);
  1560. typedef void (__stdcall *META_RF_SETBBTX_CFG_CNF)(const unsigned char cnf, const short token, void *usrData);
  1561. typedef void (__stdcall *META_RF_SELBAND_CNF)(const unsigned char cnf, const short token, void *usrData);
  1562. typedef void (__stdcall *META_RF_STOP_CNF)(const unsigned char cnf, const short token, void *usrData);
  1563. typedef void (__stdcall *META_RF_MULTISLOT_TX_CNF)(const unsigned char cnf, const short token, void *usrData);
  1564. typedef void (__stdcall *META_RF_SET_RAMPAPCLEVEL_CNF)(const unsigned char cnf, const short token, void *usrData);
  1565. typedef void (__stdcall *META_RF_SET_AFCDACVALUE_CNF)(const unsigned char cnf, const short token, void *usrData);
  1566. //-----------------------------------------------------//
  1567. //  RF Testing: exported function definition           //
  1568. //-----------------------------------------------------//
  1569. META_RESULT  __stdcall META_Rf_PM(const RfPm_Req *req, const META_RF_PM_CNF cb, short *token, void *usrData);
  1570. META_RESULT  __stdcall META_Rf_PM_r(const int meta_handle, const RfPm_Req *req, const META_RF_PM_CNF cb, short *token, void *usrData);
  1571. META_RESULT  __stdcall META_Rf_AFC(const RfAfc_Req *req, const META_RF_AFC_CNF cb, short *token, void *usrData);
  1572. META_RESULT  __stdcall META_Rf_AFC_r(const int meta_handle, const RfAfc_Req *req, const META_RF_AFC_CNF cb, short *token, void *usrData);
  1573. META_RESULT  __stdcall META_Rf_NB_TX(const RfNbtx_Req *req, const META_RF_NB_TX_CNF cb, short *token, void *usrData);
  1574. META_RESULT  __stdcall META_Rf_NB_TX_r(const int meta_handle, const RfNbtx_Req *req, const META_RF_NB_TX_CNF cb, short *token, void *usrData);
  1575. META_RESULT  __stdcall META_Rf_CONTINUE_RX(const RfCnRx_Req *req, const META_RF_CONT_RX_CNF cb, short *token, void *usrData);
  1576. META_RESULT  __stdcall META_Rf_CONTINUE_RX_r(const int meta_handle, const RfCnRx_Req *req, const META_RF_CONT_RX_CNF cb, short *token, void *usrData);
  1577. META_RESULT  __stdcall META_Rf_CONTINUE_TX(const RfCnTx_Req *req, const META_RF_CONT_TX_CNF cb, short *token, void *usrData);
  1578. META_RESULT  __stdcall META_Rf_CONTINUE_TX_r(const int meta_handle, const RfCnTx_Req *req, const META_RF_CONT_TX_CNF cb, short *token, void *usrData);
  1579. META_RESULT  __stdcall META_Rf_SetBBTXCfg(const RfSetBBTXCfg_Req *req, const META_RF_SETBBTX_CFG_CNF cb, short *token, void *usrData);
  1580. META_RESULT  __stdcall META_Rf_SetBBTXCfg_r(const int meta_handle, const RfSetBBTXCfg_Req *req, const META_RF_SETBBTX_CFG_CNF cb, short *token, void *usrData);
  1581. META_RESULT  __stdcall META_Rf_SelectFrequencyBand1900(const unsigned char selectPCS1900, const META_RF_SELBAND_CNF cb, short *token, void *usrData);
  1582. META_RESULT  __stdcall META_Rf_SelectFrequencyBand1900_r(const int meta_handle, const unsigned char selectPCS1900, const META_RF_SELBAND_CNF cb, short *token, void *usrData);
  1583. META_RESULT  __stdcall META_Rf_Stop(const META_RF_STOP_CNF cb, short *token, void *usrData);
  1584. META_RESULT  __stdcall META_Rf_Stop_r(const int meta_handle, const META_RF_STOP_CNF cb, short *token, void *usrData);
  1585. META_RESULT  __stdcall META_Rf_MultiSlot_TX(const RfMultiSlotTX_Req *req, const META_RF_MULTISLOT_TX_CNF  cb, short *token, void *usrData);
  1586. META_RESULT  __stdcall META_Rf_MultiSlot_TX_r(const int meta_handle, const RfMultiSlotTX_Req *req, const META_RF_MULTISLOT_TX_CNF  cb, short *token, void *usrData);
  1587. META_RESULT  __stdcall META_Rf_SetAfcDacValue(const RfSetAfcDacValue_Req *req, const META_RF_SET_AFCDACVALUE_CNF  cb, short *token, void *usrData);
  1588. META_RESULT  __stdcall META_Rf_SetAfcDacValue_r(const int meta_handle, const RfSetAfcDacValue_Req *req, const META_RF_SET_AFCDACVALUE_CNF  cb, short *token, void *usrData);
  1589. META_RESULT  __stdcall META_Rf_SetBBTxCfg2(unsigned int ms_timeout, const RfBBTXCfg2  *tx_cfg_req, RfBBTXCfg2  *tx_cfg_cnf);
  1590. META_RESULT  __stdcall META_Rf_SetBBTxCfg2_r(const int meta_handle, unsigned int ms_timeout, const RfBBTXCfg2  *tx_cfg_req, RfBBTXCfg2  *tx_cfg_cnf);
  1591. META_RESULT  __stdcall META_Rf_GetBBTxCfg2(unsigned int ms_timeout, RfBBTXCfg2  *tx_cfg_cnf);
  1592. META_RESULT  __stdcall META_Rf_GetBBTxCfg2_r(const int meta_handle, unsigned int ms_timeout, RfBBTXCfg2  *tx_cfg_cnf);
  1593. META_RESULT  __stdcall META_Rf_SetCrystalCapId(unsigned int ms_timeout, const RfSetCrystalCfg_Req  *req);
  1594. META_RESULT  __stdcall META_Rf_SetCrystalCapId_r(const int meta_handle, unsigned int ms_timeout, const RfSetCrystalCfg_Req  *req);
  1595. META_RESULT  __stdcall META_Rf_BBTXAutoCal(unsigned int ms_timeout);
  1596. META_RESULT  __stdcall META_Rf_BBTXAutoCal_r(const int meta_handle, unsigned int ms_timeout);
  1597. META_RESULT  __stdcall META_Rf_QueryMSCapability(unsigned int ms_timeout, RfMsCapability_S  *p_type);
  1598. META_RESULT  __stdcall META_Rf_QueryMSCapability_r(const int meta_handle, unsigned int ms_timeout, RfMsCapability_S  *p_type);
  1599. META_RESULT  __stdcall META_Rf_QueryMSCapabilityEx(unsigned int ms_timeout, RfMsCapabilityEx_S  *p_ms_cap);
  1600. META_RESULT  __stdcall META_Rf_QueryMSCapabilityEx_r(const int meta_handle, unsigned int ms_timeout, RfMsCapabilityEx_S  *p_ms_cap);
  1601. META_RESULT  __stdcall META_Rf_SetAfcSinWaveDetection(unsigned int ms_timeout, AFC_SINWAVE_DETECTION_E  bIsAfcSinWaveOn);
  1602. META_RESULT  __stdcall META_Rf_SetAfcSinWaveDetection_r(const int meta_handle, unsigned int ms_timeout, AFC_SINWAVE_DETECTION_E  bIsAfcSinWaveOn);
  1603. META_RESULT  __stdcall META_Rf_QueryIfTwoApcDCOffsetSupport(unsigned int ms_timeout);
  1604. META_RESULT  __stdcall META_Rf_QueryIfTwoApcDCOffsetSupport_r(const int meta_handle, unsigned int ms_timeout);
  1605. META_RESULT  __stdcall META_Rf_MultiSlot_TX_Ex(unsigned int ms_timeout, const Rf_MultiSlotTXEx_Req *req);
  1606. META_RESULT  __stdcall META_Rf_MultiSlot_TX_Ex_r(const int meta_handle, unsigned int ms_timeout, const Rf_MultiSlotTXEx_Req *req);
  1607. META_RESULT  __stdcall META_Rf_GetRFID(unsigned int ms_timeout, RFMod_ID *cnf);
  1608. META_RESULT  __stdcall META_Rf_GetRFID_r(const int meta_handle, unsigned int ms_timeout, RFMod_ID *cnf);
  1609. META_RESULT  __stdcall META_Rf_CONTINUE_TX_Ex(unsigned int ms_timeout, const RfCnTxEx_Req *req);
  1610. META_RESULT  __stdcall META_Rf_CONTINUE_TX_Ex_r(const int meta_handle, unsigned int ms_timeout, const RfCnTxEx_Req *req);
  1611. META_RESULT  __stdcall META_Rf_SetBBTxCfg3(unsigned int ms_timeout, const RfBBTXCfg3  *tx_cfg_req, RfBBTXCfg3  *tx_cfg_cnf);
  1612. META_RESULT  __stdcall META_Rf_SetBBTxCfg3_r(const int meta_handle, unsigned int ms_timeout, const RfBBTXCfg3  *tx_cfg_req, RfBBTXCfg3  *tx_cfg_cnf);
  1613. META_RESULT  __stdcall META_Rf_GetBBTxCfg3(unsigned int ms_timeout, RfBBTXCfg3  *tx_cfg_cnf);
  1614. META_RESULT  __stdcall META_Rf_GetBBTxCfg3_r(const int meta_handle, unsigned int ms_timeout, RfBBTXCfg3  *tx_cfg_cnf);
  1615. META_RESULT  __stdcall META_Rf_CONTINUE_TX_Ex2(unsigned int ms_timeout, const RfCnTxEx2_Req *req);
  1616. META_RESULT  __stdcall META_Rf_CONTINUE_TX_Ex2_r(const int meta_handle, unsigned int ms_timeout, const RfCnTxEx2_Req *req);
  1617. META_RESULT  __stdcall META_Rf_GetAfcDacValueAtRTXOffsetCal(unsigned int ms_timeout, RfGetAfcDacValueAtRTXOffsetCal *cnf);
  1618. META_RESULT  __stdcall META_Rf_GetAfcDacValueAtRTXOffsetCal_r(const int meta_handle, unsigned int ms_timeout, RfGetAfcDacValueAtRTXOffsetCal *cnf);
  1619. META_RESULT  __stdcall META_Rf_SetBBTxCfg4(unsigned int ms_timeout, const RfBBTXCfg4  *tx_cfg_req, RfBBTXCfg4  *tx_cfg_cnf);
  1620. META_RESULT  __stdcall META_Rf_SetBBTxCfg4_r(const int meta_handle, unsigned int ms_timeout, const RfBBTXCfg4  *tx_cfg_req, RfBBTXCfg4  *tx_cfg_cnf);
  1621. META_RESULT  __stdcall META_Rf_GetBBTxCfg4(unsigned int ms_timeout, RfBBTXCfg4  *tx_cfg_cnf);
  1622. META_RESULT  __stdcall META_Rf_GetBBTxCfg4_r(const int meta_handle, unsigned int ms_timeout, RfBBTXCfg4  *tx_cfg_cnf);
  1623. META_RESULT  __stdcall META_Rf_SetBBTxCfg5(unsigned int ms_timeout, const RfBBTXCfg4  *tx_cfg_req, RfBBTXCfg4  *tx_cfg_cnf);
  1624. META_RESULT  __stdcall META_Rf_SetBBTxCfg5_r(const int meta_handle, unsigned int ms_timeout, const RfBBTXCfg4  *tx_cfg_req, RfBBTXCfg4  *tx_cfg_cnf);
  1625. META_RESULT  __stdcall META_Rf_GetBBTxCfg5(unsigned int ms_timeout, RfBBTXCfg4  *tx_cfg_cnf);
  1626. META_RESULT  __stdcall META_Rf_GetBBTxCfg5_r(const int meta_handle, unsigned int ms_timeout, RfBBTXCfg4  *tx_cfg_cnf);
  1627. //-----------------------------------------------------//
  1628. //  RunTime Setting Functions Without Update NVRAM     //
  1629. //-----------------------------------------------------//
  1630. META_RESULT  __stdcall META_Rf_SetRampTable(unsigned int ms_timeout, FrequencyBand  band, const l1cal_rampTable_T  *ramp);
  1631. META_RESULT  __stdcall META_Rf_SetRampTable_r(const int meta_handle, unsigned int ms_timeout, FrequencyBand  band, const l1cal_rampTable_T  *ramp);
  1632. META_RESULT  __stdcall META_Rf_SetRampApcLevel(const RfSetRampApcLevel_Req *req, const META_RF_SET_RAMPAPCLEVEL_CNF  cb, short *token, void *usrData);
  1633. META_RESULT  __stdcall META_Rf_SetRampApcLevel_r(const int meta_handle, const RfSetRampApcLevel_Req *req, const META_RF_SET_RAMPAPCLEVEL_CNF  cb, short *token, void *usrData);
  1634. META_RESULT  __stdcall META_Rf_EPSK_SetRampTable(unsigned int ms_timeout, FrequencyBand  band, const l1cal_rampTable_T  *ramp);
  1635. META_RESULT  __stdcall META_Rf_EPSK_SetRampTable_r(const int meta_handle, unsigned int ms_timeout, FrequencyBand  band, const l1cal_rampTable_T  *ramp);
  1636. META_RESULT  __stdcall META_Rf_EPSK_SetRampApcLevel(unsigned int ms_timeout, const RfSetRampApcLevel_Req *req);
  1637. META_RESULT  __stdcall META_Rf_EPSK_SetRampApcLevel_r(const int meta_handle, unsigned int ms_timeout, const RfSetRampApcLevel_Req *req);
  1638. META_RESULT  __stdcall META_Rf_SetRFImmediateBSI(unsigned int ms_timeout, const unsigned int bsi_data);
  1639. META_RESULT  __stdcall META_Rf_SetRFImmediateBSI_r(const int meta_handle, unsigned int ms_timeout, const unsigned int bsi_data);
  1640. META_RESULT  __stdcall META_Rf_GetRFImmediateBSI(unsigned int ms_timeout, unsigned int bsi_addr, unsigned int *p_bsi_data);
  1641. META_RESULT  __stdcall META_Rf_GetRFImmediateBSI_r(const int meta_handle, unsigned int ms_timeout, unsigned int bsi_addr, unsigned int *p_bsi_data);
  1642. META_RESULT  __stdcall META_Rf_SetRampTable_Ex(unsigned int ms_timeout, FrequencyBand  band, const l1cal_rampTable_T_Ex  *ramp);
  1643. META_RESULT  __stdcall META_Rf_SetRampTable_Ex_r(const int meta_handle, unsigned int ms_timeout, FrequencyBand  band, const l1cal_rampTable_T_Ex  *ramp);
  1644. META_RESULT  __stdcall META_Rf_SetRampTable_Ex2(unsigned int ms_timeout, FrequencyBand  band, const l1cal_rampTable_T_Ex2  *ramp);
  1645. META_RESULT  __stdcall META_Rf_SetRampTable_Ex2_r(const int meta_handle, unsigned int ms_timeout, FrequencyBand  band, const l1cal_rampTable_T_Ex2  *ramp);
  1646. // Skyworks 
  1647. META_RESULT  __stdcall META_Rf_SKY74045_SetSpecialCoef(unsigned int ms_timeout, const RF_SKY74045_Coef_T *rf_mod_coef);
  1648. META_RESULT  __stdcall META_Rf_SKY74045_SetSpecialCoef_r(const int meta_handle, unsigned int ms_timeout, const RF_SKY74045_Coef_T *rf_mod_coef);
  1649. META_RESULT  __stdcall META_Rf_SKY74117_SetSpecialCoef(unsigned int ms_timeout, const RF_SKY74117_Coef_T *rf_mod_coef);
  1650. META_RESULT  __stdcall META_Rf_SKY74117_SetSpecialCoef_r(const int meta_handle, unsigned int ms_timeout, const RF_SKY74117_Coef_T *rf_mod_coef);
  1651. // MT6139B 
  1652. META_RESULT  __stdcall META_Rf_MT6139B_SetSpecialCoef(unsigned int ms_timeout, const RF_MT6139B_Coef_T *rf_mod_coef);
  1653. META_RESULT  __stdcall META_Rf_MT6139B_SetSpecialCoef_r(const int meta_handle, unsigned int ms_timeout, const RF_MT6139B_Coef_T *rf_mod_coef);
  1654. // Renesas Bright5P 
  1655. META_RESULT  __stdcall META_Rf_BRIGHT5P_SetSpecialCoef(unsigned int ms_timeout, const RF_BRIGHT5P_Coef_T *rf_mod_coef);
  1656. META_RESULT  __stdcall META_Rf_BRIGHT5P_SetSpecialCoef_r(const int meta_handle, unsigned int ms_timeout, const RF_BRIGHT5P_Coef_T *rf_mod_coef);
  1657. META_RESULT  __stdcall META_Rf_32kCalibration(unsigned int ms_timeout, int *p_result);
  1658. META_RESULT  __stdcall META_Rf_32kCalibration_r(const int meta_handle, unsigned int ms_timeout, int *p_result);
  1659. //--------------------------------------------------------------------------//
  1660. //  NVRAM                                                                   //