Repo

kjana00@gmail.com

older <-

2012-07-06 01:50:28

今朝はくもり。朝ごはんはパンとサラダとソーセージ。今にも雨が降りそう、と言うか降ってる中、仕事場へ。そんな天気なのに蒸し暑いって。もう、ね……

うちの人が来て何やら説明会とかしているそうです、というのを脇にひたすら続き。カテゴリ分けがいるんだったっけね、なんていうのを追加してから動かしてみる。しばらく昨日は動いてた bogus なタイムスタンプを無視するのが動かなくなってる? って悩んだりしたけど、40 と 0x40 の間には深くて暗い溝があるということで解決。検出したエラーが記録されてるだけね……検出される予定も無い上に、検出してる割には LED だのブザーだのによる表示が出てなかったりはするんだけど。

何で検出するはずがないところを検出してるのかというところから調べ始めてすぐに、ログ領域が空の場合と一杯の場合とで同じ条件になるんだなというのに気付く。一杯になったっていう判定条件は最後のログエントリが領域の末尾にあることってしてたんだけど、領域が空の場合には最後のログエントリを便宜上、領域の末尾にするんだから当たり前だ…… cyclic なログの方ではそれが自然だし、そっちだと一杯になったなんていうことは考えないから良かったんだけど、non cyclic で上書き不可な領域は溢れそうなら主機能を動作させないっていうことなんで一杯なのはわからないといけない。で、結局条件を一つ付け足した。実際にそのエントリ読んでみて、本当にエラーログのエントリだったら一杯と判定する。初期化したりクリアしたりで 0 fill するから判定出来るでしょ、っていう。

それで判定は正しくなって、起動する時に上書き不可なログ領域に空きがあったら何も報告されないし、空きを無くしたら報告されるようにはなった。でも表示系の方は相変わらず、無言。判定して、報告するのは動いてるんだから、表示系に反映される前にエラーがどこかで消されてる疑惑……ということでしばらく悩む。普通に動いてるところでは消してる気配が無い。っていうか今回付け足したのって個別のエラー取り消しは入れてないんだから消すはずもない。何だろうなとしばらく悩んでみてて、メインスイッチをオンにした時に、メインマイコンから受け取ってキャッシュしてる情報を初期化してるのを思い出す。そっちにエラーも乗ってるんだよね。主にあっちからくるから。主電源とメインスイッチが無関係なもんだから、電源入ってエラーを検出、報告した後に、メインスイッチオンで初期化されて消されてしまう。実際に表示系が動き出す時にはもうエラーの影も形も無い。ふん。

メインスイッチがオンになったっていうのを知ってるのがこのモジュールで、でもだからって EEPROM 管理がそんなこと関知したくないな……ということで EEPROM キャッシュのフラッシュとエラーの報告をする関数の呼び出しを、メインループで無条件に呼ぶんじゃなくてメインスイッチがオンになったのを知ってるモジュール内で呼び出すようにしてとりあえず解決。一応、そんなに気持ち悪くない方向性ではある。そもそも電源が入っててもメインスイッチがオンになるまで見掛け上は動いてないように見せかけることにするっていう方針が面倒の元だとは思うんだけど、まあそれは言ってもしょうがないか。

そんな感じで大体思い通りに動くようになったところで今日はおしまい。読み書きエラーを出してみるとか、上書き不可ログが本当に上書き出来ないのを確認するとかはしてないけど、やるとしても明日でいいでしょ、もう……それで帰って晩ごはんにとり汁のそばと枝豆。だし昆布が行方不明と鍋をかき回して初めて入れ忘れたのに気付くというのはひどかったな。何かあんまり味に影響は無かった気もするけど。

後は WWW 見たりゲームしたり寝たり。何か最近、半端な時間に変に眠くなっていけない……寝るから余計に悪いのかも? モリバントの 25 階レベルクエストを片付けたり、究極ダンジョンクリーナー相手に逃げ帰ったり。今の装備だと全然、火力が足りないわ。HP 足りてればまだ勝負になるけど、正面から殴り合うにはこっちも全然足りないし。

older <-

goto

hint can be:

Tags

old

2007-05 -- 2006-12

ゲーム関係の古い記録

before 2005-12