さて、ママチャリに話題をもどして、デバッグの模様を御紹介します。
朝、札幌から十勝サーキットに車で移動して、途中、名物豚丼を食べて、12時間の完走に向けて英気を養いながら、無事到着です。
到着して、早速デバッグ開始です。しかし、AC電源が使用できません。
昨年まで、ピット内の電力消費量が多かったため、自転車というエコな乗り物のレース中に大量の電力消費はよくないということでピット内のAC電源が使用禁止になってしまいました。
とりあえず、ノートPCのバッテリーがある限り、デバッグを行います。
GPSからのデータは正常に取得できて、ルーターに送信しているんですが、全くAirにデータが出てきません。
原因調査をして、送信しているデータのフォーマットがよくないことが判明。
WriteToRadioUARTLen(radioUARTTxBuffer, (uint8)i);
上記のAPIでデータをそのままAir向けのシリアルポートに送っていたのですが、XBeeはAPIモードで動作しているため、APIモードのフレームを組み立てて、送信しないといけないようです。
XBeeをトランスペアレントモードにすればうまくいくだろうということで、トランスペアレントモードに変えても、送信が出来ません。
どこかでAPIモードに戻されてしまうようです。
さんざん試したのですが、トランスペアレントモードで動作してくれないので、APIモードのフレームを組み立てて、送信しようということになり、ソースコードを眺めていると、ありました、APIモードの送信APIが(ラッキー)
なので、APIモードのデータ送信のAPIを使用するように変更しました。
TransmitData(radioUARTTxBuffer, (uint8)i, dst);
これで、見事にZigBeeの送信が出来るようになり、Air上にデータが飛んでいるのですが、ルーター(ConnectPortX4)が正常に受信できない状態。このおかげサーバーにデータが到着しないというところまではわかったんですが、その原因がわかりません。
試行錯誤したのですが、どうしても原因がわかりません。
耐久レーススタートまでがんばったのですが、PCのバッテリーがなくなり、ここでデバッグ終了。
AC電源を探して、レース中にデバッグを継続することにしました。
AC電源はどこだ!!
コメントする