我使用的镜像是VIM3_Ubuntu-server-focal_Linux-4.9_arm64_SD-USB_V0.9-20200530
然后使用bluetoothctl
连接北通阿修罗2(BTP-2585N2)手柄,连接成功后在/dev/input/
下没有出现jsx
。如果使用USB线直接连接北通阿修罗(BTP-2585)手柄,会增加一个鼠标设备/dev/input/mouse1
;USB线连接阿修罗2手柄则依旧没有反应。
而同样的方法在树莓派3上面操作,会出现/dev/input/js0
,使用jstest
测试,结果正常。
因为我打算使用ROS的joy,需要用到jsx
,所以想请教一下,在VIM3上应该如何操作?
看了下默认kernel好像没有加JOYSTICK支持,我这边编译了一个新的kernel,你试着安装看看,我这边没有设备测试,所以需要你那边验证看看。
更新内核:
$ wget https://dl.khadas.com/test/linux-image-amlogic-4.9_0.9.5_arm64.deb
$ sudo dpkg -i linux-image-amlogic-4.9_0.9.5_arm64.deb
$ sync
$ sudo reboot
非常感谢!
我测试了一下,已经出现了/dev/input/js0
。
不过使用jstest测试时和树莓派有一些不一样:树莓派在连接阿修罗2后,左右摇杆的值都是0;在连接阿修罗1后,左右摇杆的值都是-32767(边界值),但是在按任意键后,都会全部刷新为正常值(0)。而现在VIM3连接其中一个手柄后,左右摇杆的值都是-32767(边界值),摇动摇杆只能让对应的值显示正常值,其他值并不刷新。
注:
4、5对应trigger,未按下时值为-32767,按到底为32768;
0~3对应左右摇杆的X、Y轴,位于中间时值为0。
我上传了个新的内核,再次更新下kernel试试,方法和之前一样。
这个就不太清楚了,不知道这个是否需要额外的驱动支持?我手里没设备,也没法继续调试。
是的,需要安装joystick和jstest-gtk来进行测试。
sudo apt install jstest-gtk joystick
我现在参照编译文档
已经完成了内核编译,但是不清楚该如何设置添加手柄驱动。
请问接下来我应该如何操作呢?
你可以先看看4.9内核里面是否已经包含这个的驱动了,如果有,那么直接把这个驱动配置上就行了。
如何增加内核配置?都是通用的方法,如下:
$ make ARCH=arm64 kvims_defconfig
$ make ARCH=arm64 menuconfig
### 增加你的配置,保存退出
$ make ARCH=arm64 savedefconfig
$ mv defconfig arch/arm64/configs/kvims_defconfig
然后进入Fenix目录,重新编译kenrel debian包
$ make kernel-deb
如何4.9内核里面没有,那么你就得自己去移植驱动过来了。
我发现只要增加
CONFIG_INPUT_JOYDEV=m
就可以正常识别我现在用的手柄了,但是仍然有前面所述的问题。
感觉这个问题影响不大,暂时先这样吧,非常感谢!
这个我之前提供给你的测试内核就是加了这个的。