若松ガイガー 20111213版 公開
本記事には古い情報が含まれている場合があります。まとめページ を作成しましたので併せて御覧下さい。
コメント どおりバージョンアップできましたので公開いたします。
いちお 24h 耐久テストを通過しましたので、前回のバグだらけボロボロバージョンのようなことはないはず・・・
20111213版 ファームウェア一式 こちらの20120225版 をお使い下さい。
- NMEA記録用に3ライン分のバッファを用意し取りこぼしを防止
- microSDカードへの書き込み中にエラーが起きてもフリーズしないよう修正
- 書き込みエラーを示す液晶表示を lcdLayout=1 の時に実装
- DHCPからのアドレスリースが切れる前にアドレスの再要求を行うよう修正
バッファの効果は絶大で、書き込み処理はGPSの受信と非同期ながらも取りこぼしは皆無になりました。
原理的にGPS受信とNEMA書き出しがバッティングすることがなくなったはずなので、安定度も相当上がったはず・・・
次に、microSD カードへの書き込み部分、公開ライブラリを精査しましたところ、読み書き処理で無限ループ(フリーズ)に陥る可能性を見つけたので適当にタイムアウト判定して処理するようにしました。
最後に DHCP・・・
microSD の件と同様に公開ライブラリのバグだと思うんですが、DHCP サーバーからアドレスを取得するのは起動直後だけで、アドレスのリースが切れても再取得をサーバーに要求しない風になってましたので、そこら辺の処理を見直しまして本来のDHCPクライアントの仕様どおり、期限が迫ってきたら(期間の1/2が過ぎたら)DHCPサーバーにアドレスの再要求を行うようにしました。
ヤマハのルーターのDHCPサーバーを、expire 10分にして上手くいきましたので、たぶん大丈夫なはず。。
今回は表面的な変化の少ない地味な更新ばかりですが、どれも安定性に大きく寄与するものばかりではないかなと自負しております。
前回みたいな酷いバグが残ってませんように・・・!