4.3 定义触摸库变量
定义如下变量,变量含义及参数设定原则详见第五节说明。
水位库 kf8spsw_lib_touch.c, 文件的参数需与头文件一致,如下所示:
///*****************************************************************
// * 文件名: kf8spsw_lib_touch.c
// * 版 本: V2.0
// * 日 期: 2015-6-28
// * 作 者: 上海芯旺微电子技术有限公司
// * 说明: 电容触摸库函数文件
********************************************************************/
#include "kf8spsw_lib_touch.h" //引入触摸库函数头文件
/*******************************************************************/
//触摸库使用
/*******************************************************************/
unsigned char const CHS_AMOUNT = MX_CH; //传递系统最大通道数量,固定
//满足阀值的次数滤波识别一个状态的转换,速度与模型相关和需求相关。
unsigned int const TCS_AMOUNT = 200;
//量化参考通道变化率多于x属于异常波动
signed int const
_KF8_Inside_Reference_Channel_Disturb_Threshold_Set_=15; //参考通
道抖动识 阀
unsigned int _KF8_Disturb_Protect_Circle_; // 抖动保护计时
unsigned int const _KF8_Disturb_Protect_Circle_Define=20; // 抖动保护
时长设定
unsigned int _KF8_Up_BaseLine_Circle_;// 参考更新计时
unsigned int const _KF8_Up_BaseLine_Circle_Define=200; // 参考更新时长
//使用的通道数据及通道号,这里需和芯片对应,如CT3写3
unsigned char const _KF8_TOUCH_CH_EN[MX_CH]={
10,
9,
8,
11,
2,
4,
5, // 需满足设定的通道个数,多余的会优化掉
};
// 算法中比引入参考通道数组位置
unsigned char const _KF8_Inside_Reference_Channel_Order=3;//即CT11参考
// 有水阀值 阀值设定 有水大于无水阀值,中间为识别死区
signed int const _KF8_Config_Finger_Threshold[MX_CH]={
38,
30,
20,
1000,// 参考通道不参与判断
// . . . 须满足设定的通道个数
};
// 无水阀值
signed int const CONFIG_NO_FINGER_THRESHOLD[MX_CH]={
20,
20,
17,
800, 参考通道不参与判断
// . . . 须满足设定的通道个数
};
volatile unsigned char _KF8_LIBc_channel_; //当前处理通道位置
volatile unsigned int _KF8_LIBi_channel_flag_; //对外提供按键信息
/*以下为触摸算法所用到的通用变量数据,数组的元素个数必须与所开通的通道数一致****/
unsigned int _KF8_LIBi_buff_hit_[MX_CH]; //记录当前通道的采样值
unsigned int _KF8_LIBi_buff_baseline_[MX_CH]; //当前通道的基准值
unsigned int _KF8_LIBi_buff_refline_[MX_CH]; //当前设备的出厂参考值
unsigned int _KF8_LIBc_touch_count_[MX_CH]; //按键识别次数滤波
signed int _KF8_LIBi_Date_Change_[MX_CH]; //通道变化量
/*******************************************************************/
//触摸库使用资源结束
/*******************************************************************/
|