「りも」トップページへ
PS2 Linux 目次へ
「パッドを読みたい (1)」大波挫折編
Jul.10.2001 (追記 Jul.13.2001)
取りあえずパッドから。
・ パッドデバイス
libps2 のサンプルコードに含まれている sjoy.c は Linux 標準の
ジョイスティックデバイス経由でパッドを読み込んでおり、この方式だと
読めるボタンの数も少なくなっています。
その他色々と不満があったので ps2pad デバイス(/dev/ps2pad*)から
データを読み込むルーチンを作ろうとしました。
実際にいじってみると色々とわかってきたことがあったり、基本設計に
問題があったりしたので途中で放棄し作り直すことにしました。
というわけでその放棄ソース、サンプルがわりにでも
lmp_joypad00.tar.gz
(ゴミコードですが)利用権は GPL2 に従ってください。
アナログスティックやアナログボタンの入力もサポートしています。
というかそれがやりたかった。
・ 問題点 (Jul.10.2001 現在)
- ブロックモードでオープンすると本当に read でブロックされる
(時間がかかる)
- 動作中にパッドを抜いたり挿したりするとその度に再初期化で
時間がかかる
- アクチュエーター(ぶるぶる)で右の小さい方の回し方がわからない
(調査中)
fork で pad_poll 部分をブン回すしかないかなあ…。
IOP側のコールバックはたぶんドライバーの中にとられちゃっているので
通信同期がとれない。
追記 (Jul.13.2001)
アクチュエーター(ぶるぶる)の小さい方が回らないなあといっていた
原因がわかりました。アクチュエーター0(小さい方)はデジタルスイッチで
0 or 1 で指定し、アクチュエーター1(大きい方)はアナログスイッチで
0〜255 で指定します。アクチュエーター1 は与えた数値によって回転速度
が変化します。
サンプルコードも更新。ボタン押すとぶるぶるぶる。
rero2@yuumu.org