Repo

kjana00@gmail.com

older <-

2012-08-01 01:17:33

今朝は晴れ。朝ごはんはパンとサラダとソーセージ。ほんとにこう、雲一つない快晴となると、もう、ね……気持ちの良い空の色ではあれども。

打ち合わせ中にテストモードの動作ってどうなってると聞かれたんでちょっと試す。最初、ディップスイッチの二番は 3 って表示してあるやつですという罠にまたはまってたりはしたけど、とりあえず仕組み自体は動くようでテストに入ってはいく。で、最初のテストで失敗するという……外部機器との接続が変わった影響で、前の基板ならスイッチをオフにしてたら電圧が出ないところにも電圧が出るようになってたりはするけど、その辺のセッティングを変えてもまだ失敗するから何か違う話らしい。デバッグ UART 出力を見る分にはそんなに変な A/D 値が出てるわけでもないんだけど、ということを報告してここはおしまい。

それでテストをいじってる時に気付いたんで 7SEG LED 表示で対応し損ねてたところを直したり、一つ増えた LED を点くようにしてみたり。コピーしたようなっていうか実際にコピーした関数が増えるのは気に喰わないけど、さすがに時間無いから手抜きな対処に留めて……点かないと思ったら点けてなかったとか、点くようになったけどメインスイッチ切っても消えないとか、つまらない引っ掛かり方をしつつもとりあえずはいい感じに。

後は資料をちょっと書き足すとか、置いていけないファイルを消すとか、持って帰りたいのをまとめて VPN 経由で本社のサーバに置くとか、小間物を片付けるとか、一休みするとか……そんな感じでおしまい。本日にてこちらの業務は終了。明日からは本社……に出ればいいんだよね、本当に?

ということで帰って晩ごはんに枝豆と冷奴と鴨汁のそば。さすがに二日連続で昆布を忘れたりはしない。みりんを買い忘れたりはしたけど。まあ、酒は買って帰ったから形にはなった。さっぱりとおいしい。こう暑いとねぇ、と言いつつ鴨汁熱いから汗かいてたりして。

後は WWW 見たりゲームしたりちょっと寝たり。また調子に乗って変な死に方をしない内に止めておこうと 6 階のランダムクエスト終了で終わっておく。

2012-07-31 01:09:02

今朝はくもり。朝ごはんはパンとサラダとソーセージ。くもりって言ってもすぐ晴れてくるもんなという感じでやっぱり暑い始まり。

7SEG LED 表示いじりで延々。あんまり新しいことしたくないし。モジュールが二つになったけど前のは一つで、多種基板・外部機器対応のサンプル的にサポートを残しておきたいもんだからいらない悩み方をしてみたりしつつ。一つしか無かったら二つ目の出力で上書きっていう手抜きで今まで通りの出力を大体実装したのはいいけど、一つ目の出力がちゃんと出なきゃいけない表示モードでも上書きされてしまってあれとか。直したつもりなのに直ってなくて悩むとか。挙句、単に条件分岐の条件が逆になってただけなのに気付いて噴くとか。

A/D 値ベースで表示するものが増えてるんでその対応を付け足そうとしてまた一苦労。結局は、enum と状態セットする関数と表示する関数とその多諸々がばらばらに定義されてると間違えるよねっていう話。他人のコードに乗るからあんまり大幅な書き換えしたくないっていうのはあるけど、そうでなかったら全面的に書き直したい気持ちで一杯です……明らかに今やることじゃないから、やらないけど。

そんな感じで今日はおしまい。大体作るべきは作ったかな。資料はともかく。で、帰って晩ごはんに冷奴とゴーヤーの塩もみと豚汁うどん。また豚汁に昆布を入れ忘れてて、何か大丈夫なのか私、っていう感じがあったりして。そのせいだか何だか、微妙に豚汁の味わいが微妙。戻した干し椎茸っぽ過ぎるっていう感じ?

後は WWW 見たりゲームしたり。つい何とかなりそうな気がして 24 階のランダムクエストに挑んだらグレンデル出ちゃいました、もう一回殴れそうな気がしちゃいましたで死んでみたり、それで気楽にアンドロイドの狂戦士をやり直してみてたら、今度はうっかりミミックの財宝クエストで死んでたり。気が大きくなり過ぎたね……

2012-07-30 00:25:37

今朝は晴れ。朝ごはんはゴーヤー、挽肉、水煮豆のトマトソースでトレッチェ・デロルト。やっぱり日本語説明に書いてある 10 ~ 12 分って長過ぎね。8 分で丁度良かった。ソースをあっため直す時間も入ることだし。あんな感じのショートパスタって、概ね浮かんできたら食べられるよね。

今日も暑いことだなと呆然としてしまってどうにも動く気になれない、ということでそのまま部屋で夕方までだらだらして、多少なりと涼しくなってから買い物へ。歩き回るなり何なりした方が気分は上がるわけだけど、こう蒸し暑いとそれどころじゃない。で、帰ってからもしばらくだらだらして、それから晩ごはんにプッタネスカ。ああ、さっぱりする。

それだけっていうのも何だなと買っておいたメンステールをかじりつつ、後は WWW 見たりゲームしたりと。あったまって柔らかくなるまでマンステールは塩辛い。塩水で洗ったチーズだからあたりまえっていう話はあるけど。とろとろしてくるとぐっと柔らかい味わいになる。

ランプで対盲目、透明視認が手に入ったところで 15 階レベルクエストの残りを片付けて、その先っていうとなと 22 階ぐらいをぶらぶらしてみたり。もうちょっと何か欲しいな。

2012-07-29 02:02:17

今朝は晴れ。アンチョビが無いじゃないかということで、朝ごはんはキャベツ、ケーパー、ソーセージのトマトソーススパゲティ。安直。クリーニングに出したものを取りに行くだけでくじけそうになったりしつつ、とりあえず出掛ける。

地下鉄で恵美須町に出てあれこれと。先週商品が妙に無くてどうしたのかと思ってた店は、新装開店ということだったのでしたとか。何か最近呼び込みのコスチュームが色々だとか。何とか。で、本屋でまんがを二冊買ってゲームしに。

割と調子良かったけど瞬停されるとやる気無くなるよねとか、それを引きずったんだか 3 面もクリア出来ないと情無いねとか、これは妙に難易度上がってる感と思いつつ 2 credits で四葉のクローバーに負けてみて終わるとか。

コンビニと古本屋に寄って、帰る途中にラーメン食べて。細麺にさっぱりした豚骨スープ。もうちょっと肉っぽい焼豚の方が合うかなという気がしなくもないけどおいしい。安心。それにしてもあの辺り消防車と救急車がたかってたけど、何があったんだろ?

それで帰って WWW 見たりゲームしたりまんが読んだりと。アゾク倒すついでで対恐怖付きのランダムアーティファクト獲得して安心感アップ。でもこの段階でまだ元素耐性揃ってないわ、対盲目も透明視認も無いわなのはどうなんだという。まあ、どうにもならないんだけど。

2012-07-28 05:42:10

今朝は晴れ。朝ごはんはパンとサラダとソーセージ。また暑いこと。街路樹でせみがお腹を震わせて全力で鳴いてるのを間近に見たりしつつ仕事場へ。

7SEG LED 表示系を暫定仕様に合わせて更新しておいてもらいたいっていう話があったんでそちらへ。モジュールが二つになったんで、片方に今の通常状態の表示を常時表示、もう片方にエラーだの、今、切り替えて表示してる辺りだのを表示という形にしようということでそのように。今までのモジュール一つの基板にも同じプログラムで対応したいんで、下層でモジュールが一つしかなかったら、二つ目用の出力をその一つに回すようにしてみた。

とりあえず動くんだけど、redirect のタイミングによっては上書きされる一つ目用の出力が一瞬見えてしまう。どうしようかと思いつつ、暫定のつもりで割り込み禁止にしてみたらまあ調子がいい。……これでいいか。で、新基板と旧基板で動かしてみつつ、A/D 値の出力がおかしいって、新基板だと回路定数違うから物理量への換算は基板依存かと分けてみたりしてるところで時間切れ。

予算降りないから今月末でこの仕事終了ということで送別される会へ。明日から中国出張という人の壮行会も兼ねて。風が全然無いから昨日よりも更に蒸し暑く感じる中、会場まで歩く。それで、冷房が効いた中席に着くと、目の前には鍋が……おいしかったけどさ。

シーザーズサラダ、枝豆、えびせん、かつおのカルパッチョ風、豚野菜チゲ、おくらと鶏の天ぷらにフライドポテト、グラタン風お好み焼き?、じゃがいものピッツァ、締めにチゲのだしでチャンポン……ぐらい? 食べ過ぎた。残るんですもの……なかなかおいしかったし。やたらともっちり粘るお好み焼きが面白い食感。それでハードウェア屋とのソフトウェア談義だの、過去の中国出張でのあれこれを聞くだのしつつ。

終わって帰って、あんまりお腹一杯なもんだから、お風呂に入った後ちょっと横になって……ちょっとじゃない、と起き出してこれ書いて、これからまた寝る、と。眠いったら。

2012-07-27 01:34:13

今朝は晴れ。朝ごはんはパンとサラダとソーセージ。昨日よりちょっと涼しい気がするんだけど、多分、朝だからっていうだけだろうな……

スタンドアローン動作はほぼ出来たはず、と自動制御にオプション変えてビルドし直して焼いて動かして動いた、動いた、というところから。何か 7SEG LED にごみが出てるけど、とりあえずそれは置いておいて、実験用のログ取りスクリプトいじりに移行。どうせいるはずだし、今現在、本当に外部機器と通信出来ててちゃんと値を拾ってこれてるっていうのを確認する手段が欲しいということもあり。ついでに、もうちょっと robust にしようかなと。

非同期に基板側から何か送ってくるっていうことは無くなったんで、要求を送ろうとするたびにシリアルポートを開き直して、タイムアウト付きで応答を受け取ったら閉じるっていう手を使う余地がある。これをやると何がいいかって、何かでずれたとか落ちたとか増えたとかした時でもそのままずれっ放しで通信し続けるんじゃなくて、要求-応答のバウンダリで被害が食い止められること。ついでにログファイルがハッシュ中になかったら書こうとしないっていうごく当然のガードも入れて今よりは安定して動くようにする。今のスクリプト、何かで応答がずれると存在しないログを見つけようとして、何もガードしてないから nil.write で NoMethodError という間抜けなことになってるからずっとましになるはず。そもそも前のログ取りスクリプト、こんなに真面目に使うことになると思って作らなかったからねぇ……

