Repo

kjana00@gmail.com

older <-

2012-05-19 00:55:42

今朝は晴れ。やっぱり、昨日もそうだったよ。二度寝してる間にくもっただけで。朝ごはんはパンとサラダとソーセージ。今日はちょっと気温が低めかもしれない。気にする程じゃないけど。

初期状態をサブマイコンからの指示待ちにしたから出力が起こらなくなった。それじゃサブマイコンから適当に起こしてやったら後は普通に今まで通りの状態遷移に進むはず。っていうかそう書いたはずなわけだけど。ということで試してみる気になってサブマイコンのプログラムをちょっといじる。動かない。ふん?

指示を受けて出力の状態遷移を前のスタート状態に移す関数を呼び出すのは出来てる。出来てるけど、その後で初期化関数が走って初期状態に戻しちゃってる。そりゃ、先に進まないわけだ。何もしてないのと一緒になるし。これが問題になるのはスイッチ入れた瞬間だけかっていうと、そうでもないんだなということでしばらく悩む。

スタート状態に遷移した後で初期化が呼ばれるのが悪い。っていうか、初期化が呼ばれる前に状態制御関数が呼ばれるのが間違いと言える。呼ばないようにするには、待ち状態に入ったのを確認してから指示を送るようにしたらいいか、ととりあえず指示待ち状態を問い合わせられるようにしてやって、他の状態を拾ってるラウンドロビンのリクエストリストに突っ込んで、返事を受けてメインループから呼ばれる関数内で指示を投げるようにしてみた。これでもあんまりうまくない。最初はメッセージ追加周りで何か間違えたのかと思ったけど、ちょっと調べてみるとどうもそうでもない。うーん。

何か PC からのログ要求への応答も変だしな、というのでつらつら考えてて、結局のところ指示を投げる周りで全然待ちも何も入れてないのが問題かな、というのに行き着く。スイッチと無関係に初期化は一度してるから最初は待ち状態に見えて指示を送っちゃうし、スイッチオンの時の初期化で戻るっていうのは変わらない。それに指示を受け取る方で状態を考えてないからどんな状態でも指示を受けるとまたスタート状態に戻る。状態取得リクエストを上書きして指示を送ってるから、状態取得が出来なくて 7SEG LED の表示は変わらない。……大体、そんなところが問題か。

いつでも指示されたらスタート状態に遷移するっていうのはまずいんで、スタート指示待ちの状態以外では無視するようにしてみた。今は関係無いけど出力を切り替える時に呼ばれる関数の方でも、スタート指示待ちからそっちに遷移するのは止めておいてもらいたいなとガード入れて。で、これで考えるとスタート指示はどんなタイミングで出しても問題無くなるんで、指示待ち状態を聞く関係のコードを全部 revert。状態自体は経路のスイッチ状態を拾って来てるから指示を出すのには十分な情報があるんで。見分けが付かない状態あるけど、それで間違って指示出しても問題無いように今したわけで、という。

指示が被っても構わないんだから、とりあえず今まで通りの遷移が見られることを確認するっていう用途では状態取得のリクエストリストに指示を混ぜておけば十分、ということでようやく思った通りの動作を確認。やれやれ。間に出先の部署の方針発表会なんていうのが挟まったりもしたんで、今日はもう帰ろうという気になる。

それで帰って晩ごはんに厚揚げを焙ったのと鴨汁のそば。普段と同じ具にわらびを一袋追加なんてすると、当然の如く多過ぎ。おいしいけど、多過ぎ。

後は WWW したりゲームしたり。何か調子良く勝ちを収めたりしてると、調子に乗ってカオスタイルをどうにか出来る気になってどうにも出来なくて死んだりする。HP 4 桁あったってスピード +9 のブーツ履いてたって死ぬ時は死ぬんだよ。野蛮人……じゃなくて狂戦士は魔法関係皆無だからテレポートで逃げることも出来ないわけで。……で、何となくアンドロイドの混沌の戦士を真面目にやり出してみたりする。もうちょっとレベル上がって知力が上がらないことには単に HP 少ない戦士。でも明りを点けることぐらいは出来るんだ……

older <-

goto

hint can be:

Tags

old

2007-05 -- 2006-12

ゲーム関係の古い記録

before 2005-12