PC上の無線通信プログラム部のバグ発見

無線通信部の問題が解決しているであろうと思われる。今、通信エラーがどの程度出るか一晩測ってみるつもりだ。数時間前の毎秒数回通信エラーが出ていた時と比べると、エラーが出る気配もなさそうだ。うれしい。問題点は、PC側のプログラムにあった。無線通信はシリアルポートを介してデータをやりとりするのだが、受け取り側のバッファ部分の処理で考えが及んでいない部分があった。バッファへのアクセスタイミングとバッファ内容の読み込み部分で、バッファ内容を読み取って処理中に次のデータが入ってきている場合があることを想定していないプログラムを組んでいた。そこがまずかった。僕の頭の中では
バッファ内のデータを処理した後、無線通信経由で新たなデータを送ってくるように端末に指示を出す流れでプログラムを組んでいた。それゆえに、バッファ内にデータが複数パケット分溜まってくるとは考えていなかった。デバッガを利用してバッファに溜まってきてるデータ量が予定している量と異なっていることに気がついたことで、改善案がでてきた。技術面で重要な部分の問題がまず解決したので、心の中がずいぶんと軽くなった。
さあ、次に進もう。