CSV への変換の方は、基板と外部機器の組み合わせで二つ作っておく。使うのが何も知らない人だったりするんで、ファイル切り分けて require とかオプションで対応基板と対応外部機器を切り替えるとかが不安なんで。1.9 なら require_relative するから切り分けは出来るけど、Cygwin の Ruby は 1.8.7 だし。こっちは前のスクリプトとあんまり変わらないけどね、と思いつつがりがり。前の基板、前の外部機器の組み合わせになってるセットで動作を確認。新基板、新外部機器の組み合わせでの動作も確認。これで良し、ということで commit して次。

7SEG LED のごみが気になるんで調査開始。何か、一番上のセグメントが点けてないはずなのに微妙に光ってる。ペリフェラルの設定間違いとか、ポートの割り当て間違いで前の基板での出力が微妙に出てるというのが疑われるところ。それで調べてみると、前の基板でも 7SEG LED の別のセグメントが繋ってたポートだし、新しくペリフェラルの設定を加えたわけでもないっていうことで謎なことに。

しばらく悩んでて、ある時ふと外部機器との通信が出来てる場合だけ点いてるっていうのに気付く。外部機器を切ったら消える。直接通信してるのはメインマイコンの方で、7SEG LED いじってるのはサブマイコンの方なんだけど……メインマイコンとの通信を、外部機器情報のやり取りだけ止めてやると点かなくなる。通信したままで、通信内容を制御で使うために解釈するところを止めても同様。解釈した情報を使ってるのって、表示系とファン制御だけなんだけど?

表示系の方で見てるところではおかしくなる要素が無い。っていうか、メインスイッチ入れたら点くようになってるのにスイッチ入ってなくても点いてるからこっちじゃないのは最初から明白。それじゃあとファン制御で使ってる値だけをファンが回らない値で上書きしてやったら見事に止まった。これか。

新しい基板ではサーミスタ同様、ファンもサブマイコン側には繋がらないことになってる。で、旧基板用のコードと共用出来る部分が増えるようにっていうことで、割り当ての無いポートにはダミー変数を割り当てて、そっちを読み書きするようにしたつもりになってた。んで、そうなってるよなというのを確認。ダミーは設定してる。でも、サブマイコンのプログラムでは GPIO の入出力ってポートを直接読み書きしてないね。関数経由だ……つまり、ダミー変数の値をポート番号としてアクセスしていたということ。そりゃ、変なことにもなるわ。enum の最後にポートの全数を扱うために定義されてる名前が入ってるんで、これをダミーポートとして使うことにした。GPIO アクセス関数が書く方は何もしないでエラーを返す、読む方はエラーを返してて、呼び出し側では HI か LO との比較をしてるからエラーは制御に影響しないという風になってたんで。

そんなこんなでまともになったところで今日はおしまい。ちらっと文書書きをしたりもしたけど。それで帰って晩ごはんにカレー。適当にゴーヤーとか放り込んでもカレーはカレー。前に入れす過ぎて苦くなったことがあった気もするけど、今回は大丈夫。それからお風呂上がりにベルサイユとか食べたり。アーモンドが香ばしく、ふわふわのスポンジがクリームとあまあまで果物が引き締めると。おいしい。室温で置いといた時間が長過ぎたか、ちょっと苺の重みで潰れてるのも御愛嬌。

後は WWW 見たりゲームしたりちょっと寝たり。3 点差で負けると悔しいわ。その直後のゲームみたいに 20 点差ぐらいで負けるのが普通っていう状態だと……オークの洞窟でも 20 階まで降りてみてから、迷宮のミノタウルスを倒してみるぐらいまで。対混乱は付いたけど、対盲目と対恐怖が無いと色々鬱陶しい。それにそろそろ耐火が無いとアーチ=ヴァイルにばったり出会ったりするから恐い。こっちは、指輪で一応持ってはいるけどね……

ベルサイユ

2012-07-26 03:15:47

今朝はくもり。朝ごはんはパンとサラダとソーセージ。出掛ける頃には日が差してきて、また今日も暑くなりそうな。

このまま進めても辛いかなと、予想通り、昨日の修正を revert。それからどこまでいじるかを限定した上でやり直しな感じで。影響範囲が妙に大きくなるからって、そのままいじるつもりが無かった対 PC の公式プロトコルに手を入れなきゃならなくなるような修正の仕方をしてしまったら収拾が付かないんだぞ、と。

サブマイコン用 IDE の dependency walker が弱いんで、#define FILE "filename" して #include FILE としてやるとエラーを吐いてくれるもんだから、別ファイルを用意して多段 #include することにしてみるとか、おかげでラッパーにマクロで切り替えるマクロ定義を集められるから外部機器依存の .h ファイルがシンプルになったとか、ちょっとファイル名を間違えたなという感じでマクロ定義変えつつ複数回 #include され得るっていうだけだったファイルに普通に一回だけ #include するべき機能も持たせるはめになって悩んだりとか。同内容の typedef が二回あると二回目はエラーになるから本当に一回にしなきゃならないっていう……まあ何とかなったけど。

そんな感じで修正完了。PC からのログ取得もちゃんと出来るようになりました、と。新しい外部機器との通信結果をちゃんと得られてるっぽいね。チェックサムまで一致する。こんなものか……ということで、自動制御のプログラムにしてみる。エラーが出る。温度のエラーって、新基板の方だとメインマイコン側にサーミスタが移ったから、サブマイコン側では検出されないようにしたはずだよね? で、まだメインマイコン側は実装してない。はて?

どうやって検出されないようにしたかっていうと、正常範囲の温度を返すようにしたんだった。どこでそうしたかっていうと A/D 変換器の 1 shot sweep 関数。余ってる LED を使って見てみるに、その安全な値をセットしようとしてる部分まで来ていない。この関数を呼び出すところまでは来てるんだな……で、この関数の冒頭で、A/D 変換器が使えなかったらエラーで return してる。A/D 変換器が disable の場合には無条件で使えないことになる。そりゃ、安全な値がセットされるところまで行かない……ということで、A/D 変換器が disable の時でも A/D 変換が出来るということにしてやって対処。これで動いた。

……というぐらいで今日はおしまい。帰ってしばらくのんびり。後、天神祭の花火を遠めに晩ごはん。枝豆、とろろ昆布のつゆ、かつおのたたき。さっぱりと。やっぱり日が差してる内に、外で今の気分でメニューを決めると……なんてするとこういう辺りに落ち着きがち。暑いんですもの。蒸してるし。大きい、大きいとか、あれは避けられないなというシューティングゲーム脳とか、あの顔みたいに向きが決まってる平面の花火は逆向きになったり真横から見たりすると妙だとか。それにしても、顔は、噴いた。

後は WWW 見たりゲームしたり寝たり。寝過ぎてこんな時刻になったり。15 階レベルクエストを二つ片付けた上で 20 階まで降りたから、今度はオークの洞窟にでも行ってみようかねという感じ。アーチ=ヴァイルに勝てるかどうかはちょっと微妙なことだし。未だに透明視認無いからインプが面倒臭いし。

2012-07-25 01:27:05

今朝はくもり。朝ごはんはパンとサラダとソーセージ。寝るのが遅かった割には眠くないかも。多分、気のせいだけど。ちょっと涼しいのは微妙に助かる。ほんとにちょっとで、微妙だとはいえ。

基本的な動作にいる辺りは出来たつもり、ということで通信周りのあれこれをいじってみる。サブ基板への接続を確認しないと意味無いところもあるけど……と相談してみたら、やっぱりケーブルのレベルでおかしかったらしい。そもそもコネクタ見ると、繋ってるべきところに線が入ってないとかいうレベルで。回路図の最終修正直前に発注したからかな、とのこと。

PC との通信が基本的に出来るようになったんで安心してコードいじり。メインマイコン側で新基板に合わせて変えたからサブマイコン側でも合わせなきゃいけないところっていうのは定数定義一つで済むか。外部機器変えたから色々変わって、という方は、メインマイコン側でやってみたいに切り分けるのかな……といじり出して苦労する。何だってこう、散らばっているんだか。どうしような、これ……

……途方に暮れててもしょうがないんでぼちぼちいじって、いじって、いじり続けるだけで終わる。明日はこの修正を半分ぐらい破棄して考え直すところからか、と思うぐらいには良くない雰囲気。かと言って、外部機器依存の修正箇所が減るようにと組み換えるとなると、だいぶ大幅な修正をするはめになるのだよね。今のやり方ベースで、いらないはずのどころをばっさり落す方向、かな……

後ろで新基板のテストをあれこれやってるのに口を挟んだり、壊してたんでちょっと状況を分析してみせたら何かまずそうなところを思い付いてしまったり、それで修正を突っ込んだりがありつつ終わって帰る。晩ごはんはごま豆腐とゴーヤーの塩もみと豚汁うどん。さっぱりと。何となくゴーヤーの塩もみなんか食べるとすっとするよね。

で、後は WWW 見たりゲームしたり寝たり。起きたらもうそのまま寝たらいいんじゃないかとい頃になりかけてて慌ててお風呂に入ったり。16 階まで降りてみたけど、ちょっとこれ以上潜るのは辛いかな。耐火を対光対暗にしたら一応大丈夫ではあるけど。犬にブレス吐かれて盲目というのを延々繰り返すのはあれ。

2012-07-24 01:28:19

今朝は晴れ。朝ごはんはキャベツ、玉ねぎ、ソーセージのトマトソースでトレッチェ・デロルト。まあ、色付きフジッリやね。ちょっと大きいかも、だけど。微妙に茹で過ぎた感。でもまあ、それなり。ショートパスタはこれぐらいなら平気よね。

で、まあ、朝ごはんと言いつつ作り始めたのが 14:00 過ぎで食べ終わったら 16:00 近くとなるとあんまり何をどうこうという気も無くなるわけで。昨日、買い物はしてあることだしなとそのまま寝てしまったり。

