今日から仕事復帰。
台風が来たりして色々大変だったけど、やることはやりますよ、と。
まず解消しなければならないのが、APM 2.8のファーム書き込み問題。
ベリファイエラーが出る以上、書き込みか読み出しが失敗しているはずで、ボードの問題か通信の問題かははっきりさせないと。ネットで事例を調べる限り、100%確実に直る方法は無さそうに見える。うまくいったという報告例でも、環境依存というかおまじない的なことで対処していたりするんで、あまりあてになる情報はなかった。
そんな中でも、Mac上のVMWareにWindows XPをインストールして設定している人が、Arduino Mega 2560のプロパティで仮想COMポートの設定を変更しただけでうまくいったという報告を載せていたんで、自分もVMに接続していることもあって、真似してみることに。
ただ、VMにWindows 7をインストールした環境ではCOMポートの設定を変更しても保存されなさそうだったんで、環境を真似てXPを使って試してみた。XPだとポートの設定が保存されるようだったんで。
結果、XPではデバイスドライバーのインストールがうまくいかず、そもそもデバイスとして認識されない問題が発生。Mission Plannerインストール時にインストールされるドライバーの場所がよくわからず、手動でインストールすることができなかったんで、Arduino IDEをインストールし、その際にインストールされるArduino Megaのドライバーを使って認識させた上でMission Plannerからファームをインストールした。
それでも結果は変わらずベリファイエラー。しょうがないんで、ボーレートを9600bpsまで下げて数回トライしたところ、5,6回目でエラーなく完了した!ただ、完了する瞬間離席していて、本当に完了したかわからなかったんで、再度ファームをアップロードしてみたものの、やっぱりエラーが出る。ひどいときは、アップロードを開始できずにエラーになることもある。どうも、ボードとの初期の同期処理がうまくできず、通信を開始できないことがあるようだ。めげずに何度も挑戦したところ、10数回目で再度成功。
ということで、原因がどこにあるかはわからないものの、通信が不安定、かつ、データに化けがあるのではないかという結論に至った。アップロードしたデータとベリファイ時の値が一致しているからには、偶然うまくいっているとは考えにくいので、その場合は一応信用できるかなと。
一晩Mission Plannerに接続しっぱなしにした限りは異常はないので、ひとまず今の状態で今後の作業を進めることにした。あとはモーターとESCの到着待ち。
コメント