优化防误触代码
This commit is contained in:
parent
67a20eefe4
commit
620fa10adf
@ -604,6 +604,53 @@ uint8_t RTE_Get_ACT_LD_OUT_SNS(void)
|
|||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
//统计所有触发的通道数量
|
||||||
|
uint8_t GetActiveChNum (uint16_t chdata[],uint16_t thdata[],uint8_t num)
|
||||||
|
{
|
||||||
|
uint8_t i,count;
|
||||||
|
count = 0;
|
||||||
|
for (i = 0; i < num; i++)
|
||||||
|
{
|
||||||
|
if (chdata[i] > thdata[i])
|
||||||
|
{
|
||||||
|
count++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return count;
|
||||||
|
}
|
||||||
|
|
||||||
|
//统计连续触发的通道数量
|
||||||
|
uint8_t GetContinuousChNum(uint16_t chdata[],uint16_t thdata[],uint8_t num)
|
||||||
|
{
|
||||||
|
uint8_t i,count,index;
|
||||||
|
count = 0;
|
||||||
|
index = 0;
|
||||||
|
for (i = 0; i < num; i++)
|
||||||
|
{
|
||||||
|
if (chdata[i] > thdata[i])
|
||||||
|
{
|
||||||
|
//找到第一个触发的通道
|
||||||
|
index = i;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (i == num)
|
||||||
|
{
|
||||||
|
//没有触发的通道
|
||||||
|
return count;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (i = index; i < num; i++)
|
||||||
|
{
|
||||||
|
if (chdata[i] <= thdata[i])
|
||||||
|
{
|
||||||
|
//找到第一个触发的通道之后第一个不触发的通道
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
count = i - index;
|
||||||
|
return count;
|
||||||
|
}
|
||||||
|
|
||||||
uint8_t RTE_Get_TouchBoard_XY_Touch_And_Below_1N(void) // 0 false 1 true
|
uint8_t RTE_Get_TouchBoard_XY_Touch_And_Below_1N(void) // 0 false 1 true
|
||||||
{
|
{
|
||||||
@ -643,6 +690,9 @@ uint8_t RTE_Get_TouchBoard_XY_Touch_And_Below_1N(void) // 0 false 1 true
|
|||||||
th_y[3] = qtlib_key_configs_set1[11].channel_threshold;
|
th_y[3] = qtlib_key_configs_set1[11].channel_threshold;
|
||||||
th_y[4] = qtlib_key_configs_set1[12].channel_threshold;
|
th_y[4] = qtlib_key_configs_set1[12].channel_threshold;
|
||||||
|
|
||||||
|
|
||||||
|
Two_Finger_Y_count = GetActiveChNum(Two_Finger_Y_data,th_y,5U);
|
||||||
|
/*
|
||||||
Two_Finger_Y_count = 0;
|
Two_Finger_Y_count = 0;
|
||||||
for (i = 0; i < 5; i++)
|
for (i = 0; i < 5; i++)
|
||||||
{
|
{
|
||||||
@ -651,7 +701,9 @@ uint8_t RTE_Get_TouchBoard_XY_Touch_And_Below_1N(void) // 0 false 1 true
|
|||||||
Two_Finger_Y_count++;
|
Two_Finger_Y_count++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
Y_count = GetContinuousChNum(Two_Finger_Y_data,th_y,5U);
|
||||||
|
/*
|
||||||
i = 0;
|
i = 0;
|
||||||
Y_count = 0;
|
Y_count = 0;
|
||||||
while (Two_Finger_Y_data[i] <= th_y[i++] && i < 5)
|
while (Two_Finger_Y_data[i] <= th_y[i++] && i < 5)
|
||||||
@ -664,7 +716,11 @@ uint8_t RTE_Get_TouchBoard_XY_Touch_And_Below_1N(void) // 0 false 1 true
|
|||||||
else
|
else
|
||||||
Y_count++;
|
Y_count++;
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
|
Two_Finger_X_count = GetActiveChNum(Two_Finger_X_data,th_x,5U);
|
||||||
|
X_count = GetActiveChNum(Two_Finger_X_data,th_x,5U);
|
||||||
|
/*
|
||||||
Two_Finger_X_count = 0;
|
Two_Finger_X_count = 0;
|
||||||
for (m = 0; m < 5; m++)
|
for (m = 0; m < 5; m++)
|
||||||
{
|
{
|
||||||
@ -685,7 +741,7 @@ uint8_t RTE_Get_TouchBoard_XY_Touch_And_Below_1N(void) // 0 false 1 true
|
|||||||
else
|
else
|
||||||
X_count++;
|
X_count++;
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
// 触发的通道数量 //连续触发的通道数量
|
// 触发的通道数量 //连续触发的通道数量
|
||||||
if ((Two_Finger_Y_count > 4 && Two_Finger_X_data[0]>th_x[0]) || Y_count != Two_Finger_Y_count
|
if ((Two_Finger_Y_count > 4 && Two_Finger_X_data[0]>th_x[0]) || Y_count != Two_Finger_Y_count
|
||||||
|| Two_Finger_X_count > 4 || X_count != Two_Finger_X_count)
|
|| Two_Finger_X_count > 4 || X_count != Two_Finger_X_count)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user