今日はバグフィックス
 昨日までに実装した自動セーブの動作をテストしているときに、バグを見つけた。あるモードで測定を行うと、STLvectorのout_of_range例外が起こる。優先度の高いスレッドで起こるため、ちょっと操作を間違えるとOSごと固まってしまうので、原因箇所を調べるのに手間がかかった。
 原因は、オブジェクトの番号を格納する変数に想定外の値が入っていたから。この変数は測定モードごとに微妙に違う意味合いで使われているのだけど、そのことを忘れて特定の測定モードでしか動作しないコードになっていた。
 とりあえずモードで条件分岐することでバグは消せたけど、そもそも変数が複数の意味をもっているのがよろしくない。リファクタリング候補だな。

 帰り際に上司から新規開発品の構成について相談をもちかけられた。その開発品にはマイコンとロジックアレイとDAコンバータを組み合わせて波形を生成する機能が付くのだけど、波形生成のクロックをどこで作るかでいささか議論になった。
 自分の考えでは周期的にクロックを作るといった定形動作は、ロジックアレイで作るか、いっそ水晶かセラミックの発信素子にやらせるべきだと思う。もちろんマイコンでもタイマー割り込みを使えばできなくはないけど、マイコンでやらなければならないほど複雑な仕事でもない。また、割り込みを使うとコーディングで気を使うことが増えるのでできればやりたくない。特に今回は、マイコンでパソコンとの通信や操作パネルからの入力の検出などの不定期に起こるイベントの処理もやらせることになるので、できればそれに専念させたい。
 そういうわけで「マイコンでも出来るけど、他でやった方が簡単だと思う」と上司に説明したのだけれど、もう一つ納得してもらえなかったようだ。まあこの案件はまだ青写真の段階なので、これから仕様を詰めていくときにハッキリさせていけばいいだろう。(とか思ってるうちに知らないうちに設計が確定されてたりするから油断はできないけど)

 帰宅後、車で外出。BOOKOFFTSUTAYAに寄った後、マクドナルドで一休み。夕飯は別に食べるつもりだったけど、新作のテキサスバーガーの販売が始まっていたのでこのセットを夕飯代わりにした。