Repo

kjana00@gmail.com

older <-

2013-04-26 00:51:36

今朝は晴れ。朝ごはんはパンとサラダとソーセージ。今日も仕事場に着いてみたら事務室の方に誰もいなくて、電話してみたら単にいつもならいるはずの人がいないだけだったとかありつつ。さすがに昨日の今日で、連絡も無くあっちの人達が全員いないっていうことは無いわね。

さて何が悪いんでしょうと調査再開。あれこれデバッグ出力を足してみたりしていると、タイムアウトをちょっと長めにする必要があるの自体はそれとして、そこを通ると最大長のチャンクを送り付ける時にエラーになってるのが問題と判明。ついでに、昨日こうしないと駄目っぽいと思った辺りはメインアプリケーション止めてたら全然問題無いっていうことも判明……それはそれで、いらなくなったところは整理しておくとして。

更新ファームウェアのファイルはヘッダの後に送り付けるチャンクを並べたような構造をしてる。で、このチャンクは下層のパケットに分割して送られる。返事も同じように分割して送られてくるのをまとめなきゃいけない。この分割と統合自体がおかしいってなるともっと早い内に問題が出るわけなんだけど、通ってるっていうか、少なくとも明確にエラーにならずに通信出来てるチャンクがあるんでそういうわけじゃないらしい。

最初にエラーになるのは機器が主張する最大パケットサイズに等しい大きさのチャンクの通信。それも、分割送付の最後のパケット。240 bytes っていう主張に対して 240 bytes 送ってるんだから、大きさ的には問題無さそうに見える。送られてる中身も別段問題無さそう。少なくともデバッグ用に表示してみた限りでは。返ってきてるエラーコードはコマンド実行エラー。ただし、それ以上の詳細は不明。……さて、これ以上何を考えようか?

下回りの通信コードを別物に差し替えてみようかなということで急遽、拾ってきてはあったけどもうあるコードと同じこと書くのも何だしと放っておいたコードをベースにチャンクの分割だの統合だの、分割したパケット通信それぞれについての ACK 授受だのを適当にざくざく書いてみて、それで出来上がったコードで試してみた。結果は同じ。やっぱり、最大パケット長を持つチャンクの最後の分割パケットを受け取ってもらえない。それで悩んでて今日はおしまい。まあ、途中で中断する時にはセッション終了とフラッシュ開始コマンドを送れっていうのを見つけて、失敗した後でもう一度同じプログラム走らせると機器が妙な反応をするっていうのが収まったんで微妙に進展したと言えるけど……

それで帰って晩ごはんにお造り五点盛ととろろ昆布のつゆ。もうすぐ連休で実家帰るっていうのに買い物して冷蔵庫の中身増やすのも何だし、と。なかなかおいしいお造りで。……そうだよな、もうすぐ帰るんだよな。牛乳どうしようか……他はそうすぐに腐ったりしないものばっかりだけど。

後は WWW 見たりゲームしたり寝たり。ちょっと横になるととても良く眠れてしまって危ない。鉄獄の 22 階まで降りてみたところで迷宮を制覇してからオークの洞窟へ侵入。アゾク戦行けそうなほど攻撃力も防御力も無いような、遠くからくないを投げてる分には十分に行けるような。うーん?

older <-

goto

hint can be:

Tags

old

2007-05 -- 2006-12

ゲーム関係の古い記録

before 2005-12