起きたら 20:00 ぐらいということで、晩ごはんにキャベツ、ゴーヤー、ソーセージのスパゲティ。それに余る予定のパン少々。安易に作っても材料が良ければ問題無し。変に手を入れ過ぎるよりもおいしいかもね、とか言う。

それで WWW 見たりゲームしたりで終わる感じで。ちっとも勝てる気がしないゲームを延々繰り返してみたり、そろそろいいかとボルドール倒して鉄獄 12 階のランダムクエスト片付けてみたり。何かユニークモンスターが団体さんだったのは何だったんだろ……全部倒しても全然、ろくなものが手に入ってないのがまた泣ける。

2012-07-23 01:40:18

今朝はくもり。朝ごはんはゴーヤーとソーセージのトマトソーススパゲティ。サルシチョン・イベリコはソーセージというよりサラミかも? スパイスが効いてる。

どうしようかなと思いつつだらだらしてたら 16:00 近くなったということで、そのままだれだれした後、買い物ついでに古本屋に寄るぐらいで終わってみたりする。晩ごはんはラーメン。味玉付き。居酒屋っぽいものになるかと思った店が、開店してみたらラーメン屋だったりしたんで気になってたん。スープの元かと思った看板の文字列が屋号だったりするし。極太麺に、その看板の文字列っぽい魚介な感じのスープ。鶏は良くわからなかったけど。どろりと濃厚。それに白髪葱だの味付け焼き葱だの蒸した韮とキャベツだのに厚い焼豚。好みからは外れるけどおいしいのはおいしいっていうところか。何か、この手の濃厚スープっていうのが苦手になっちゃってるっていうのを実感する。何でだか。……大阪に来るまで全然食べたことなかったから、実は苦手になったんじゃなくて元から苦手だったのかもという疑惑?

それで帰って WWW 見たりゲームしたり本読んだり。地味な展開だと焦れるな。

2012-07-22 02:42:07

今朝はくもり。朝ごはんはプッタネスカ。天気悪いとちょっと涼しいか。何かあの雲不穏だけど……と思いつつも出掛ける。

地下鉄で恵美須町に出てあれこれと。微妙に雨がぱらつく感じ。タブレットの類も何か通信手段と一緒ならいい感じなのかもね、なんて思ったりもしつつ、本屋で本を三冊買ってゲームしに。さくさく 2,000m 掘れてしまったり、何か妙に稼いでクリア出来たりは良かったけど、普段やらないゲームを身構えつつやったら 2 面もクリア出来なかったっていうのはかなりひどい。何であんなに避け難いんだろ。弾の大きさ? だけじゃないよな……

コンビニと古本屋に寄って、帰りに晩ごはんにざる麺のセット。かやくおにぎりと唐揚げが一つ付くっていう。こういう甘辛い汁につけてると、別段これが中華麺でなきゃいけない理由もないようなと思ってしまわなくもない。おいしいけど。

天気が良くなった……というか、雨が上がって良かったわねと思いつつ帰って、イルベサ食べつつ買った本を読んで。羊のチーズ。これだとセミハードとかなのかな。微妙にヨーグルトっぽい匂い。味は全然違うけど。ナッツっぽいっていうか、焼けたチーズっぽいっていうか。20 日熟成っていう、全然熟成してなく見える文言が面白いかも。

2012-07-21 00:21:14

今朝はくもり。朝ごはんはパンとサラダとソーセージ。そんなに蒸してもないかなと言って言えないことはないような、と回りくどく考えてみたところで暑いものは暑いんだ。うん。

多分、納品書が今日届くんだから朝書いておいたら午後にでも提出にいらっしゃるだろうか、なんて思ってたら朝一で上司な人がやってきた、ということで電話するだの何だのして慌てて送ってもらって書くところから。VPN 繋いだまま LAN 上のネットワークプリンタに出力出来ないって悩んでみたりして、慌て過ぎ。

落ち着いてから、シリアルポートだの LED だの DIP スイッチだの載ったサブ基板と接続用のケーブルをもらって、新基板向けプログラムの動作確認の続き。サブ基板のコネクタからデバッガ繋いでもプログラムの書き換えが出来ないとか、プログラムいじって電源入ったら常に PC からのシリアル接続に応答するようにしても返事が無いとかは、どうもサブ基板とメイン基板を繋ぐコネクタかケーブルの問題っぽいというのを狭いピッチのピンにテスターのプローブあてて延々と確認してみたり。導通無かったら、そりゃ、信号が届くはずもない。

RS485 での外部機器との通信も動かないねと調べてみる。こっちは別のサブ基板に載ってて、こっちの接続は特に問題が無い様子。それじゃなんなんだと色々見てたら、RS485 ドライバ IC までマイコンからの TX 信号は届いてるけど出力が為されていないというのに気付く。前の基板で外部機器のグランド繋がなかった場合の挙動に似てるかなとちょっと思ったけど、出力が HI で安定してるからそうでもないのか。

チップのマニュアルを眺めてみたりしつつ色々試してるうちに、ふとマイコン側と RS485 側とが絶縁されてるんで二つあるグランドの一方の電圧がおかしいのに気付く。何で 3V 近くあるんだ、これ? で、回路図だのパターン図だの実際の回路だの見てると、こっちのグランドは浮かせてあるっていうの自体はいいけどメイン基板とサブ基板とでこの二つ目のグランドは共有してないんだな。前の基板だとサブ基板に載ってるコネクタがメイン基板にあったから、RS485 のグランドがこの二つ目のグランドと共通になってたんだけど。

……ということを相談してみたら、試しに浮かせてある二つ目のグランドを普通のグランドにショートさせてみようかという話になる。で、改造してもらって試してみたら、あっさり通信が成功。やっぱり、これか。あんまりにも変な状況だと動かないみたいだからな、このドライバ。

後の色々はまた来週にしましょうということで今日はおしまい。帰って晩ごはんにうなぎの蒲焼、ゴーヤーの塩もみ、とろろ昆布のつゆという晩ごはん。それに枝豆付けて。しばらくぶりに食べるゴーヤーは苦く感じる。まあ、ほんとに苦いし。脂が乗り過ぎてないうなぎがなかなかおいしい。量も半身で少なめだから、重くて飽きてきて苦しくなる前に食べ終わる。

後は WWW 見たりゲームしたり。何か妙に意地になってやり続けてことごとく負けてみたり。終了条件は見えてきたけど勝ち筋は全然だ……一番良かった時でトップと 4 点差の。これが埋まるかっていうと……っていう。昨日ちょっと進めておいたアンドロイドの混沌の戦士が 6 階のランダムクエストをクリアしました、ぐらいで終わっておこうか。

2012-07-20 01:14:40

今朝は晴れ。朝ごはんはパンとサラダとソーセージ。相変わらず暑いわやたらと眠いわで大変。

大体出来てるはずだから書いて動かしてみようか、の前に前からある機能がちゃんと動くかどうか確認したいという話。で、自動制御のコードは入ってるけど、何を確認してるかわからなくなりそうだから手動制御をデバッグコンソールに突っ込んで試してみた。うん、上手く動かない。そもそも信号がちゃんと出てないっていうのがわかった後、ハードウェア担当の人が回路図を見ていたら、トランジスタでグランドに落すのはいいとしても吊ってる電源が無いから HI 出力出ないという事実が発覚したりして。それでさくっと改造してもらって試したら、今度はちゃんと動いた。ただし、書いてあったコードとは論理が逆。マイコンが止まってる時にこの信号で制御してる先は動いて欲しいんだよねと思うとこのままの方がいいんで、プログラムの方を直しておく。

そんなのの後でサブマイコンプログラムを書いて動かしてみた。何か良くわからない。シリアル出力だの LED だの 7seg だのが全部別基板に行ってるせいで、本体単独だとさっぱり。メインマイコンの方も手動制御のままだからサブマイコンと無関係に動くし。まあ、メインマイコンの動作を阻害したりはしてないようだけど。

ここの GPIO が余ってるから、適当に出力してみることは出来るんだなと回路図と基板を見比べて、何かちゃんとパッドが付いてる、ラッキーと思いつつ信号出力してみるに、どうやらメインループで回ってるっていうのは確認出来た気分になる。途中でリセットかかって最初からになってるわけじゃないね、トグル出力にしてこれだけきれいに duty 50% な方形波が出てるんだから。

それ以上のことはサブ基板もらわないと確認も何も出来ないねというところで今日はおしまい。どうも EEPROM 管理をいじった時に何か壊したかもしれないというのがわかったりもしてちょっと残念だったり。そっちの確認と修正は後回しかな。とりあえず普通の動作が出来るようにしないとっていうところ。

それで帰って晩ごはんに野菜スープと餃子。しょうがの効いたすっとする餃子がなかなかおいしいのですよ。もうちょっと皮はもちっとぱりっとしてた方が好みなわけだけど。後は WWW 見たりゲームしたり。そろそろまずいかとテレポートした先にラアルの破壊集大成がいたりすると死ねるわけで。死んだ。ぐぅ。

2012-07-19 01:24:23

今朝は晴れ。昨日よりちょっと爽やか? 朝ごはんはパンとサラダとソーセージ。ちょっと爽やかでも暑いものは暑いんで暑い。ぐぅ。

メインマイコンの方はとりあえず最低限出来たということで、サブマイコンのプログラムいじりに取り掛かる。別口で複数台並列動作のためのあれこれが動いてたりはするけど、こっちはほんとにとりあえず、入力になったポートに出力して壊さないとかそういうレベルが目標。オプションで切り替える形にしたいけどどういう風に切り分けようかと考えつつ。

GPIO についてはメインマイコンと同じやり方を踏襲してみた。基板依存部分を別ファイルにしてしまう方向。こっちは、それぐらいの分量あるし。それで上に乗ってるスイッチ周りはダミー変数でごまかしたり、ディップスイッチだけそれだとどうにも上手くないんで、8 bits 分全部あるふりをするけど対応するポートのリストを基板依存の関数で設定するようにした上で、存在しないスイッチには存在しないポートを割り当ててごまかしてみたり。下回りが読もうとするとエラー返してくれることと、ディップスイッチの検出部分がオン以外をオフと認識するのとで辻褄は合う。

