Android 如何解释 SPI 接收到的输入

How input received by SPI may be interpreted by Android

这是我关于 Whosebug 的第一个问题,尽管我是这个问题解决来源的连续 reader。

无论如何,这就是我面临的问题:

我正在尝试连接总线 SPI 和两个评估板:

我想通过 SPI 连接这两个,并从 Linux 一个发送到 Android 触摸序列(根据多点触摸协议 (https://www.kernel.org/doc/Documentation/input/multi-touch-protocol.txt))。 spidev 已启用,但我不知道如何 "perform" 我将收到的触摸。

据我所知:我无法使用 Android 输入设备 (https://source.android.com/devices/input/input-device-configuration-files.html),因为它不能依赖 SPI 通信。 那么我必须在 linux 内核中创建一个驱动程序吗?在这种特殊情况下 "best practice" 是什么?

提前致谢,您可能会节省我的实习时间:)

如果您的 Android Linux 内核设置为公开 /dev/spidev(或者您可以在内核中设置),则不必创建 Linux 内核模块。您可以通过在 c/c++ 中编写 NDK 包装器从 Android 访问 /dev/spidev。 我已经做到了并且有效。我建议您从编写一个配置和打开 /dev/spidev spi 通道和 sends/receives 一些测试数据的小型 c 程序开始。如果可行,请将 c 程序重写为 NDK 包装器库,您可以从 Android 程序访问。

这假设 Android 应用是您自己编写的。如果你想让触摸事件对 Android 一般可用,我认为你需要将触摸驱动程序编写为内核模块。