tslib如何移植到linux开发板,一线触摸tslib移植完全说明

#

# This patch adds support for one wire input raw module (Linux /dev/touchscreen-1wire support).

#

# Signed-off-by: Richard Nee

#

--- tslib.orig/configure.ac    2012-05-07 22:28:42.000000000 +0800

+++ tslib/configure.ac    2012-05-07 23:53:18.849542215 +0800

@@ -68,6 +68,7 @@

TSLIB_CHECK_MODULE([dmc], [yes], [Enable building of dmc raw module (HP iPaq DMC support)])

TSLIB_CHECK_MODULE([input], [yes], [Enable building of generic input raw module (Linux /dev/input/eventN support)])

TSLIB_CHECK_MODULE([touchkit], [yes], [Enable building of serial TouchKit raw module (Linux /dev/ttySX support)])

+TSLIB_CHECK_MODULE([one-wire-ts-input], [yes], [Enable building of one wire input raw module (Linux /dev/touchscreen-1wire support)])

AC_MSG_CHECKING([where to place modules])

AC_ARG_WITH(plugindir,

--- tslib.orig/plugins/Makefile.am    2012-05-07 22:28:42.000000000 +0800

+++ tslib/plugins/Makefile.am    2012-05-08 00:08:59.229542649 +0800

@@ -114,6 +114,12 @@

CY8MRLN_PALMPRE_MODULE =

endif

+if ENABLE_ONE_WIRE_TS_INPUT_MODULE

+ONE_WIRE_TS_INPUT_MODULE = one_wire_ts_input.la

+else

+ONE_WIRE_TS_INPUT_MODULE =

+endif

+

pluginexec_LTLIBRARIES = \

$(LINEAR_MODULE) \

$(DEJITTER_MODULE) \

@@ -130,7 +136,8 @@

$(H2200_LINEAR_MODULE) \

$(INPUT_MODULE) \

$(TOUCHKIT_MODULE) \

-    $(CY8MRLN_PALMPRE_MODULE)

+    $(CY8MRLN_PALMPRE_MODULE) \

+    $(ONE_WIRE_TS_INPUT_MODULE)

variance_la_SOURCES    = variance.c

variance_la_LDFLAGS    = -module $(LTVSN)

@@ -185,3 +192,6 @@

cy8mrln_palmpre_la_SOURCES = cy8mrln-palmpre.c

cy8mrln_palmpre_la_LDFLAGS = -module $(LTVSN)

+

+one_wire_ts_input_la_SOURCES = one-wire-ts-input.c

+one_wire_ts_input_la_LDFLAGS = -module $(LTVSN)

--- tslib.orig/plugins/plugins.h    2012-05-07 22:28:42.000000000 +0800

+++ tslib/plugins/plugins.h    2012-05-07 23:57:38.369542335 +0800

@@ -16,3 +16,4 @@

TSLIB_DECLARE_MODULE(tatung);

TSLIB_DECLARE_MODULE(input);

TSLIB_DECLARE_MODULE(cy8mrln_palmpre);

+TSLIB_DECLARE_MODULE(one_wire_ts_input);

--- /dev/null    2012-05-08 11:52:49.481035009 +0800

+++ tslib/plugins/one-wire-ts-input.c    2012-05-08 12:04:38.749035337 +0800

@@ -0,0 +1,66 @@

+#include

+#include

+#include

+#include

+#include

+#include

+#include

+#include

+#include

+#include

+#include

+#include

+#include

+

+#include "config.h"

+#include "tslib-private.h"

+

+static int misc_read(struct tslib_module_info *inf, struct ts_sample *samp, int nr)

+{

+    struct tsdev *ts = inf->dev;

+

+    int ret;

+    unsigned ts_status;

+    ret = read(ts->fd, &ts_status, sizeof ts_status);

+    if (ret < 0) {

+        return 0;

+    }

+    if (ret == 0) {

+        return 0;

+    }

+

+    samp->x = ((ts_status) >> 16) & 0x7FFF;

+    samp->y = ts_status & 0x7FFF;

+    samp->pressure = ts_status >> 31;

+    gettimeofday(&samp->tv,NULL);

+    nr = nr;

+

+    return 1;

+}

+static int ts_fini(struct tslib_module_info *inf)

+{

+        free(inf);

+        return 0;

+}

+

+static const struct tslib_ops misc_ops =

+{

+    .read    = misc_read,

+        .fini   = ts_fini,

+};

+

+TSAPI struct tslib_module_info *one_wire_ts_mod_init(struct tsdev *dev, const char *params)

+{

+    struct tslib_module_info *m;

+

+    m = malloc(sizeof(struct tslib_module_info));

+    if (m == NULL)

+        return NULL;

+

+    m->ops = &misc_ops;

+    return m;

+}

+

+#ifndef TSLIB_STATIC_FRIENDLYARM_TS_MODULE

+TSLIB_MODULE_INIT(one_wire_ts_mod_init);

+#endif

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值