这是我关于stackoverflow的第一个问题,尽管我是这个解决问题的来源的持续读者。
无论如何,这是我面临的问题:
我正在尝试连接总线SPI两个评估板:
- 第一个(数据源)模拟触摸屏,是一个Linux发行版(目前:Raspbian)。
- 第二个是嵌入式的Android。
我想通过SPI连接这两者,并将触摸序列从Linux发送到Android(根据多点触摸协议(https://www.kernel.org/doc/Documentation/input/multi-touch-protocol.txt))。spidev 已启用,但我不知道如何"执行"我将收到的触摸。
从我所看到的:我不能使用Android输入设备(https://source.android.com/devices/input/input-device-configuration-files.html),因为它不能依赖SPI通信。那么我必须在 linux 内核中创建驱动程序吗?在这种特殊情况下的"最佳实践"是什么?
提前感谢,你可能会节省我的实习:)
如果你的 Android Linux 内核被设置为公开/dev/spidev(或者你可以在内核中设置),你不必创建一个 Linux 内核模块。你可以通过用 c/c++ 编写 NDK 包装器从 Android 访问/dev/spidev。我已经做到了,它有效。我建议你从编写一个小的c程序开始,它配置并打开一个/dev/spidev spi通道,并发送/接收一些测试数据。当它起作用时,将c程序重写为可以从Android程序访问的NDK包装库。
这假设Android应用程序是你自己编写的。如果你想让触摸事件一般地适用于Android,我认为你需要编写一个触摸驱动程序作为内核模块。