Jetson NanoでF710のジョイスティックをpygameで使う
背景
JetRacerをDonkeycar方式でデータ取れるようにプログラムを作ったが、ある日突然F710のジョイスティックが急にpygameから読み込めなり、デバイス0が読み込めなくなった。
import pygame
# pygameの初期化
pygame.init()
# ジョイスティックの初期化
pygame.joystick.init()
joystick = pygame.joystick.Joystick(0)
joystick.init()
ちなみに、システムからは読み込めている
ls -l /dev/input/js0
crw-rw-r-- 1 root input 13, 0 10月 17 01:03 /dev/input/js0
問題
- いつの間にかバージョンアップしてしまったpygameが2.5.0のバージョンになっていた。下記では現時点でpygameは2.5.0が入る。
pip install pygame
解決策
pygameのバージョンを1.9.6に戻す。
仮想環境等に入っている場合は抜けてから実行。
pip uninstall pygame
pip install pygame==1.9.6
エラーが出る場合は公式からとってきて、ビルドしインストールする。
https://www.pygame.org/ftp/pygame-1.9.6.tar.gz
tar zxf pygame-1.9.6.tar.gz
pygame-1.9.6/
python setup.py build
sudo python setup.py install
ジョイスティックインスタンスのinit()が通ればOK!
import pygame
# pygameの初期化
pygame.init()
# ジョイスティックの初期化
pygame.joystick.init()
joystick = pygame.joystick.Joystick(0)
joystick.init()