Repo
kjana00@gmail.com
2014-10-30 01:32:55
今朝は晴れ。朝ごはんはパンとトマトとソーセージ。これぐらい涼しくなると日差しがあったかくて気持ちいい。ただでさえ眠いのに、道端で寝そうな。
月末のリリースに向けた作業がこんな感じ、というのをチームリーダーっていうと課長クラスかな? に説明する会の後で、特別なものを借りり必要があるテストのための準備をして作業開始。今まで使ってたのと別の基板が必要になるんでまずプログラム焼くテストから……と思ったらこれが動かなくて困ったり。main() 呼ばれる前だし、ひょっとしてブートローダか何か、とにかくスタートアップコード周りの問題かなとも思いつつしばらく悩んで、結局他人に聞いたら予想通りだったという落ちが。まあ動けばいい。
メモリロガーの設定ファイル作るのに例によってそこそこ時間がかかったりした後でさくっとデータ採り。うん、概ね予想通りの動きをしてるみたい。一部、変わるはずの出力が変わってなかったりしてるけど。それと、また個別のモジュールだけ見たらそうなりそうだけど、実際は他のモジュールも動くから余分な通知飛ぶんでそうならないんですよ、なテスト仕様不備とか。
それから同じ環境で今まで何かうまく動いてないけど、と放置していたモジュールのテストもやらなきゃならないんで真面目にデバッグを開始。スイッチオフの時の電圧があればスイッチオンの時の電圧も取れてるはずなんだけど、何故か取れてないもんだから異常とされてるっていうのが謎で。周辺 IC との通信スケジューリングの問題じゃないか、それで入力がずれてるんじゃ、っていうのは単にデバッガ使って小まめに止めてたから滑ってただけだと否定された。それじゃ何だろう、と。
で、しばらく悩んでみた結果、この処理呼ばれる時にはまだ通常の初期化関数呼ばれてないからスイッチオフ時の電圧を保持する配列が初期値持ってなくて、最初の値は 0 だぞ、というのに思い至る。初期値と比べて初期値じゃないからスイッチオン時の電圧が取れてるはず、は間違い。
更にスイッチオフ時電圧を更新する時に、初期値受け取ってきたら更新しないっていうことになってた。更新しないから、0 でも初期値でも無い値になったらそれがそのまま観測される。それでスイッチオン時の電圧が取れてるはずって言われても、そんなことは無いと言わざるを得ない。
その上通常の初期化関数が走った後だと正しいタイングで成立するけど、前だと全然無関係に成立してしまう場合がある条件で通ってしまうというのがあって、この場合もやっぱりスイッチオン時電圧が初期値なのに処理しようとしてしまう……と、ここまで直したらようやく予想通りの動きをするようになった。判定回数の都合で正常と確定はしないけど。まあそれはそれ、か。
……とここまで突き止めるまでにだいぶ遅くなった。間に一時間程、うちの社内ミーティングが挟まったりしたのも原因。これからテストの準備してテストして、だと 22:00 近くなるっていうか過ぎかねないんで今日は帰ることにする。メールだけしておいて……で、それでもやっぱり京橋着時点で 22:00 過ぎてるんでやる気も無くなって、晩ごはんは近所の店で野菜煮込みラーメンと餃子ということに。ちゃんぽんっぽいスープと具の野菜煮込みラーメンがおいしくてな……
それで帰って後は WWW 眺めてたら恐しく眠くなったんでちょっと寝て、とかな感じで。ほんと保たないから、これ書き終わったら寝てしまおうか、どうしようか?