在dts文件中,修改触摸屏的硬件参数。
// i2c接口
&i2c4 {
// 使能
status = "okay";
// 设备地址(记得除二)
ts@5d{
compatible = "goodix,gt9xx";
reg = <0x5d>;
// 复位IO
goodix,rst-gpio = <&gpio7GPIO_B2 GPIO_ACTIVE_HIGH>;
// 中断IO
goodix,irq-gpio = <&gpio7GPIO_B1 IRQ_TYPE_LEVEL_LOW>;
pinctrl-names = "default";
// 中断IO默认上拉
pinctrl-0 = <&gpio7_b1>;
// 触摸屏配置参数,需要供应商提供,group0-group5,根据Sensor-ID决定,若ID=4,则使用goodix,cfg-group4
goodix,cfg-group0 = [
63 40 01 E0 01 05 35 00 01 08 28 05 50 32 03 05 00 00 00 00
00 00 00 14 16 18 10 8C 20 08 17 15 31 0D 00 00 02 9A 04 24
00 00 00 00 00 03 64 32 00 00 00 0F 94 94 45 02 07 00 00 04
8D 13 00 5C 1E 00 3C 30 00 28 4C 00 1D 78 00 1D 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 02 04 06 08 0A 0C 0E 10
FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 02 04 06 08 0A 0C 0F 10 12 13 14 FF FF FF FF FF FF
FF FF FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 C9 01];
};
};
此时已配置完毕
若出现触摸方向x、y反了,可以联系供应商改配置文件,也可以在头文件中打开交换x、y坐标的宏
宏生效后,会在触摸按下的函数 gtp_touch_down 中,交换x、y坐标
#define GTP_CHANGE_X2Y 1 //swap x y
#if GTP_CHANGE_X2Y
GTP_SWAP(x, y);
#endif
若出现触摸方向x、y镜像了,可以联系供应商改配置文件,也可以在触摸按下的函数 gtp_touch_down 中,修改x、y坐标
// abs_x_maxabs_y_max 分别是x y方向的最大值
// x 方向镜像
x =ts->abs_x_max - x;
// y 方向镜像
y =ts->abs_y_max - y;
若出现触摸不准,,触摸跳点等问题,则需要联系供应商查看硬件或者修改配置参数。
在dts文件中,修改触摸屏的硬件参数。
// i2c接口
&i2c4 {
// 使能
status = "okay";
// 设备地址(记得除二)
ts@5d{
compatible = "goodix,gt9xx";
reg = <0x5d>;
// 复位IO
goodix,rst-gpio = <&gpio7GPIO_B2 GPIO_ACTIVE_HIGH>;
// 中断IO
goodix,irq-gpio = <&gpio7GPIO_B1 IRQ_TYPE_LEVEL_LOW>;
pinctrl-names = "default";
// 中断IO默认上拉
pinctrl-0 = <&gpio7_b1>;
// 触摸屏配置参数,需要供应商提供,group0-group5,根据Sensor-ID决定,若ID=4,则使用goodix,cfg-group4
goodix,cfg-group0 = [
63 40 01 E0 01 05 35 00 01 08 28 05 50 32 03 05 00 00 00 00
00 00 00 14 16 18 10 8C 20 08 17 15 31 0D 00 00 02 9A 04 24
00 00 00 00 00 03 64 32 00 00 00 0F 94 94 45 02 07 00 00 04
8D 13 00 5C 1E 00 3C 30 00 28 4C 00 1D 78 00 1D 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 02 04 06 08 0A 0C 0E 10
FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 02 04 06 08 0A 0C 0F 10 12 13 14 FF FF FF FF FF FF
FF FF FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 C9 01];
};
};
此时已配置完毕
若出现触摸方向x、y反了,可以联系供应商改配置文件,也可以在头文件中打开交换x、y坐标的宏
宏生效后,会在触摸按下的函数 gtp_touch_down 中,交换x、y坐标
#define GTP_CHANGE_X2Y 1 //swap x y
#if GTP_CHANGE_X2Y
GTP_SWAP(x, y);
#endif
若出现触摸方向x、y镜像了,可以联系供应商改配置文件,也可以在触摸按下的函数 gtp_touch_down 中,修改x、y坐标
// abs_x_maxabs_y_max 分别是x y方向的最大值
// x 方向镜像
x =ts->abs_x_max - x;
// y 方向镜像
y =ts->abs_y_max - y;
若出现触摸不准,,触摸跳点等问题,则需要联系供应商查看硬件或者修改配置参数。
举报