マイコン工作実験日記

Microcontroller を用いての工作、実験記録

8BitDo Zero 2

2024-01-27 14:10:24 | DoomPlayer

BT860-SAを使ったゲームパッドのBluetooth接続もできるようになったので、新たなコントローラーとして8BitDo の Zero 2のサポートを追加しました。DualSenseやDualShock4はアナログパッドや6軸センサー機能も有しており機能豊富なのですが、大きくてそこそこの重量もある上に高価でもあるので、もっと手頃なコントローラを探したところZero2を見つけました。

このコントローラは、Switch, Window, Android, MacOS, Keyboardの4つの動作モードを有しており、ベアリングの開始方法によって動作モードを選択できるようになっています。どのモードを使うのがいいのか迷うところですが、ちょっと調べたところMacOSモードを使うのが都合がいいことがわかりました。その理由は簡単でこのモードではデバイス名が 'Wireless Controller' となり、ペアリング時にDualSenseやDualShockと同じ名前になるためです。DoomPlayerではBluetoothでコントローラを検索する際にデバイス名とCoD (Class of Device)の情報をチェックしているのですが、このMacOSモードを使うとDualSense/DualShock4と同じデバイス名/CoDを使ってくれるので、容易に判別できるのです。

逆にデバイス名とCoDだけでは、DualSense/DualShock4/8BitDo Zero 2の違いは判別できないのですが、そこはさらにVendor ID/Product IDを調べて識別を行うようにしています。

さて、実際にZero 2 をつなげてみると、出力されるHIDのInput Reportは DualSense/DualShock4とはかなり異なります。ボタン数が少なくセンサーもないのでInput Reportのサイズが小さくなるのは当然なのですが、出力されるタイミングが全く異なります。DualSense/DualShock4では、毎秒800回ほどのレートで常時継続してInput Reportが出てくるのですが、Zero 2ではボタンを押したり/離したりして状態変化があった時にのみInput Reportが送られてきます。毎秒800回のInput Reportの受信処理はそれなりの負荷になりますので、小さなマイコンや省電力化を図りたい場合には、Zero 2の動作は好ましいとも言えます。

 


最新の画像もっと見る

コメントを投稿

ブログ作成者から承認されるまでコメントは反映されません。