サーミスタがメインマイコン側に行った分、A/D 変換器の辺りもどうにかしないとねというのでちょっと悩む。disable にするコンパイルオプションは元からあったんだけど、A/D 変換器に乗ってるモジュールでどう扱ったものかな、と。結局、とりあえずエラーにならない適当に温度に相当する A/D 値を返すようにしてみたけど、ちょっと今一つな気はする。温度見る制御はそれ見て動いちゃうからね……まあ、最終的に動かされるものが今はファンしかなくて、ファンもメインマイコン側に行ってるから出力はダミーに差し替えるようになってて、結果、問題無しにはなるんだけど。今は。将来、どうかな……

練習がてら新基板の動作確認をしてる最近の参入者の質問に答えたりしつつおしまい。大雑把なところは出来たかな。どう試すかは悩ましいけど。まあ、ポートには抵抗繋いであるって、外からのラインは今、ほとんどオープンだから、間違えて出力しても何も壊れないはずということでえいやと動かせばいいっていう話はある。何か繋がってるところはほぼ前と変わってないところだし。

日があると帰りでも暑いのねとからすの人達が鳴き交わす中帰って、晩ごはんは冷奴ととり汁のそば。こう暑くて豆腐残ってるっていうと、何かそういう方向に頭が流れる。それで後は WWW 見たりゲームしたりちょっと寝たり。終了条件を忘れてるのみならず、カードの内容と勝ち方を忘れてるというかそもそも知らないゲームって全然勝てませんねとか、カメレオンの洞窟はユニークモンスター恐れる必要無いけどカメレオンが適正レベルよりだいぶ高いレベルのモンスターに化けることがあるから結局結構恐かったりしてとか。

2012-07-18 01:06:29

今朝は晴れ。朝ごはんはパンとサラダとソーセージ。何か体が重い上に暑くて蒸してたまらない。せみも鳴き出して、夏っていう感じ。まだうるさい程じゃないけどね。

大体こんな感じにならざるを得ないよねと GPIO と A/D 変換周りの基板依存部分分離と新基板対応実装を進めてみる。回路図に載ってないポートがあると思ったら、メーカーのデータシートにも載ってなくって連番で埋めてるわけじゃないんだなと無理矢理納得してみたりしつつ。

A/D 変換周りだと、割り込みハンドラを必要なのだけ定義するようにしたいなというのがあってちょっと悩んでみたりした。weak symbol 使えばいいってわかってるけど使い方が今一つわかってませんということで。strong symbol なデフォルトのハンドラがあるんで、それへのエイリアスを weak symbol にしたいなと思ったんだけど無理みたい。ということで、次善の策を考えた結果、weak symbol のハンドラで goto デフォルトハンドラなことにしてみた。objdump -S の結果を見るとちゃんと別にハンドラ定義したところはそのシンボルに、それ以外は全部同じ場所にシンボル並べたもんだから、その中で最初に定義されてるシンボルになってるから多分いいんでしょう……

そんな感じで修正を終わらせたところで手動操作のオションでビルドして、実機で動かしてみる。妙に A/D 値が小さく見えるところは、電流計測抵抗が小さくなったのがまともに効いてるところか。入力電圧が小さくなるから A/D 値も小さくなる。理論値から大きく外れてるわけでもなし、と。それでスイッチいじったり動作を開始してみたりして、少なくともここまではまともに動いてるのを確認したところで今日はおしまい。

さすがに涼しくなってきたけど暑いのには変わらないという中帰って、晩ごはんに冷奴と豚汁うどん。ああ、冷奴が涼しい。それでお風呂上がりにコーヒー買い忘れたのがちょっと痛いかと思ったりしつつ。

後は WWW 見たりゲームしたり寝たり。何か眠くて。土日分の寝不足が解消し切れたわけでもないということか。カメレオンの洞窟にちょっと潜ってはすぐ帰り、という感じで全然進まず。無理に進んでも無理だしね。死んじゃう。

2012-07-17 01:45:01

今朝は晴れ。朝ごはんはキャベツ、玉ねぎ、なす、ズッキーニ、パンチェッタでトマトスープでフジッリ。なかなかに、お腹一杯。

疲労も寝不足も結構なものがあるよねと思いつつも、部屋でぐだぐだしてるより歩き回った方がかえって疲れが取れたりはするんだよなと出掛ける。で、地下鉄で恵美須町に出てうろうろと。コンビニに延々いたりするのは歩き回るのとは違うと思いますとかいう正論は置いといて。

で、本屋でまんがを一冊買ってからゲームしに。咄嗟の判断が鈍りまくってる感じで 1,300m ぐらいで終わってみるとか、切り替えボタンの押し過ぎに気付かないでスタートしてまあいいやとやったゲームは三面止まりとか、改めてちゃんとやったらぽろぽろ墜ちまくった割に何とかクリアは出来るものね、とか。のんびりやろうと思ったらいつもより稼げてて、それで全然対応出来ない難易度になりかかったけど何とかなったという。

コンビニにもうちょっと寄ってから帰る。土曜日じゃないし、何かラーメンっていう気分でもないから早めに。それで晩ごはんはキャベツ、なす、ズッキーニ、ソーセージ、生ハムでスパゲティ。それにパン少々。何か油というか塩のソースでスパゲティ食べるのがえらく久しぶりな気がする。トマトソースとかクリームソースと比べると、やっぱり大分軽いわね。

後は買ったまんが読んだり WWW 見たりゲームしたりで終わり。カメレオンの洞窟はカメレオンしかいないからちょっと気が楽。でもカメレオンが割とひどいものに化けたままでいることもあるのはちょっと恐い。

2012-07-15 10:24:04

そういうわけで遊んできました、と。昨日の朝はくもり。朝ごはんにプッタネスカを食べて、ちょっとのんびりしてから出発。案外新幹線が混んでたのは、何かでちょっと遅れたかららしい。でもまあ、何とか座れたんで寝る。

新宿から会場まで歩く間でお昼に豚と野菜の炒め物な定食。日替わりスープがみそ汁にしか思えないのが謎。サラダはちょっとナムルっぽいし。でもナムルとは違うか、あの味付け。食べ放題と言って置いてある水餃子がもっちりとなかなかおいしいのが拾いもの。

延々遊びつつ晩ごはんは大久保駅前まで出てイタリアン。セットメニューなりコースなりあるかと思ったけど無かった……で、お通しのチーズ豆腐にカプレーゼ、ポモドーロと食べて、ちょっと足りないかとアンチョビトーストを追加して、という感じ。おいしいけど、ちょっと高くつくな。自家製チーズ豆腐というのが豆腐というか、バターのムースっぽいというか、何か変わった食感。

ついでに引っ越し前の会場近くの知ったホテルに泊まるという人を送っていったりしつつ朝ごはんに親子丼。そうか、ここのファミレス、5:00 で閉まったら開くのは 7:00 か……戻った後にもちらっとサンドイッチを追加してみたり。

解散して帰る途中、行きに見掛けた地下食堂街に行ってみて、それでお昼はランチのセットで何かのポタージュ、ツナのポテトサラダ、なすとスペアリブのロースト、野菜オムレツ、ラザニア、何かショコラとコーヒーという感じ。ずっしりとしたショコラがちょっと多めか。おいしいんだけど。

さっくり寝て帰ってそのまま寝て、晩ごはんはなすとローストビーフのトマトソーススパゲティ。何か常温で置いておいたローストビーフの赤みが無くなってたのは置いとく間に火が通った? ソースに使うんだとどの道、火は通すんだけど。いい感じにスパイスが効いておいしい。

とりあえずここ向けのメモを書いていつでも寝られるようにしておいて、と……まあ、眠いんだから、さっさとお風呂入って寝たらいいんだよね?

書いたのを見たらここのホストの時計が大幅にずれてるのを発見。maxpoll を縮めてから ntpd 動かしておいてこの手のずれはずいぶん無くなってたんだけど……まあ後で直そう。

第 58 回東京村

ちょっと不穏ながらも雨は無し、どころか晴れてきたな……ちょっとこのシャツだともう暑かったかと思いつつ会場へ。

人狼と村人と村人で二勝一敗という辺り。初回の占いで多分占われたな、黒だなと思いつつ何もせず吊られた村では狂人と残り二人が強かったという感じ。占い師が妙に信用されなかったっていうのも大きいか。狂人、占い師、人狼、共有者×2、霊能者と席が並んでた村では、その続きで人狼×2 じゃないのなんて戯言を言ってる間に勝ってた。で、黒を出されたけど出した占い師の方が吊られて人狼だった、の後で襲撃された村では、こんな襲撃するのはこの辺りじゃなさそうなと思っていた辺りが人狼で敗北。「こんなに人狼吊れない XX は村人側のはずがない」って二回目の灰吊り後に言い出す人がいなかったから良かったね、とかいう。

別口で来てる人達のタイマーかけたさしの競技カルカソンヌを眺めて感心するとか、外から人狼を見物とか、クッキーズの対戦を見物するとか、ちょっと手を出すとかしてる間に一次会が終わって晩ごはんに出る。で、帰ってすぐドミニオン、と言い切っとけ、言い切っとけ。大会帰りの人を混じえて。ちょっとどう動くかっていう方針がいい加減に過ぎた感。カードの内容を忘れてたりするのもひどい。+1 buy あれば、ってあるじゃん、なんて。

それから世界の七不思議でぼろ負けてみたり。資源取り過ぎの後は不足、なんてやってないでちゃんとバランスを考えましょう。資金繰りがひどくかつかつだったのも辛かったけど。次にダンジョンファイター。さいころ投げるっていうのが慣れない。的に乗らない。おかげで二枚目のボードで全滅。的の外で一回バウンドさせることっていう制約があんなに厳しいなんて。その次がロイヤルターフだったか。逆かもしれないけど。相も変わらず動かない馬とか、三振りでゴールしてまだスタートライン越えてない奴を周回遅れにする馬とか色々出しつつ。賭け方が下手なんだよな…… 1 ラウンド目が収入無しだったのが響く、響く。その後でピクトマニア。前ほど点を取れなかったけどそんなことどうでも良くなる面白さ。無謀にも最高難易度に挑んで「何でこの人血を吐いてるの (腕時計を見ている人:今)」とか「何この電球 (禿頭:カエサル)」とか。大笑いでお腹痛い。ゲーム的には負けたけど、野党幹事長を全員に分からせたから勝った気分。

