Repo

kjana00@gmail.com

older <-

2010-09-02 23:49:25

今朝はくもり。朝ごはんはパンとソーセージとゆでたまごとサラダ。だいぶ涼しくてありがたい。これぐらいだと秋かなって思える。……多分、気のせいなんだけど。熱はもう上がらないだろうなっていう感じで恐らくは大丈夫。あんまり仕事も多くないはずだし楽に行きましょう。

それで昨日質問が来てたことを確認っていうか、一つ使えないフォーマットがあるのはそのフォーマットの設定ファイルが壊れてるからっぽいというのがわかってたんで、それを直すところから。変に行が増えてるところを削っただけであっさり直った。ついでにそのフォーマットが原因で設定変更してセーブっていうのが出来なくなってたのも直った。うーん、識者に聞いてみますって言っておいたところがえらく簡単に片付いたぞ? 一つ出力が変だっていうのは設定ファイルの方の間違いだった。コードにもちょっとミスはあったけど、値そのものが消える程じゃなかったんで。そりゃ 1 byte のデータを 3 bytes のつもりで解釈したらおかしくもなる。おまけにモニタプログラムは 2 bytes 長までしか対応してないっていうんじゃ。

その辺りを片付けてから、後で更に追加されたた質問について調べてみる。……入力条件示さずにこうやって緊急停止に落ちるってログを示されてもな、と思いつつ走らせてみたら同じように緊急停止に落ちた。昨日まで普通に動いてたのに。おや? まあ落ちてるから落ちた原因を調べてみようかと見てみたら、ログに出力してない故障を検出していたのでした。そりゃ、落ちた原因見えないわ。ついでにこっちでは後で立ってる故障のフラグは見えないなと思いつつ調べてたら、ログ出力中のビット順が間違ってるのを見つけたりする。いかにも 1 ビット目を差してそうな名前の定数を使うと MSB にビットがセットされるのでした。まあそれは直すとして、と。

検出してるのはシリアルに繋がったセンサとの通信エラー。ステータスエラーの方は、通信エラーでステータス読めてないから起こってるようだ。読み出した結果が全部 0 になってるし。でも下回り全然いじってないのに何で通信エラー起こるようになるかな。二系統あるもう一方は平気で動いてるだけに余計疑問……と思いつつお昼になって、昼休み明けにさて調べようかと思ったら、今度は平気で動いたりしてくれる。……あー、何かタイミングの問題とかノイズ乗ったとかそういう如何ともし難い原因?

ちょっと再起動、再起動と続けても再現しそうにないんで、検証作業で気になってたところを調べてみる。自動生成コードを手で修正したところが混ざってるからあんまり気にするつもりになれなかったところではあるんだけど。で、計算されてるはずがモニタ出力に反映されてないと思ってた変数が計算されていないというのがわかった。何でそうなるのかと思ったら、とあるフラグの出力が大域変数で初期値が 0 になっていて、計算が起こるはずの部分の前に一回状態遷移含みでこのモジュールが呼び出されるからその 0 が出ていってしまって、それで更に状態遷移した後実際に計算しようとすると 0 が入力されてくるから計算しないんだなと思ってしまうという落ち。外側のインターフェースで対処出来る範囲か。っていうか、外側で対処しないとフラグが更新されたかどうかのフラグが必要になるという間抜けな話になる。

やっぱり通信エラーはすぐに再現しそうにはないもんだから、バグの修正とモニタプログラムの設定ファイルの修正をまとめて今日の日付けで出しておく。もっと前に直しといてって言われた分もあるし、昨日手を入れた間違いの修正もあることだし。それからこの通信って何かリトライするコードが入ってたよなと調べてみた。うん、何か怪しい……正常な場合とそうでない場合に同じように I/O ポートを設定してる関数あり、元は I/O ポート出力でシリアルの先の ASIC をリセットするか何かするコードが入ってたのを丸ごとコメントアウトしてある関数あり……この辺りちゃんとしたら、起動直後に通信エラーがあっても故障を検出する前に回復しやしないだろうかということで質問しておく。

処理量を計測してほしいなんていう話が出て来たんで、デバッガに何か使える機能がなかろうかなんて調べつつ終わる。後でどうなるかわからないから、暇な内は早く帰るですよ。で、一休みして晩ごはんに冷奴とかつおのたたきととろろ昆布のつゆ。さっぱりと。この豆腐はなかなか良いな。大きさも丁度良くて。

後は WWW 見たりゲームしたり。7 点マッチで 13 点取れたりするのはコンピュータが変なリダブルかけてくるからだよな……

older <-

goto

hint can be:

Tags

old

2007-05 -- 2006-12

ゲーム関係の古い記録

before 2005-12