使用SP META DLL提供的客制化APISP_META_Customer_Func_r 添加新的meta command
1. META_RESULT __stdcall SP_META_Customer_Func_r(int meta_handle, int ms_timeout, const unsigned char *data_in, const int data_in_len, int type, unsigned char dummy_in, unsigned char *dummy_out,unsigned char *data_out, int *data_out_len);
其中
data_in: 传给手机端的数据
type: 没有用到,必须设置为0或1
dummy_in: 传给手机的命令,和手机端pFTReq->cmd.m_u1Dummy对应
dummy_out: 和手机端的ft_cnf.result.m_u1dummy 对应,作为操作成功与否的状态标识来用,例如0标识成功,1标识fail,你们可以自行设定。注意,判断成功与否的时候需要判断这个参数的值,不要用函数的返回值。
data_out: 手机返回给PC的数值
2. 手机端对应的处理函数是
void FT_CUSTOMER_OP(FT_CUSTOMER_REQ *pFTReq, char *pPeerBuf, kal_int16 peer_len)
函数的传入参数和返回给Tool的数据结构定义如下:
传入参数
typedef struct
{
FT_H header;
META_CUSTOMER_CMD_TYPE type;
META_CUSTOMER_CMD_U cmd; //这个代表cmd,请使用这个区分不同的cmd
} FT_CUSTOMER_REQ;
typedef union
{
unsigned char m_u1Dummy;
} META_CUSTOMER_CMD_U;
返回给Tool的数据结构
typedef struct
{
FT_H header;
META_CUSTOMER_CMD_TYPE type;
unsigned char status; //请一直返回success
META_CUSTOMER_CNF_U result; //请使用这个作为成功失败的标志
}FT_CUSTOMER_CNF;
typedef union
{
unsigned char m_u1Dummy;
}META_CUSTOMER_CNF_U;
在这个函数里面按照如下方式增加对应的命令处理:
Switch(pFTReq->cmd.m_u1Dummy)
{
Case 0:
…
Case 1:
…
....
....
}