アルハンブラでちょっと中途半端に手を伸ばそうとし過ぎた感じの大差負けをした後で朝ごはんへ。戻ってきて元気な人狼面子を横に、脇にいた人達とダイヤモンド、コヨーテ、ピクトマニア。序盤、保守的に稼いでも後の判断がだめだめだと負けますとか、さくっとはめられて負け抜けても、どう見ても盤面 - ですなんていうのを外から眺めるのは愉快なものですとか、それだけだとどうしようもないお題が他のカードのテーマと合わせると何とか描けるし分かるっていうのが面白いとか。

そこで遊んでいた相手が帰った後は、残ってる人狼の見物だの GM だの。「朝になると XX が無惨な姿で発見されませんでした」なんてことをしれっと言うのはほぼゲームが決まった後でも止めてあげましょう。

昔馴染みが夫婦で子連れで村に参加はいいけど片方ハムスター人間でもう片方が人狼っていうのはまた、相変わらずな……なんてありつつお開き。片付けの後、撤収。良く遊びました。

Tags | 人狼

2012-07-14 01:44:03

今朝はくもり。朝ごはんはパンとサラダとソーセージ。このところ晴れてたし梅雨も明けたかと思ってたけどそうでもない? 週末、雨でなければいいんだけど。

ざくざく再構成したコードをコンパイルしてみると通らない。定義の依存性からしてこれをこっちに持って行くしかなくてとか、全然違うもの持ってこない限りはこの辺り共通だから外部機器非依存のところに置いておきたいけどどうしようとか、それで static な構造体の配列を非依存部に置いたら外部機器依存の関数からアクセスしようとしたら引数として渡さないとねとか、ごちゃごちゃ色々調整してやって、何となくそれなりに納得が行く形で今まで通り動くコードにする。

それが出来上がったところで、外部機器依存のコードの新しい機器用のを書いてやって、とやりかけたところで公開インターフェースと外部機器非依存-依存部のインターフェースに追加がいるなと気付いて、そのついでに外部機器依存部に実装置いてた関数が非依存部に置けるのに気付いて直して……それからさくさく新しいところを書いて。実際のところ、今回来たやつって前のとあんまり大きく変わってるわけじゃないから、コピーして書き換えって言ってもあんまり書き換えるところ無かったりするわけだけど。一番大きいのでリクエストがちょっと違うからリストを書き換えなきゃっていうぐらい。

新しいやつはとあるリクエストを最低でも十秒毎に送りつけてやらないといけない。でも、今の仕組みでランドロビンしてるとリクエストが 11 あるから当然間に合わない。ということでリクエストのスケジューリング部分をちょっといじる。enum と別に配列用意するだけだけど。この順番で、というのを並べてその中で選ぶ。今まではリクエストの値そのものを増やしてたけど、それを配列の添字を増やして配列中の値を拾ってくるようにするだけ。まあ、こんなものかな。

とりあえず出来た、ということで動かしてみると、何か通信出来てない。何で出来てないんだってちょっと見たら、コピーして書き換えた時に最初に送るリクエストの長さを書き換えるの忘れてた。これにちゃんと返事があるまでこれを送り続けるんだけど、送る長さ違ったら当然正しい返事が得られないんでそのまま対立し続けるという。他にチェックサムは直したんだけど引数を書き換えるの忘れたなんていうのをいくつか直したら、どうやらちゃんと通信出来るようになったらしい。サブマイコン側直してないからデバッグコンソールで見える分でだけの確認。ちょっとタイムアウトの頻度が前の外部機器相手の時より多いような、そうでもないような。

新しい基板が来たから動かしてみる作業を優先したいということで、こっちはこれぐらいでとりあえず終了。でもそうやって切り上げた時刻が遅かったんで、今日はほんのちょっと準備を進めただけでおしまい。GPIO のポート定義ヘッダファイルを基板依存の部分と非依存の部分にどう分けるか考えて、とりあえず分けてみただけ。その時ついでにさっきコミットした .hex ファイルが間違ったオプション定義でビルドされてるのに気付いたりもしたんで微妙の遅くなる。これだから、ソースとテキスト以外のものをバージョン管理したくないんだ……

それで雨が降ってきた割に気温はちっとも下がらないんで蒸し蒸しと気持ち悪い中帰る。ちょっと遅くなったというので何となく晩ごはんは塩ラーメンということに。何か久しぶりな気分だし。細めの麺にさっぱりした鶏のスープ。白髪葱にゆずの香り。良いものです。ゆずは香りだけ移すようなことが出来ればもっといいかなとは思うけど。皮のかけらが入ってると、ちょっとそれだけ匂いが強過ぎて。

汗だくで帰ってちょっと涼んで、後は WWW 見たりゲームしたり寝たり。何かうっかり起きたら 24:00 近くなんていうことになってたよ……ちょっとだけ進展、というほどのものでもない感じな。無理は禁物だけどね……

明日は早起き後徹夜なんだからもう寝ましょう、そうしましょう。

2012-07-13 00:27:35

今朝は雨。朝ごはんはパンとサラダとソーセージ。雨が降ってるっていうのに気温がそんなに下がってるわけでもなく、というと必然、蒸して気持ち悪いことになるわけで。ぐぅ。駅のホームで向いにある小屋の屋根から落ちる雨だれが何となく楽しかったりはしたんだけど。ぎざぎざの谷間から、落ちるの自体は一定間隔に近いけど、どこから落ちるのかはわからないっていう感じでぽたぽた落ちる。あの下に何か置いて音階鳴らしてみたらどんな音楽になるだろう?

ちょっと見落してたというか、確認したつもりで間違った見方してたからもうちょっと PC と RS232C-RS485 ブリッジを使って外部機器と通信するっていうのを追求してみた。RS232C 側の制御線に何か使えるところないかな、と。で、見てみるに、送信直前、直後で特に信号の推移が無いからやっぱり使えないぞっていうのがわかっただけだったり。改めて受信したデータ見てみると、応答の後ろの方をちょっとだけ拾ったとかそんな感じのデータが見えることだし……やっぱり、Cygwin 上の Ruby スクリプトだとどうあがいても間に合わないタイミングで応答が来てるんじゃないかと思われる。うん、無理っぽい。

そういうことで、基板のマイコン経由でデータを拾う方向というか、どの道この新しい外部機器使う気だったら対応しなきゃいけないんだしということでコードの修正を開始。前のやつも使えるようにしておこう、というか、どんなのを持って来ても切り分けた機器依存部分の中身書くだけで使えるようにしようという遠大な目標を見つつも、前のと今のとが型番の最後一文字が違うだけで通信プロトコルも要求への応答もかなり同じっていうことで違う部分だけまとめられるようにするというところから。全然違うの持って来られたら、もう一枚抽象化を挟むんでしょうということで。

それで前の外部機器への対応コードで使ってない部分はわざわざ書きたくないから消すとか、機器依存になりそうな制御に使う情報を応答から拾った構造体を static にして直接構造体見てた辺り向けのインターフェース関数を作るとか、enum と要求と応答のバッファを定義して構造体配列が乖離するのが嫌でまたマクロでまとめてみるとか、そういう切り分け前の準備をするぐらいで今日はおしまい。メインマイコンプログラムの説明会もあったことだし。それで、雨は止んでるけど何か不穏なんだよなっていう空の下、帰宅。

しばらくだらけて晩ごはんにかつおのたたきと冷奴となすの塩もみ。何かとても久しぶりななす。ちょっと種が浮いてきてて鮮度は今一つか。まあ、問題になる程じゃないけど。醤油が無くなったからいつもなら付けてるだろうとろろ昆布のつゆは無しっていうのが何か間抜けな。

後は WWW 見たりゲームしたりまんが読んだり。山でももうちょっと潜ってみましたよっていうだけで大した収穫が無いっていうと、ここからどうするか悩むところ。深く潜らないでしばらくステイか、カメレオンの洞窟にでも突っ込むか。うーん。

2012-07-12 00:27:21

今朝は晴れ。朝ごはんはパンとサラダとソーセージ。暑くなってくるとからすの人達はずっと口を半開きのままなんだよな、などと駅のホームから眺めつつ。何を架線の上をじわじわ横滑りしていくのか。飛べばいいのに。

やっぱり RS232C-RS485 変換アダプタ挟んだ PC からの通信ってどうも上手く行かないよねというのを確認してから、今までの基板で動いてるプログラムをちょっといじって通信させてみようという作業に移る。通信させるだけだったらちょっと送るメッセージを変えて、受け取るデータの量を合わせてやればいいんで大した変更じゃない。ラウンドロビンしてるのを変えたメッセージだけにするっていうのも、インクリメントを止めるだけっていうことで単純。

……なのに何か通信出来ないのだな。RS485 では使ってないピンに導通確認機能が割り当てられててショートしなきゃいけないっていうので作ってもらった治具の辺りで信号線を見てみても何かおかしい。グランドが取れてないような波形。その上、送受信してる信号パルスらしきものは見当たらない。何だこれ?

故障を疑ってセットに入ってる基板に強引に繋いでみても結果は変わらず。ケーブルや治具がおかしいのかっていうと、PC からの送信の方は完動、PC での受信もいかにもタイミング問題的なものはあっても全然出来てないわけじゃないということでそうでもないらしい。セット内で完結させて、今まで通りのプログラムで前の外部機器と通信させたらこれは問題無し。裸基板に同じ機器を同じケーブルで繋ぐとだめ。うーん? 何か色々試してると、通信とは無関係な外部機器の出力を基板の入力に繋いでやらないとまともに動かないんだな。オシロスコープで信号見ようとプローブのグランドを繋いだら、浮いてるようだった波形が安定するという現象も見られる。うん?

この外部機器、デジタル信号のグランドと他のグランドが共通だったりする? それで基板に繋ぐなり何なりしないと浮いてる? 基板の方は信号のグランドと他のグランドが分割されてるのかな、この感じだと。で、あんまりにもグランドが妙な具合だと、ドライバチップがケーブル繋がってないものとして出力をしないとか。ということで試しに新しい外部機器の出力をグランドだけ基板に繋いでみたら、あっさりと通信が確立した。……わかるか、そんなん。

最初にやってみた通りの変更を加えたプログラムを動かしてやると、PC でのデバッグログ取得インターフェースで通信内容を見られる。チェックサムが合ってるし、仕様書にある各フィールドの内容として妥当な値が見て取れる。……どうやら、特に問題無く動くみたいね。単体で入出力特性見たりするのに延々動かしつつログを取るっていう用途には、基板無しで動かせた方がいいけど……何か無理そうな気がするんだな、タイミング問題っぽいのの解決。マニュアル読めたら、実はフロー制御出来たりするのかもしれないけど。

そこから打合せがあって、いつになったら出来るか知らないけど話は進めるんですよとか、新しい基板自体は週末に入ってくるからスタンドアローンでそれなりの動作が出来るところまでは今月中に片付けたいですねとか、だから今やってる通信周りも適当に切り上げて判断仰ぎましょうかとか、そんな感じで終わる。定時退社日に遅めに打合せを始めたら、終わるともうそろそろ終わりという時刻なわけで。

アダプタ使って PC から前の外部機器とやり取りしたらどうなるか、なんて確かめてみて終わり。新しいのと変わらないかな。タイミングが違うから余分に良く取れたりはしてるみたいとか、それぐらい。で、帰って晩ごはんに冷奴と鴨汁のそば。袋詰めのさらしごぼうを一袋とか使ってると何の汁だかわからなくなるけど。ごぼう多過ぎ。

後は WWW 見たりゲームしたり。城が何かあんまり深く行き過ぎると危険だよねと山にも行ってみるとかしつつ装備の充実と経験稼ぎを図る日々。飽きない程度にしておかないと、いらないことをして死ねること間違い無し。さっきも HP 8 になったし。危ない。

2012-07-11 01:38:06

今朝は晴れ。朝ごはんはパンとサラダとソーセージ。いきなりまた暑くなってきたような。

昨日の状況を報告してちょっと見てもらったところ、「ここに付けるものが何か一緒に入ってなかった?」との言葉。気付かなかったけど、別口ので RS485 用のターミネータが分かり難いところに入ってたのを思い出して、箱を調べてみたら案の定。側面を開けるような箱で四方に詰め物っていう形の、開けたのの反対側、一番奥の詰め物の外側に部品が隠されていたのでした……別に隠しちゃいないんだろうけど、伝票にも何も書いてない状態で気付きやせんわという感じ。これが外付けブレーカーだかヒューズだかなんで、無事、出力が出てコントローラの電源が入るようになった。

RS232C-RS485 変換アダプタがあるからとりあえず適当にシリアルポート扱う要領でスクリプトを書いてみる。動きを見るに、送信したリクエストはちゃんと受け取ってもらえている風。でもレスポンスをちゃんと受け取れてないということでしばらく、延々、悩んでみたり。ちょっとスリープ挟んだりするぐらいでどうにかなる類のタイミング問題じゃないらしい。半二重制御自体はアダプタがやるらしい……詳しいところはマニュアルもないことで良くわからない。あるんだけど、メーカーのサイトで配ってる PDF が壊れてるらしくて読めない。困る。同メーカーの他のアダプタのマニュアルから類推すると、別段何もしなくていいらしいんだけど。

そんなで調べものしたり実験したりでおしまい。結局何も解決してない。基板に繋いでマイコンプログラムでやり取りしてみて、それも上手く行かないようなら問い合わせっていうコースか。PC と変換アダプタぐらいでやり取り出来た方が単体実験にはいいんだけどな……

それで帰っておやつにグレープフルーツのタルト。何か、早めに帰るっていうと、買い物出来てしまって余計なものを食べ過ぎるような気がする……それで晩ごはんにはキャベツ、人参、ズッキーニ、パンチェッタのトマトスープでフジッリ。トマトソース残ってるし、キャベツ食べなきゃ、だし。適当にやっても十分おいしいのが助かるところ。

後は WWW 見たりゲームしたり。城の 30 階まで降りてみました、で終わり。ユニークモンスターを倒せたり倒せなかったりという感じ。火力が足りないわ。

2012-07-10 00:45:36

今朝は晴れ。朝ごはんはパンとサラダとソーセージ。何かまだお腹が重い。食べ過ぎの影響が残る感。昼間良く寝たとはいえ、寝るのが遅かったから眠いし。気温上がり気味でも湿度が下がって爽やかな感じなのが幸い。

次の基板の分の修正を加えていくのにどうしようかなと思いつつ色々いじってみたり、ついでにちょっと安全側に倒す細工を入れてみたり。知らない割り込みだのトラップ向けのデフォルトハンドラで、reset 発行前に PWM 出力を停止するようにしてみただけだけど。基本、これ呼ばれないのが正しいんだけどね……

プロジェクト分けてファイルも分けるっていう方がメンテナンスを考えなければきれいなんだけど、それで基板毎の差異以外の修正がどうなるかっていうのが今一つ見えないなというところで打合せ。今やってる辺りのものの引き合いが直接は無くなったけど、どうせ並列動作で長時間出力っているよねということで作業はそのまま進む、と。

新基板向けのテスト動作用修正と、先週末に頼まれた新しい外部機器の単体動作確認と、どっちを優先しましょうかと聞いたら基板は遅れてることだし動作確認の方と言われたんで作業を開始。コントローラがえらく軽くなって滑る、滑る。制御される側は相変わらず重いのに。机の周りを整理して台車を置いて、それからとりあえず接続するのでばたばたする。ケーブル無いから作ってもらうとか。あるはずのを探してもらうとか。何かコントローラとの通信に使う RS485 の線は普通なら空いてるピンをショートしないといけないようになってるということで、どうしたもんでしょうと相談した上で作るもの作ってもらうとか。

で、準備完了、とりあえず電源オン……としてみたけど電源が入らなかったり。出力出てないからあたりまえって言えばあたりまえ。マニュアルの記述を見るに、ちゃんとショートさせた RS485 の通信線繋ぐと出力が出るようになって、それで電源が入るようになるっぽいんだけど。うーん?

しばらく悩んでみたけど良くわからないんで、今日のところは時間だからと帰っておく。それで晩ごはんに豚汁うどんと餡団子。やっぱり固くなっちゃうわね。もちもち柔らかだったのがぽそぽそし始めるくらい。焼いたら餅みたいに戻るかもしれないけど、あんこ付きで焼きたくもない気がするわけで。

後は WWW 見たりゲームしたりで。城に行ってみた、だけ、っていう。先は長いというか、長過ぎるわ。この辺りでまた良く死ぬしな……

2012-07-09 01:37:09

今朝はくもり。早めに起きて朝ごはんを食べて、着替えて準備したけど出発まで時間があるから結局また寝たりして。それから出発。日曜日はバスが混むのね。

乗り換え駅で待ってる時間からするに、もっと遅い電車で出て来ても良かったんじゃないかと思いつつ快速に乗り換え。このボックスシートは座り心地悪いんだけど。それで寝てる間に到着して、お寺までは歩き。日が差すぐらいで雨はあんまり心配無さそう。助かる。

七福神の祠に何だか良くわからないものが収められてて悩んだり、子供の願いは無邪気……でもないな、と弥勒菩薩の写生? に書かれたのを読んだりしつつしばし待ち。後、本堂で四十九日の法要。お子様が大変におとなしくしていらっしゃる。偉いわね。ちょっと暇になるとすぐ声高に話し出す大人の方が自重しなさいっていうか。

それからお墓参りに。どうも他でも法要があったらしく、こっちが親戚集めて大人数だったのもあって変に混雑したり。で、お墓まで送ってもらったバスで今度は精進落としの会場へ。ここのバスだったのね。他にもいくつか同じような客があるらしい。

で、お昼、と。なめこおろし、ぶりの塩焼、らっきょのつけもの、枝豆、うなぎの蒲焼、天ぷら盛り合わせ、茶碗蒸し、お造り四点盛とあって、すっかり和食かと思いきやおこげと豚と海鮮のサラダ、牛とふくろだけの旨煮、鶏と椎茸の旨煮と急に中華っぽい大皿料理が。で、お寿司が出て、なすの汁でうどんとそばが出てという感じ。なかなか悪くはないんだろうけど、どうもこの手の会食用のコースメニューらしく……天ぷらなんか、揚げたてならずっとおいしいのが間違いないところなんだよな。他のあったかいままだった料理とか、元より冷めてもそう味が落ちない料理の感じからして。

えらくぎりぎりになったところでタクシーを呼んでもらって帰る。もう無理かなと思いつつ駅に着いたら十分間に合ってて、特急券と乗車券を買って一、二分待ったら電車が来てというタイミング。それで通路側になりますと言われた席が三人組が対向するように回した席で何とも場違いな気分になったりしつつ寝て過す。寝るしかないじゃない。

北千住から上野に行くのは常磐線です、千代田線じゃなく……ということで無駄に時間を消費したりしてから上野に出て、東京に出て、新幹線に乗って、と。思った以上にがらがら。日曜日の夕方近くってこんなものだったっけか……それで新大阪から京橋に着くと 19:30 ぐらい。

買い物をして帰って、まだあんまりお腹減ってないやとしばらくぐだぐだ。それから晩ごはんにズッキーニ入りプッタネスカ。悩んだ挙句がそれ。でもあんまり具を増やす方向に行くと、どう考えても食べ過ぎだし。

後は WWW 見たりゲームしたり。食べ過ぎてるけどおいしいものはおいしい内に食べないとね、と持たされた餡団子食べたり。さすがに全部は食べられないけど。もう固くなってきちゃってるからの残りは冷蔵庫に入れとくとえらく歯応えのあることになっちゃうだろうな……

アルベリヒを倒せる火力がありません、でぼろぼろにされたりしつつ。純粋魔力か物理な魔法が手に入らないと無理かも。もしくは強力な武器か。……そう言えば耐性のためだけとはいえアーティファクトのクロスボウ持ってたんだな。撃ってみようか。

2012-07-07 23:57:48

今朝はくもり。朝ごはんはプッタネスカ。日曜日に法事で朝から出るから前泊するようにという話でちょっと早めに起きて出る。ほんとに、ちょっとだけど。昨日の晩に準備しておいたから大丈夫、と思いつつもエレベーターで一階に降りたところで財布を忘れたのに気付いて戻り、もうすぐ駅というところまで行ってからシャツを忘れてるのに気付いてまた戻り、とかやってると情無い気分になれます。

何か変な雲が出て来たなと思ったら案の定、大阪駅付近で大雨。でも淀川渡る辺りでは日が差して見える……なんてことがありつつ。最近、極端よね、雨雲。で、新大阪始発だからがらがらの新幹線で東京へ。がらがらなのに通路の向いに座ったお子様に全力で泣き叫ばれるという残念さ加減。そのうち寝ちゃうんだろうと寝てたらやっぱりいつの間にか静かになってた。

静岡のどこかでは晴れてたけど東京駅ではどんよりくもり。秋葉原に出てお昼に塩ラーメン。バジルの香りなんてあるとスパゲティがそこかにあるという錯覚に捉われそうになります。ちぢれ麺に透明感の高いすっきりしたスープ。なかなかいいんだけど、好みからしたらちょっと胡椒が効き過ぎ。

ちょっとうっかりすると 10 レベル越えても全然何てことないところで終わったりするのです、で 3 段とか、前半結構早かったと言いつつ一回一分ぐらいのがあった上に最後に死神出るまで粘られてたりすると遅いよねとか。まだ二周目行く人はいないんだろうかとか、最後で延々稼いでるとあんなことになるのねとか見物して表に出るとちょっと雨。うーん?

地下鉄に乗って寝て過して、実家最寄りのバスが来る方の駅に着いたところでは止んでた。でも天気悪いしすぐに来そうだしとバスを待ってみて、発車前に両替しておこうかと思ったら小銭どころか千円札も無かったんで、面倒臭いからもう歩くなんていう謎の決断を下したりして帰る。降られなかったし、まあ、問題無し。天気悪くなかったら元から歩いてたところだし。

それで晩ごはん食べた後はのんびり。いつの間に 30 階まで降りてたんだっけと思いつつ一周してから 25 階レベルクエストの残りに挑んでみるとか、気が乗らなくても頑張ろうよと闘技場のミスリルゴーレムを延々と逃げ回りながら倒してみるとか、32 階まで降りてみてから行ける、行けると森でシェロブを倒してみるとか。ちょっと調子に乗って進め過ぎな感じはある。そろそろ気を付けないと。

2012-07-07 01:55:25

今朝はくもり。朝ごはんはパンとサラダとソーセージ。何かもう、やたらと蒸して気分が悪いったら。

一応上書き不可なログの書き込みも確認しておこうかなと普通のエラーログに書くのと同じ内容を書いてやることにしてみたらいきなりバグってるのが発覚したりして悩む。空のログに書けないっていうのは何さという。

何さというと、領域初期化時の設定と通常動作中に領域が一杯になったかどうかを判定する条件とを比べたら自明という意見が……起動した時のチェックでは対処したけど、こっちは空なのと一杯なのとが区別出来ないままだった。そう言われてみればその通り。で、それとは別に、最後のエラーを見つける部分も間違ってるのを発見。bogus なタイムスタンプを見たら continue っていうのだと、後でやってるオフセットの更新に行かないから読んだ塊の前の方で壊れたエントリがあるとそれ以降が全部無視される。オフセット進まないからずっと同じエントリ見るんで。

だめだったら continue じゃなくて、valid だったら比較するということにして探索の方は OK。空と一杯を見分けるにはっていう方は、結局最初に最後のエラーを見つけるのにログをスキャンする時に、エントリのアドレスだけじゃなくてエラーコードも保存することにして解決。ログ領域を初期化する時には 0 fill するから、空だから領域の最後を差すようにしておいた場合にはコードは 0 になる。本当にエラーがあったら何かエラーコードが入る。起動する時の判定もこれを利用するようにして、とりあえずは出来上がり、かな。

後はメインマイコンプログラムの勉強会っていうか質疑応答会があったり、次期機種向けの新しい機材到着したからちょっと試してみてと頼まれてるんで仕様書読んでみるとかしておしまいな感じ。同じリクエストコードで違う引数に違う応答っていうのは割とやめてほしい気がするな……

またも雨が降りそうなところをどうにか降られずに帰って、晩ごはんは何となく焼きそばということに。足りない分はカマンベール食べておけという良くわからない発想で。ずっと前に何度か試した頃と比べると、割とちゃんとそれなりにおいしく出来るようになったからたまに食べたくなるのよね、焼きそば。キャベツとにんじんとズッキーニしか具が無くても十分な感じ。

WWW 眺めたりゲームしたりで終わる。今日はあんまり眠くならなかったな。ちょっと残りの 25 階レベルクエスト挑むのも、闘技場のミスリルゴーレムに挑むのも嫌な感じということで、鉄獄を 28 階まで降りてみただけで終わったり。武器が弱くて魔法もボルト系は反射される上に手持ちで反射されないのは耐性持たれてるのか元よりダメージ小さいのかってなるとミスリルゴーレム相手にしたくないんです……鉄獄で二回倒してるから、頑張れないことはないってわかってはいるけど。

2012-07-06 01:50:28

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

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

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

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

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

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

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

2012-07-05 01:02:54

今朝がくもり。朝ごはんはパンとサラダとソーセージ。なじょうことなく仕事場へ。ちょっと暑いだけさぁ。

午後にまたレビューするというから資料を見てみて何が変わったか確認しておくとか、エラーログの読み書きの動作確認とデバッグとか。適当なエントリのイメージ作って埋めてみて様子を見る。一度、メインマイコン側書き換えてないどころかサブマイコン側も書き換えてないところで電源落して再起動したら凄い音立てて壊れてくれてがっくりしたりもしつつ。開けてみたらスイッチに使ってる MOSFET が文字通り吹き飛んでるという激しい壊れ方。久しぶりだな、ここが壊れたの。相変わらず、何で壊れるのかさっぱりなままだけど……

それはともかく。最初の 32 bytes 4 エントリを埋めてみた、っていうのでは正しく動いてるけど、64 bytes 8 エントリを埋めてみたら最終エラーが 4 エントリ目になってるから何かと思ったら、タイムスタンプ最大のエントリを探すところで 32 bytes 単位で読んでるループがベースアドレス進めてなかったよなんていう間抜けなバグがあったり。それ以外は特に問題無しかな。ちゃんとログも回るし。PC ツールとの通信プロトコルの都合上、一つのログに入る総エントリ数は 256 までだったというのでログ領域のサイズ変えたりちょっとプロトコルで規定してるのは 1 origin だけど 0 origin に直したりしたぐらい。16 bits で番号表すようにしてもいいんだけど、まあ、無駄に修正箇所を増やすこともないでしょう。256 エントリでも多いし。

マスター-スレーブ動作プロトコル案のレビューに参加して、結局またハードウェア担当の方との意識の差が明らかになりました、で話が終わったりしてからエラー処理についての検討と実装を開始。EEPROM 周りの初期化はエラー通知周りよりも先に動くし、エラー通知すると EEPROM にエラーログを書くからそこでまた何か起こる可能性あるしということでちょっと。結局、直接エラー通知関数呼ばないでフラグだけ立てておく、メインループ中でキャッシュのフラッシュと同じタイミングで通知してない EEPROM 周辺のエラーがあったら通知する関数も呼び出すという格好にしてみようと実装開始。定時退社日なこともあって大雑把なところを書いたぐらいで今日のところは終了。

雨が降り出しそうだったけどぎりぎりセーフ、っていう感じで帰って晩ごはんに天ぷら炙ったのととろろ昆布のつゆと冷奴。おでんに使うちぎり天に枝豆天を追加してみた。ちぎり天にも枝豆天入ってるから、そんなに枝豆好きなら枝豆そのものを食べればいいのにという気がしなくもない雰囲気に……まあ、おいしいしね。

後は WWW 見たりゲームしたり一寝入りしたり。24 階をうろうろしてから柳じじいを片付けて 26 階に行ってみた、ぐらいな感じ。またちょっと装備が充実。でもこの盾持っちゃうと反射の盾が持ち難い感じになるのが困るな。アミュレットで出たらいいんだけど。

2012-07-04 01:17:48

今朝は雨。朝ごはんはパンとサラダとソーセージ。ぎりぎり傘がいらないぐらいかと思ったら、向こうに着いたらこれからどんどん強くなるところだったり。朝っぱらからしけぽいのは嫌ねぇ。足元が気持ち悪い。

別案件についての打合せに出席したり、進捗打合せで話したりしてるとすっかりやる気が無くなって、という感じで。何か通ったら通ったで春には量産に入らないとなんていう無茶っぽい話とか、あんまり書く気にならない類の資料をもっと書かなきゃいけませんかとか、気が乗らない話ばっかりされると、ね……

そういう話もありつつ、まあ、書くだけ書いたから動作確認という話。昨日、ちょっと意図せず試したところによれば、ブロック単位の読み書きに突っ込んでおいたミラーからのリカバリ処理は動いてるらしいよね、というのを真面目に確認してみた後で、エラーログ周りの通常動作を確認してみる。

とりあえず記録はしてる。ちゃんとインデックスは進む。……良く考えたら PC 側との通信プロトコルいじらないっていうと 256 エントリまでしか見えないんだな。デバッグ用 EEPROM 読み出しで全体の様子見えるからとりあえずいいけど。

最後に検出されたエラーのログエントリ発見ロジックからすると、RTC 設定しないで bogus なタイムスタンプ記録してる場合、電源落してから再起動してエラー起すとエラーログ領域の頭に新しいエントリが入るはずなのに何か先に進んでるのは何ででしょう……電源切れてないからだ。まともに動かすつブレーカーが入ってない側にも電源あるの忘れてた。全部落すとちゃんと想定通りに動く。そこで .xls のツールでエラーを見ると、一つ前のエントリのつもりで変なところを読んでる臭い……ああ、変なところ読んでる。サイクリックなデクリメントを間違えてるわ。オフセットで計算して絶対アドレスに適用してたらそりゃ、わけのわからない話にもなる。

