今日も回路と格闘しつつプログラミング。
 昨日まで出張していた隣の席の社員が出社してきたので、彼の机を借りていた作業スペースが無くなって手狭になってしまった。組み込みソフトの開発には、パソコン+回路+計測器+資料のスペースが必要なので、事務机一つ(しかも技術書が積み上がっている)では窮屈で仕方がない。

 いま取りかかっている装置には、5個ほどのボタンと1個のダイヤルが付いている。これらのボタンやダイヤルで装置を操作できるように、ボタンとダイヤルの状態をマイコンで読み取って処理しないといけない。
 今回の開発のベースにしたソースコードでも、ボタンとダイヤルの状態は取得できていたのだけど、コードが冗長だったり長押しや同時押しなどへの対応が不十分だったりで改良する必要があった。この改良は月曜に始めたのだけど、途中で試作回路の動作確認作業が入ったので途中で止まっていた。
 そういうわけで昨日はいくつかのボタンが使えないまま回路の動作確認をしていたのだけど、ボタンが使えないことで動作確認がやりにくくなってきたので、ボタンの処理を先に進めることにした。
 まずは全部のボタンをちゃんと読み取れるようにした。ダイヤルの読み取りは元から動作はしていたののちょっと処理がぎこちないので改良しようとしたけど、思ったより手間がかかりそうだったので今は保留することにした。
 ともかくボタンとダイヤルが使えるようになったので、それらを組み合わせて複雑な操作ができるようになった。これで少し複雑な動作確認もやりやすくなった。
 後は昨日の続きでSPI通信関連の動作確認を再開した。相変わらず動かないICがあるが、通信のせいか配線のせいかはっきりしない。ICの手前までは通信の信号が正常に来ているが、肝心のICの足が樹脂で固められていてオシロスコープのプローブを当てられない。さてどうしたものか…。
 そんなこんなで終業時間を過ぎたので、まだ動かないICはあるが、他の不具合や修正箇所を回路の製作者に伝えて調査と修正を依頼した。
 帰る前にしばらく今回使用するICのデータシートを読み込んだ。今困っている問題とは関係なさそうだけど、ICの入力を固定することで配線(とマイコンの使用ピン)を減らせる箇所があった。これも回路の製作者に伝えておいた。

 帰宅後、TUSTAYAと古本屋に行ってみた。今月の後半には購入予定の本やコミックスの発売日が集中しているが、今はまだ欲しいものはあまりない。