午後から上司が不在だったので超・集中できた。
そのおかでもあって独自クラスでのUSB通信がやっと出来た。SETUPステージでのディスクリプタを使う設定の仕組みは割りとすぐに分かったものの、ディスクリプタの内容のケアレスミスになかなか気づけずに時間を食ってしまった。なにせ、内容に誤りのあるディスクリプタを送るたびにWindowsが固まってしまい、そのたびに強引に電源を切って起動しなおし、レジストリを編集したりしていたのだ。
独自のデバイスクラスで接続できるようになったので、マイコンのファームウェアでエンドポイントを操作してホストPCと文字データをやり取りするところまではすんなり進めることができた。
組み込み系のプログラミングでは、液晶表示機やPC上のターミナルにデバッグ情報を表示できるようになるまでが要注意である。それまではLEDを光らせたりデジタル端子の電圧をオシロスコープで確認するくらいしか手段がないので、頼りになるのはデータシートなどの資料と自分の論理的思考力のみ。でも「うーん」と脳をフル回転して考え込んでいる時に限って上司が「あれはどうだ」「これは試したのか」と(素人の思い付きを連射しながら)邪魔をしにきたりする。
ともかくこれでマイコンからデバッグ情報をPCに送って画面に表示できるようになる。あたかも暗闇でたいまつを手に入れたようだ。
最初かつ最大の難所をクリアできたので一安心。ここ数日は深夜まで嫌いな残業をしていたので今日はさっさと帰宅してゆっくり過ごした。