SSブログ

SpotMicro(mini) その7 ーリモートコントローラにも気をつけろ(その2)ー [ROBOT]

前回の記事で、XBOXOneのコントローラには、Bluetoothに接続できるものとできないものがあり、できるものをてにいれて、接続できたところまでは書いた。

SpotMicroaiのページによると、jstest コマンドを使うと、接続状態を確認でき、ボタンやスティックを稼働させると変化が出力される。

このコマンドを実行すると、接続されているボタン等のリストが出力される。
Driver version is 2.1.0.
Joystick (Xbox Wireless Controller) has 8 axes (X, Y, Z, Rz, Gas, Brake, Hat0X, Hat0Y)
and 15 buttons (BtnA, BtnB, BtnC, BtnX, BtnY, BtnZ, BtnTL, BtnTR, BtnTL2, BtnTR2, BtnSelect, BtnStart, BtnMode, BtnThumbL, BtnThumbR).


? !なんかおかしい。

ここで、SpotMicroaiのプログラムを動かし、Startボタンを押すと、エラーが発生して止まる。

エラーの内容は”Ryがない。”
で、上のスティックの列を見ると確かに、Ryはない。


そこで、USBケーブルを使用して、Bluetoothではないコントローラを接続して、jstestを起動すると
\
Driver version is 2.1.0.
Joystick (Microsoft X-Box One pad) has 8 axes (X, Y, Z, Rx, Ry, Rz, Hat0X, Hat0Y)
and 11 buttons (BtnA, BtnB, BtnX, BtnY, BtnTL, BtnTR, BtnSelect, BtnStart, BtnMode, BtnThumbL, BtnThumbR).



こっちにはRyがある!
さらに

Bluetooth で接続できたものをUSBでつないてみると
Driver version is 2.1.0.
Joystick (Microsoft X-Box One S pad) has 8 axes (X, Y, Z, Rx, Ry, Rz, Hat0X, Hat0Y)
and 11 buttons (BtnA, BtnB, BtnX, BtnY, BtnTL, BtnTR, BtnSelect, BtnStart, BtnMode, BtnThumbL, BtnThumbR).


あれ?こっちにもあるなあ。おんなじコントローラなのに。だけど、名前が違うのか。
GamePadのプロファイルは誰がどうやって認識してるんだろう。
多分、接続時に、プロファイルを読み取り、認識してるんだろうと思う。

だとするともう手においえないので、スティックの対応を読み替えることにした。

SpotMicroのプログラムは、RemoteControllerを自前で認識している。であれば、
報告されたスティック番号を入れ替えればいい。

スティックの名前つけマップを以下のようにした。

    if js_name == 'Xbox Wireless Controller':
                    print('remap axis_name')
                    axis_names = {
                        0x00: 'lx',
                        0x01: 'ly',
                        0x02: 'rx',
                        0x03: 'ry',
                        0x04: 'ry',
                        0x05: 'ry',
                        0x06: 'ry',
                        0x07: 'rz',
                        0x08: 'wheel',
                        0x09: 'rz',
                        0x0a: 'lz',
                        0x10: 'hat0x',
                        0x11: 'hat0y',
                        0x12: 'hat1x',
                        0x13: 'hat1y',
                        0x14: 'hat2x',
                        0x15: 'hat2y',
                        0x16: 'hat3x',
                        0x17: 'hat3y',
                        0x18: 'pressure',
                        0x19: 'distance',
                        0x1a: 'tilt_x',
                        0x1b: 'tilt_y',
                        0x1c: 'tool_width',
                        0x20: 'volume',
                        0x28: 'misc',
                    }



とりあえずこの変更で、起動するところまで行った!

レストポジションになるみたいだ。

そこで、起こったことは、
”パチッ!!”と言って煙が”?”の形で上がった。


いろいろ起こるなあ
タグ:SpotMicro robot
コメント(0) 
共通テーマ:趣味・カルチャー

コメント 0

コメントを書く

お名前:[必須]
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

Facebook コメント

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。