📄 meta.h
字号:
* Rev 1.8 Oct 23 2003 23:01:30 mtk00539
* add new return value in case of FAT find not found.
* Resolution for 32: [META_DLL v3.3.1001][New] See the details below.
*
* Rev 1.7 Oct 21 2003 18:56:26 mtk00539
* 1. add META_WaitForTargetReady api.
* 2. add META_SetSysTraceCallback api for gather assert info.
* 3. add ok flag in pm and afc result.
* Resolution for 32: [META_DLL v3.3.1001][New] See the details below.
*
* Rev 1.6 Sep 26 2003 17:03:30 mtk00539
* 1. [NVRAM] Add META_NVRAM_Calculate_IMEI_Spare function.
* 2. [NVRAM] Modify META_NVRAM_Compose_IMEISV function to automatically calculate spare digit.
* Resolution for 30: [META_DLL v3.2.1002][Add Feature] Add META_NVRAM_Calculate_IMEI_Spare function.
*
* Rev 1.5 Sep 18 2003 10:45:32 mtk00539
* extend com port number
* Resolution for 27: [META_DLL v3.2.1001][New] Adapt new CatcherTran database format
*
* Rev 1.4 Sep 02 2003 14:52:04 mtk00539
* 1. [AUDIO] Switch audio testing to L4AUD instead of L1Audio.
* 2. [FAT] Add MOVE, DELETE and FIND function for FAT operation.
* 3. [RF] Add new api META_Rf_SetRampApcLevel().
* 4. [NVRAM] Add IMEISV and L1audio parameter compose/decompose functions.
* 5. Enlarge VerInfo_Cnf member.
* Resolution for 26: [META_DLL v3.1.1001][Add Feature] See the reasons below.
*
* Rev 1.3 Aug 03 2003 13:34:14 mtk00539
* 1. UART S/W flow control support.
* 2. FAT operation.
* 3. GPRS MultiSlot TX and InterRamp calibration data.
* 4. Crystal calibration data.
* 5. Target S/W, H/W and Melody version retrieval.
* 6. Runtime debug log turn on/off in both release and debug version of DLL.
* 7. [BUG FIX] Fix META_GetVersion() memory leak.
* 8. [Enhance] Fixed ordinal number of each APIs META_DLL.dll exported.
* 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.
*
* Rev 1.2 May 20 2003 15:21:44 mtk00539
* modify for new interface for VB
* Resolution for 5: [META_DLL v2.2][AddFeature] Modify META_DLL for both C/C++ and VB support.
*
* Rev 1.1 Apr 01 2003 09:42:36 mtk00539
* 1. add description for error code
* 2. BUG: change RfTestResultAfc.fcb_ok to RfTestResultAfc.fcb_ok_number
* 3. add NVRAM Editor relative APIs.
* 4. add L1SP audio coefficient compose/decompose APIs
* 5. change baseband status from kal_bool to kal_uint8
* 6. change enum META_ERR_CODE to META_CNF_ERR_CODE.
* 7. use unsigned char instead of BOOL.
* 8. BUG: fix type inconsistent with primitive.sel
* 9. export CatcherTran pointer instead of InternalDB for META_NVRAM_Init()
* 10. add META_NVRAM_SetRecFieldBitValue() and META_NVRAM_GetRecFieldBitValue().
* Resolution for 3: [META_DLL v2.0][AddFeature] Add new features for META_DLL v2.0
*
* Rev 1.0 Feb 25 2003 13:24:20 admin
* Initial revision.
*
*------------------------------------------------------------------------------
* Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
*==============================================================================
*******************************************************************************/
#ifndef META_DLL_H
#define META_DLL_H
#include "brom.h"
#ifdef __cplusplus
extern "C" {
#endif
//--------------------------------------------------------------------------//
// META General //
//--------------------------------------------------------------------------//
//-----------------------------------------------------//
// META General: data structure definition //
//-----------------------------------------------------//
typedef enum
{
// META_DLL received a corrupted frame
META_CNF_FRAME_ERROR = 0,
// META_DLL received a confirm or indication from target,
// but there is not corresponding call back function
// installed for this confirm or indication.
META_CNF_NO_CALLBACK = 1,
// META_DLL received a corrupted primitive.
META_CNF_PRIMITIVE_ERROR = 2,
// META_DLL received a confirm or indication from
// target, but there is no sufficient memory to process.
META_CNF_NO_MEMORY = 3,
// META_DLL retrieved a callback function, however,
// the user input arguments are invalid.
META_CNF_CALLBACK_PARAMETER_ERROR = 4,
// META_DLL received a confirm with peer msg, however,
// the peer msg is corrupted.
META_CNF_PEER_MSG_ERROR = 5,
// META_DLL received a confirm and successfully executed
// the callback function.
META_CNF_OK = 6
} META_CNF_ERR_CODE;
typedef enum
{
META_SUCCESS = 0
,META_FAILED
,META_COMM_FAIL
,META_NORESPONSE
,META_BUFFER_LEN
,META_FILE_BAD
,META_LID_INVALID
,META_INTERNAL_DB_ERR
,META_NO_MEMORY
,META_INVALID_ARGUMENTS
,META_TIMEOUT
,META_BUSY
,META_INVALID_HANDLE
,META_FAT_ERROR
,META_FAT_DISK_FULL
,META_FAT_ROOT_DIR_FULL
,META_FAT_INVALID_FILENAME
,META_FAT_INVALID_FILE_HANDLE
,META_FAT_FILE_NOT_FOUND
,META_FAT_DRIVE_NOT_FOUND
,META_FAT_PATH_NOT_FOUND
,META_FAT_ACCESS_DENIED
,META_FAT_TOO_MANY_FILES
,META_INCORRECT_TARGET_VER
,META_COM_ERROR
,META_BROM_CMD_ERROR
,META_INCORRECT_BBCHIP_TYPE
,META_BROM_ERROR
,META_STOP_BOOTUP_PROCEDURE
,META_CANCEL
,META_CCT_NOT_IMPORT_PROFILE
,META_CCT_INVALID_SENSOR_ID
,META_CCT_TGT_NO_MEM_FOR_SINGLE_SHOT
,META_CCT_TGT_NO_MEM_FOR_MULTI_SHOT
,META_FUNC_NOT_IMPLEMENT_YET
,META_CCT_NOT_IMPLEMENT_YET = META_FUNC_NOT_IMPLEMENT_YET
,META_CCT_PREVIEW_ALREADY_STARTED
,META_CCT_PREVIEW_ALREADY_STOPPED
,META_CCT_READ_REG_NO_CNF
,META_CCT_WRITE_REG_NO_CNF
,META_CCT_TGT_ABORT_IMAGE_SENDING
,META_CCT_READ_ONLY_REGISTER
,META_CCT_LOAD_FROM_NVRAM_FAIL
,META_CCT_SAVE_TO_NVRAM_FAIL
,META_CCT_AE_INVALID_EC_LEVEL
,META_CCT_AE_INVALID_EC_STEP
,META_CCT_AE_ALREADY_ENABLED
,META_CCT_AE_ALREADY_DISABLED
,META_CCT_WB_INVALID_INDEX
,META_CCT_NO_TGT_SENSOR_MATCH_IN_PROFILE
,META_CCT_IMAGE_SENDING_FAME_NUM_ERROR
,META_CCT_AE_IS_NOT_DISABLED
,META_FAT_APP_QUOTA_FULL
,META_IMEI_CD_ERROR
,META_RFID_MISMATCH
,META_NVRAM_DB_IS_NOT_LOADED_YET
,META_CCT_ERR_CAPTURE_WIDTH_HEIGHT_TOO_SMALL
,META_WAIT_FOR_TARGET_READY_TIMEOUT
,META_CCT_ERR_SENSOR_ENG_SET_INVALID_VALUE
,META_CCT_ERR_SENSOR_ENG_GROUP_NOT_EXIST
,META_CCT_NO_TGT_ISP_MATCH_IN_PROFILE
,META_CCT_TGT_ISP_SUPPORT_NOT_DEFINED
,META_CCT_ERR_SENSOR_ENG_ITEM_NOT_EXIST
,META_CCT_ERR_INVALID_COMPENSATION_MODE
,META_CCT_ERR_USB_COM_NOT_READY
,META_CCT_DEFECTPIXEL_CAL_UNDER_PROCESSING
,META_CCT_ERR_DEFECTPIXEL_CAL_NO_MEM
,META_CCT_ERR_TOO_MANY_DEFECT_PIXEL
,META_CCT_ERR_CAPTURE_JPEG_FAIL
,META_CCT_ERR_CAPTURE_JPEG_TIMEOUT
,META_CCT_ERR_AF_FAIL
,META_CCT_ERR_AF_TIMEOUT
,META_CCT_ERR_AF_LENS_OFFSET_CAL_FAIL
,META_CCT_ERR_PREVIEW_MUST_ENABLE
,META_CCT_ERR_UNSUPPORT_CAPTURE_FORMAT
,META_CCT_ERR_EXCEED_MAX_DEFECT_PIXEL
,META_ERR_EXCEED_MAX_PEER_BUF_SIZE
,META_CCT_ERR_INVALID_WIDTH_FACTOR
,META_BROM_SECURITY_CHECK_FAIL
,META_CCT_ERR_PREVIEW_MUST_DISABLE
,META_MAUI_DB_INCONSISTENT
,META_FAT_FILEPATH_TOO_LONG
,META_FAT_RESTRICTED_FILEPATH
,META_FAT_DIR_NOT_EXIST
,META_FAT_DISK_SPACE_IS_NOT_ENOUGH
,META_PERMISSION_DENIED
,META_LAST_RESULT
} META_RESULT;
typedef enum {
META_BAUD2400 = 0,
META_BAUD4800,
META_BAUD9600,
META_BAUD14400,
META_BAUD19200,
META_BAUD57600,
META_BAUD115200,
META_BAUD230400,
META_BAUD460800,
META_BAUD921600,
META_BAUD_END = 0xFF
} META_COMM_BAUDRATE;
typedef enum {
META_NO_FLOWCTRL = 0, // no flow control
META_SW_FLOWCTRL, // enable S/W flow control
META_FLOWCTRL_END
} META_FLOWCTRL;
typedef struct {
char BB_CHIP[64]; // BaseBand chip version
char ECO_VER[4]; // ECO version
char DSP_FW[64]; // DSP firmware version
char DSP_PATCH[64]; // DSP patch version
char SW_VER[64]; // S/W version
char HW_VER[64]; // H/W board version
char MELODY_VER[64]; // Melody version
} VerInfo_Cnf;
typedef struct {
int com_port;
META_COMM_BAUDRATE baudrate[11]; // [META] META stage baudrate polling array, it must end with META_BAUD_END.
META_FLOWCTRL flowctrl; // [META] META stage uart flow control type.
BOOT_META_ARG boot_meta_arg; // [BootROM] please refer to brom.h
unsigned int ms_connect_timeout; // [META] META stage sync timeout value (after BootROM negotiation pass)
} META_Connect_Req;
typedef struct {
META_COMM_BAUDRATE final_baudrate; // [META] Detected META stage baudrate.
unsigned int meta_ver_required_by_target; // [META] Target required META_DLL version.
BOOT_RESULT boot_result; // [BootROM] boot-up result.
STATUS_E boot_meta_ret; // [BROM_DLL] The return code of Boot_META function.
} META_Connect_Report;
typedef struct {
int com_port;
META_COMM_BAUDRATE baudrate[11]; // [META] META stage baudrate polling array, it must end with META_BAUD_END.
META_FLOWCTRL flowctrl; // [META] META stage uart flow control type.
unsigned int ms_connect_timeout; // [META] META stage sync timeout value (after BootROM negotiation pass)
} META_ConnectInMETA_Req;
typedef struct {
META_COMM_BAUDRATE final_baudrate; // [META] Detected META stage baudrate.
unsigned int meta_ver_required_by_target; // [META] Target required META_DLL version.
} META_ConnectInMETA_Report;
//-----------------------------------------------------//
// META General: callback function definition //
//-----------------------------------------------------//
typedef void (__stdcall *META_Error_CallBack)(const META_CNF_ERR_CODE mr);
typedef void (__stdcall *META_SysTrace_CallBack)(const char *sys_trace);
typedef void (__stdcall *META_GET_VERSION_INFO_CNF)(const VerInfo_Cnf *cnf, const short token, void *usrData);
//-----------------------------------------------------//
// META for CTI //
//-----------------------------------------------------//
typedef enum {
CTI_OK = 0
,CTI_MISSING_HEADER
,CTI_CORRUPTED_FAME
,CTI_EXCEED_LEN
} CTI_RET_ENUM;
typedef void (__stdcall *META_CTI_CallBack)(CTI_RET_ENUM ret, const int size, const unsigned char *data, void *param);
META_RESULT __stdcall META_CTI_SendPacketCmd(const unsigned char *pPayLoadBuffer, int nPayloadLength);
META_RESULT __stdcall META_CTI_SendPacketCmd_r(const int meta_handle, const unsigned char *pPayLoadBuffer, int nPayloadLength);
META_RESULT __stdcall META_CTI_SetPacketCallback(META_CTI_CallBack pCBFunc, void* param);
META_RESULT __stdcall META_CTI_SetPacketCallback_r(const int meta_handle, META_CTI_CallBack pCBFunc, void* param);
//-----------------------------------------------------//
// Switch TST message format //
//-----------------------------------------------------//
typedef enum {
META_TST_MSG_2G = 0,
META_TST_MSG_3G
} META_TST_MSG_FORMAT;
META_RESULT __stdcall META_SetTstMsgFormat(META_TST_MSG_FORMAT msg_fmt);
META_RESULT __stdcall META_SetTstMsgFormat_r(const int meta_handle, META_TST_MSG_FORMAT msg_fmt);
//-----------------------------------------------------//
// META Debug: exported debug function definition //
//-----------------------------------------------------//
META_RESULT __stdcall META_DebugOn();
META_RESULT __stdcall META_DebugOn_ex(const int meta_handle);
META_RESULT __stdcall META_DebugOff();
META_RESULT __stdcall META_DebugClear();
//-----------------------------------------------------//
// META UnitTest //
//-----------------------------------------------------//
typedef struct {
unsigned int m_TestCaseID;
const char * m_pDescription;
} META_UT_TestCaseID_T;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -