WiiRemote関係のプログラミングにブレイクスルーが。 といってもクラス化、API化してコード整理しているだけなので、目に見えた何か成 果があるわけじゃないんだけど…コーディングしてると灰になる…じゃなかったハイ になる…そろそろ寝なきゃあ。 あ、メモついでに書いておきますが「BlueSoleilスタック経由でしか動かない問 題」、つまり「DELLのToshiba BlueToothスタックで動かない問題」はだいぶ、正体 が見えつつあります。 基本的な問題はこのあたり。 ・初期化で待つ必要がある ・ReadFileでHIDのデバイスキャパビリティのInputReportByteLengthを利用したほう がよいという情報が。 端的にいえば ReadFile(handle,InputReport,Capabilities.InputReportByteLength,len,NULL); 懇切丁寧にいえば //Get the Capabilities structure for the device. PHIDP_PREPARSED_DATA PreparsedData; HidD_GetPreparsedData(mHandle, &PreparsedData); HidP_GetCaps(PreparsedData, &m_capabilities); HidD_FreePreparsedData(PreparsedData); printf(“m_capabilities.InputReportByteLength=%d [%c]\n”,m_capabilities.InputReportByteLength,mHandle); ってことです。たぶん22が帰ってきますけど。 あと気がついたこといろいろ ・赤外線の初期化 IRを使うときは初期化のプロセスが違います。はっきりいってこれは暗号にちか い…kako.comにあるサンプル(ver.2)が回答を出しています。えらい!! なお、赤外線の感度強度は初期化時に指定します。距離に対する感度のよさが変わ ります。複数のLEDを混同したり、外光(太陽光線は赤外光を含んでいますので)が入 る環境では、この設定を変えてみるといいと思います。 ・重力のキャリブレーション いちおうそういう機能がWiiRemoteにはあるようなんですが、どうもうまく使えま せん(読めない)。取得できなかったことも考えたコードにしないといけないですし、 そもそも各軸8bitの精度で何を得ようというんでしょうか…もし情報持ってる人がい たら教えてください。 いま書いているAPIは近いうちに公開予定。 でも並列でいろんなコード書いているのであまりに無駄が多い…どうにかして早く API化してしまわないと…! あとはサンプルプログラム集のほうが喜ばれるのかも、と思った。