タイムスタンプを真面目に設定した上でエラーログ記録がちゃんと回るかどうか確認しないとね……というぐらいで今日はおしまい。どうやら雨も止んだようだけど何か雲がまだ厚い、という中帰って晩ごはんに人参、アスパラガス、ラムの牛乳煮込みでニョッキ。クリームソースなりスープなりでないのは、生クリームを使い切れる気がしなかったから……牛乳だとニョッキの酸味にちょっと負けるか。

後は WWW 見たりゲームしたり。行けそうな気がする、で飛び込んだ 24 階のランダムクエストでグレンデル相手にちょっと苦労したりしつつ。開けた場所で遠くから魔法を連打出来ればいいんだけど、その状況に持って行くまでが。足速いのだよね、グレンデル。最初から離れてないとすぐ追い付かれる。で、殴られると AC 90 越えててもとても痛い。

2012-07-03 00:57:30

今朝は晴れ。朝ごはんはパンとサラダとソーセージ。じりじりと暑いわね……

あんまり大幅に書き換えるのもなと手を止めてみたものの、どう考えても今の作りのままじゃ後に禍根を残すのが目に見えてるもんだから結局大幅な修正を加えてみるという辺りからお仕事スタート。前の EEPROM 周りのコードを出来るだけいじらないようにというのにも限度があるわな。挙句に実際の書き込みが起こるまでに、大域変数な構造体とそのコピーを比べて変わってたらキャッシュに書き込み、キャッシュが汚れてたら EEPROM に書き込みなんていう無意味な多段バッファリングが起こってたりするし。保存しないことにした構造体メンバの初期化が保存するのと同列に並んでたりもするし。自分で良くわからなくなるわ。

そんなこんなでいらないところをばっさり切って、普通っぽいコードに近付けた上でようやく動作確認してみる。EEPROM の初期化はちゃんと動いてるっぽい。使ってないところ 0 クリアするコード入れ忘れてたけど。で、.xls ファイルのツールでコマンド投げてみると……書き変わらないね? 何で?

コマンド投げた応答からするとちゃんとエラー無く通ってるのは間違い無い。キャッシュへの書き込みが起こらないと、この返事を作るのに使ってる構造体に値入らないから設定した値が見えるはずもないということで。ちょっと、開始時刻と終了時刻が同じに設定される辺り、呼ぶ関数を間違えてたりはしそうだけど。まあそれはそれで直すとして。

そうなるとキャッシュのフラッシュが為されてないとか、そんな話になるんだけどそんなことあるのかとしばらく悩む。初期値書き込むところではキャッシュのフラッシュは関係無いんだよね。で、フラッシュするのがこれ……ああ、ダーティフラグ落すの忘れてる、これ呼ばれる度に EEPROM に書き込んでたとすると寿命的にとてもよろしくない……それはともかく、ここで書いて、……書いて、ポインタ進めてないな。最初のブロックだけひたすらフラシュしてる。現状最初のブロックは書き換えしないブロックで、書き換えるはずのブロックにポインタが進んでないから書き換わったキャッシュがフラッシュされない……

……直したら、直った。何て間抜けな。良くある話ではあるけど。構造体配列をそのまま添字でアクセスするのが面倒だからってポインタ越しに操作しようとすると、どうしても間抜けなことをしがちか……それでバグを作り込んで悩んでたら世話無い。とりあえず、普通にブロック単位で読み書きする部分の普通の動作についてはこれで大丈夫っぽい。余分なところを 0 クリアするコードを入れた時に、主ブロックだけ潰してみたら初期化されるんじゃなくて副ブロックの内容がコピーされたっぽいからその辺も動いてるみたいだし。その辺りとエラーログの読み書きを確認したら、とりあえず基本は OK かな。EEPROM の読み書きにまつわるエラーへの対処をどうしようかっていのがまだなわけだけど。

そんな感じで終わって帰る。晩ごはんは冷奴と豚汁うどん。さっぱり涼しく。エアコンはいいね……ってそれだと晩ごはんのメニューが関係無い。まあ、この豆腐おいしいし。それで後は WWW 見たりゲームしたり。迷宮のミノタウルスを倒したんでまあ行けるだろうとアゾクに挑んで勝ってみた。ちょっと鎧が良くなって、なかなかに、それなり。

2012-07-02 02:14:07

今朝はくもり。朝ごはんはオリーブ、ケーパー、えびのトマトソーススパゲティ。プッタネスカのアンチョビがえびに化けただけとも言う。なかなかぷりぷりといい感じ。

しばらくどうしようかと思ってぐだぐだした後、こうしてぐだぐだしてるから体調悪いんだとばかりに出掛ける。エアコン使ってないと部屋の中暑いし。で、パンを確保しておいてから土佐堀通りに出て、天満橋から谷町筋下って、っていう感じで。外の方が風は通るけど、じっとり蒸し暑くて気持ち悪いっていうのに変わりはないのね。

あじさいがいい感じとか、蔦の新芽が伸びてるけど古い葉っぱは傷んでて病気っぽいとか、あれこれ眺めつつ適当に。それでちらほら雨がぱらつき出したかも、っていうぐらいで心斎橋に着いて、古本屋に寄って一休み。

適当に切り上げるというのは閉店近くまでいることとは違う気がするの、という意見を握り潰しつつ買い物して帰る。半額になってる生ハムブロックをここから持って帰るのはどうなんだろうというのは、帰ってから思ったこと。そもそも買った時点で半額なのに気付いてなかった……地面の様子を見るに結構降ったみたいだけど、この時刻だともうすっかり止んでる。月が見えてるし。

堺筋を上ってたら開いてたスーパーで丁度いい感じのアスパラガスを買えました、なんてしつつ天満橋でまた土佐堀通りに乗って、そのまま東進して京橋に戻る。で、そのまま帰って晩ごはんにアスパラガスと生ハムのトマトソーススパゲティ。この生ハムは、つまみ食いしてると無くなりそうなのが難。脂が多過ぎないブロックだったんで丁度いい感じに仕上がった。

後は WWW 見たりゲームしたり。いい加減エアコン解禁して、クロタン食べつつ。この手の山羊のフレッシュチーズってクラッカーか何か欲しくなるな……ところでこの苦いというか渋いというか、妙な味がするのって普通なんだったっけ? コーヒーと合わないだけ?

地味な進行で 22 階まで降りてみたりしたもんだから、まあ大丈夫かなと 15 階レベルクエストに挑戦して全部片付けてみたりして。収穫は今一つ、っていうか何も無いに等しかったけど……一角獣の書が現金になりはしたか。

2012-07-01 00:27:58

今朝はくもり。朝ごはんはプッタネスカ。何か NHK が聞きに来たけど、一体どこがどうなってうちに薄型デジタルテレビがあって、なんていう話になったんだろう。アナログのブラウン管テレビなら引っ越してきて以来何年だか、しまい込んだまま眠ってるけど。

雨が降り出したけどとりあえずいつも通り地下鉄で恵美須町に出掛けてみる。何せ、やってることがことだけに、あんまり雨が降っても問題無いし……ということで、コンビニに寄ったり店先覗いてみたりの後、本屋に寄ってからゲームしに。エジプトの 2,000m クリア出来たし宇宙でも 2,000m 超届いたし、まあ調子は良かったんじゃないでしょうかという感じ。後はしばらくぶりに Prickly Angler 経由 Hysteric Empress 行きとかやって、S まで無傷なのに X で 2 credits 分全滅してみたりして。何にも覚えてないと死に放題。

コンビニと古本屋に寄って、帰る途中で晩ごはんにつけ麺と餃子。もちもちした太麺に魚風味の強いスープ。天かすか何か浮いてるのがうどんを参考にし過ぎっていうか。一口サイズでもちもちでぱりぱりの餃子と合わせて、量は丁度いいぐらいかな。

それで帰って WWW 見たりゲームしたり。無茶はいけないよなと 20 階までちょっと降りてみるぐらいな所業。何か変に怠いしね。微熱気味。

2012-06-30 00:51:43

今朝は晴れ。朝ごはんはパンとサラダとソーセージ。くもってると文句を言う癖に、晴れてたら晴れてたで暑いというわがままな私、とか、何とか。大騒ぎする程じゃなくてもじっとり蒸す感じは嫌だよね。

ブロック単位で読み書きする方についてはブロックとオフセットとデータ長指定してポインタ渡してやればいいかという気分になる。書く時には dirty フラグ立ててやって、定期呼び出しのキャッシュフラッシュ関数が dirty なキャッシュに対応するブロックに書き込む、と。読むのは単に読むだけ。まあ、そんなものでしょう。ログの方は直接 EEPROM 読み書きするだけだから、その下請け関数のラッパーを見せておけば良し。

このレイヤはこれでいいとして、今あるコードでこのレイヤ使って EEPROM 読み書きするようにしなきゃいけないっていうのでしばらく悩む。悩んで、結局、今の下回りコードをざっくり破棄する感じで組込むことにした。構造体の使い方なんかまでいじると修正が大規模になり過ぎるからその辺りはいじらないとして、読み出しと書き込み周りのコードは大胆に変更。これいらないよねって EEPROM に保存するの止めた情報もあることだし。RTC の設定フラグだけ持ってたところは常に使えるっていうことにしておいた上で、RTC モジュールの方で変なタイムスタンプが返ってきたら使えないことにするというコードを追加して、他に呼び出されてる関数の中身は全部削除。エラーログも、ログエントリ一つを読み書きする関数の提供だけでほぼ中身無くなった。

そんなのの脇で、先月の様子だとどうかと思ったけどやっぱり参加はさせたいらしいと成果発表会を見物したりしてで今日はおしまい。何か無駄に左手が痛む一日だった……何なんだか。で、帰って晩ごはんにかも汁のそばといんげんの握り揚げ。豆腐でも枝豆でもないから枝豆天食べようかと思ったら無かったんで。とうもろこしがふんわり甘かったりしておいしいものです。炙った摺身はおいしい。うん。

後は WWW 見たりゲームしたり。あんまりにもさっくりざっくり切って捨てられるかのように負けると残念な気分で一杯になります……で、あんまり努力がいらないところでちまちま経験だの金だの稼ぎに走りつつ終わる。もうちょっとでレベル 25。その割には弱い気がする……

older <-

goto

hint can be:

Tags

old

2007-05 -- 2006-12

ゲーム関係の古い記録

before 2005-12