Toshiba bluetooth stack と Bluesoleil に対応できました。
より多くの Bluetooth アダプタ(ドライバ) で動作するようになりました。
・WbalanceGE v1.20 (GoogleEarth を歩く)
・WBHealthMeter v1.10 (バランスWiiボード 体重計)
あらかじめ接続してから上記プログラムを起動する必要あり。
ペアリングと接続はそれぞれ、個別の接続管理画面で行います。
●Toshiba bluetooth stack ・Bluetooth 設定で[新しい接続]を押す 必要に応じて バランスWiiボード の Sync ボタンを押す。 ・一度登録されたら、以後は Nintendo RVL_WBC-01 のアイコンを選んで メニューから[接続]するだけ。このときも Sync ボタンを押す必要あり。 ●Bluesoleil ・バランスWiiボードの Sync を押して、検索画面でアイコンが表示されるのを待つ。 バランスWiiボードのランプ点滅が止まったら Sync を押しておく。 ・名前が確定したら、メニューから接続(Connect)を選ぶ やはり接続時も Sync ボタンを押しておく必要あり。 ●Windows 標準 ・これまでどおり、プログラム上から「バランスWiiボード登録」で可能。 コントロールパネルから登録しても OK
コマンドの送信が原因でした。他の bluetooth stack では
HidD_SetOutputReport() が使えないようです。Toshiba 以外はエラーも
返らないので工夫が要ります。
まとめると下記のようになります。
WindowsVista bluetooth stack ○ HidD_SetOutputReport × WriteFile (送信できない、エラーにならない) Toshiba bluetooth stack v5.10.15 × HidD_SetOutputReport (送信できない、エラーになる) ○ WriteFile Bluesoleil v2.6.0.1 070402 (BT-MicroEDR2 付属) HID の認識でエラーのため列挙できない Bluesoleil v5.0.5 64bit × HidD_SetOutputReport (送信できない、エラーにならない) ○ WriteFile
判定手順
1. HidD_SetOutputReport() を使い、0x15 等の return のあるコマンドを送る
2. もし 1. がエラーになったら WriteFile を選択する
3. 結果が来たらそのまま、一定期間経っても結果がこなければ WriteFile を選択する
今回実験した組み合わせ
Vista x86 + Princeton PTM-UBT3S + 付属 Toshiba stack
Vista x86 + Princeton PTM-UBT3S + Windows stack
Vista x64 + Planex BT-Mini2EDR + Windows stack
Vista x64 + Planex BT-Mini2EDR + Bluesoleil 5
Vista x64 + Planex BT-MicroEDR2 + Bluesoleil 2/5
関連エントリ
・バランスWiiボードを使ったまじめな体重計 WBHealthMeter 1.00
・バランスWiiボード で地球を歩く WbalanceGE v1.10