您的位置:首页 > 大数据 > 人工智能

FT系列------selftest fail

2016-07-20 09:36 381 查看
   今天遇到一个问题,手机tp的selftest 出错了,于是看了一下log:

12-13 01:33:42.486   391     0 I Kernel  : <6>[  107.303390] [Focal][Touch] ftxxxx_ftsscaptest_store : tp test failure

那么问题到底出在哪里呢

12-13 01:33:38.528   391     0 I Kernel  : <6>[  103.223817] hjptest--->RawData Test is NG. 出在这里

看代码跑到了这里test_lib.c

if( iTxNum == 0 || iRxNum == 0)
{
bTestReuslt  = false;
FTS_DBG("Tx: %2d, Rx: %2d  \n", iTxNum, iRxNum);
goto TEST_END;
}

也就是说这两个都是0

这两个在这里获取

        iTxNum = GetTxNum();
focal_msleep(100);
iRxNum = GetRxNum();

然后

static short GetTxNum(void)

{
short txnum = 0;
unsigned char regvalue = 0x00;

if(WriteReg(0x00, 0x40) >= 0)
{
ReadReg(0x02,®value);
txnum = (short)regvalue;
}
else
{
return TX_NUM_MAX;
}

return txnum;

}

static short GetRxNum(void)

{
short rxnum = 0;
unsigned char regvalue = 0x00;

if(WriteReg(0x00, 0x40) >= 0)
{
ReadReg(0x03,®value);
rxnum = (short)regvalue;
}
else
{
return RX_NUM_MAX;
}

return rxnum;

}

直接读register的值但是没有i2c的通信错误所以应该就是值有问题,而其实这个值是fw写的,selftest就是把ic里的参数读出来和外面的excel的设定值比较,如果设定值卡的比较死,而tp硬件有点偏差就会出现fail,所以要放宽设定值
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android kernel