Repo

kjana00@gmail.com

older <-

2012-03-01 00:52:14

今朝は雨。朝ごはんはパンとサラダとソーセージ。雨と言っても傘がいる程では、と言っていられたのは京橋までで、でも向こうでもどうしても傘がいるかと言うと首をひねるところで。面倒臭いからあんまり傘さしたくないんだけどな。

遊んでみようかというところにサブマイコンのプログラム引き取らないかなんていう話があって、それでどうしようというところに担当の人が来てお話。ハードウェア担当の人の危機感と大体の進行を言ってどんなもんでしょうと聞いたらそんな感じで出来るはずって言うんで結局現状のままで行くことに。……本当に大丈夫なんだろうか。まあいいか……

話のついでにサブマイコンとのやり取りで決まってなかったところをえいやで決めてしまったんで、決まるまでと保留していた辺りのコードをいじってみる。まあこの辺の GPIO 使うよね、やっぱりっていう。系統選択制限の方についてはこっちで勝手に切る場合があり得るんで立ち下がりを拾う方向。エラーの方は、他のエラーとは別に見つつ同じ条件にするためにスイッチ状態を別に見るという格好に。他のエラーと同じ枠組みに入れようとすると、サブマイコンから通知されたエラーをサブマイコンに通知するという間抜けなことになるもんだから。

こういうのをどこに突っ込もうかと考えると、今までの状態遷移関数に一枚ラッパーを噛ませてそこに入れるのが妥当かなとちょっと構造をいじるとか、同じように GPIO 使って通知してもらってるスイッチの状態を見るポートも合わせてちゃんとした名前付けておこうといじるとか、名前的に今までと論理が逆になるからといじるとか。ん、とりあえず、こんなものか。

エラーのキャンセルも非同期に通知してるけど、サブマイコンとしてはあんまりキャンセルの方は真面目に考えてなくて、むしろ他と同じリクエスト-レスポンスの枠組みに入っててくれた方が嬉しいというのでインターフェースを追加してみる。細々とエラー全部についてわかる必要もなくて、適当にカテゴリ分けしてそれぞれでエラーが起こってるかどうかぐらいを返して欲しいなという要望で、どうしようかなと。結局、エラー設定をまとめてるマクロでカテゴリも設定してやって、後で各カテゴリに対するエラーが一つでもあったら 1 を返すなんていう関数を使ってリクエストへの応答を組み立てることにしてみた。これぐらいの数だったらリニアサーチで全然、問題無いはず。100 も無いんだから。

そろそろ帰ろうかというところでこれにプログラム焼いてと基板を持って来られて、焼こうとしたら電源が入らないのが発覚して……で小一時間帰るのが遅れたり。挙句、動かしてみたら何かが故障する音がしたとかいうとしょんぼりするよ……まあともかく、帰る。今日はずいぶんあったかいんだけど、9℃ だから実は昨日と全然変わらないんだよね……湿度のせい? で、晩ごはんはカレー。深い意味も無く白菜と大根とか加えてみてもカレーはカレー。さすが、もっと愉快な具材でもカレーだっただけのことはある。

後は WWW 見てゲームしてで。さくっと勝ったけど分析してみると真っ赤だったり、ブロードソードの技能は入門者までしか上がらないのが発覚したり。武装が弱過ぎるな……

2012-02-29 00:27:24

今朝は晴れ。朝ごはんはパンとサラダとソーセージ。昨日よりはずっとあったかい気分。良きかな。

昨日、一瞬変なことになった気がした操作をしても全然症状は出て来ない、なんていうのを確認した後で実験ログ検討の続き。この変な状態って直したやつなんだっけ、とかいうのが気になり出して、タグ打った時点でのログを眺めてみる感じ。出ないはずの症状が出てるっぽいけど、それを見て直してはいるんだな。今のプログラムだと同じ状況でも出なくなってると思うんだけど、同じ状況になるかどうかわからないのが問題……

そんなことしてるところに PC と外部機器を接続する治具が到着したということで、エミュレータの動作を確認する作業へ。こいつが USB 経由のシリアルに見えるわけねと治具のドライバを拾ってきてインストールするとか、ネットワークケーブルでいいというんで適当なのを借りたらコネクタがえらく緩いもんだから接触不良で動かなかったりとか。テープか何かで押えるっていうのも何だから、別のケーブルに取り替えることで対処。何とかなった。

それでプログラムを動かしてみる。昨日、ちょっとダイアログだけは眺めてみたわけだけど。実は一番下の行がクリップされちゃってるのね。おまけにダイアログをリサイズしても見えない。どころか、かえって隠れる部分が増える……まあそれはともかくいじれるところをいじってみた。何となく、わかるような、わからないようなという感じ。外部機器はコントローラとそれにぶら下がってるモジュールっていう構成で、通信用コネクタのターミネータ代わりに治具を刺して PC で通信する構成。見てるとどうやら、ぶら下がってるモジュールが返すはずの情報を全部肩代わりするように動いてるっぽい。この辺りのエラーはモジュールがこのフラグ立ててると起こるんだよなとちょっと試すと、思った通りに起こるエラーとそうでないエラーがある。うん?

モジュールがいじってるフラグのフィールドは二つあって、同じフラグが乗ってるように見えるところもちょっとある。で、一方で立ててもだめなやつでも、もう一方で立てたら思った通りになるエラーはある様子。で、それでもだめなのの一部はセンサーでの取得値を書き換えたら検出するのもあった。……全然関係無いのを検出するのもあるな。センサーエラーとか。

しばらく色々いじってから、やっぱりマニュアルも何も無しは辛いよとか、このエラー起こすには何をどうしたらいいかっていうのを教えてくれないとテストに使えないよとか、そもそもこの隠れてる一行のせいで書き換えられない情報があるんですけどとかいう話をまとめてメールして今日はおしまい。明日は起こるエラーの分ぐらいを確認してみようかな。

それで帰って晩ごはんにかき鍋。いつもの味噌仕立てじゃなくて水炊きっぽく。餃子のたれはいくらぽん酢っぽくっても餃子のたれだね、なんて思いつつ。何か変な甘さがある。ものすごく悪いっていうわけでもないけど、水炊きっぽいのに使うとちょっと目立つ感じ。適当に買ってみたら濁り酒な上にしゅわしゅわと発泡してはる、とかいう酒のせいじゃなさそうだし。ちょっと大根に火があんまり通ってなかった感じ。しゃきしゃきする。それで最後はおじや。でも卵無いとねこまんまっぽいかも?

後は WWW 見たりゲームしたり。見事なばかりの完全なストレート負けはどうなんだとかありつつ、とりあえず宿で飛べる町村は回ったし 6 階のランダムクエストも片付けたぞというぐらいまで。トランプの武器を拾ったけど何か弱いな……筋力無さ過ぎるせい、という意見もあるけど。

2012-02-28 00:01:29

今朝はくもり。朝ごはんはパンとサラダとソーセージ。天気が悪くてなぁと思ってたら雪がちつき出す始末でどうしてくれようかという感じ。まあ、大したことなかったし、向こうでは止んでたけど。でも、気温は上がらないわね。

先週末悩んでた辺り、遊んでたり寝てたりした間に原因を思い付いてたんで検証。ソース無しだとそんな感じだった気がする、までしか出来ないから……うん、やっぱり。構造体分けた時に、今まで受信したメッセージ本文のキャッシュだけクリアしてたところで、可変部分だけ括り出したからこれでいいやんなって受信成功のフラグも一緒にクリアするようにしたんだけど、これが明らかにタイミング悪いという話。DMA 割り込みハンドラの中で立てて、状態遷移部分でタイムアウトが出てるの見てキャッシュクリアのついでに消されて、そうすると後でフラグ見て受信出来てたら返事をパーズしつつあれこれするというところで受信出来なかったように見えるっていう。

直し方は色々。結局、関数呼び出しの順序にあんまり依存しないようにしたいなっていうのと、受信失敗の場合との対称性を失いたくないなっていう気分とで、前と同じようにメッセージ本文のキャッシュだけクリアするようにした。memset() 一つで済むものにループが必要になるけどまあ、しょうがない。どうせ 1ms に一回呼ばれるかどうかぐらいだから大した負荷でもなし。

それで直ったのを確認しがてらしばらく動作を眺めておいた後、また修理基板の動作確認。何かデバッガとマイコンの通信が出来ないよっていう基板はコネクタ周りをいじったことで無事、動作するようになった模様。MOSFET ドライバ交換してみましたっていう基板は最初ソフトスタートが進まなくてまた何もしない内に壊れたかと思ったけど、良く見たら回路図不良対策で電源飛ばしてるリード線が付いてないからスイッチング起こらなくて当然だったというだけだったりした。こっちも動いて、これでちゃんと動く基板がまた増えたぞ、と。……修理した基板って、壊れ易いんじゃないかっていう疑惑が無くもないんだけどね……

外部機器にぶら下がってるモジュールが吐く情報について仕様書が来たから確認してみるとか、外部機器との通信を模擬する PC 上のエミュレータが来てたんで、接続治具無いけどとりあえず動かしてみるとか。このエミュレータ、ぶら下がってるモジュール単体のエミュレータで、コントローラの方じゃないのか。ふぅん。

そんな感じで今日はおしまい。妙に冷え込むと思ったら 3℃ とか。また、急な。それで晩ごはんは豚汁うどん。さすがにこの気温に冷奴はない。食べてもあんまりあったまり切らない気分。爪先が冷たい。

後は WWW 見たりゲームしたりと。ようやく鉄獄まで出てみました、だけとか。このゲームで 30:1 とはまた新記録なとか。コンピュータ何考えてあそこでリダブルしたんだろ……?

2012-02-27 00:15:59

そういうことだったのでした、と。昨日の朝は雨で、気温も一昨日よりちょっと低め。朝ごはんにプッタネスカを食べて、11:00 に起きるつもりだったのが 10:00 だったから食べ終わってからちょっと寝て、それで 12:00 ぐらいに出発。エレーヌへのクリームの詰め方が何とも大雑把な感。まあ、刺す位置がばらばらっていうだけだから、気にする程のことでもないんだけど。

一次会で遊んだ後、二次会会場へ移動。雨も上がってて助かる。で、宴会メニューな晩ごはんがお造りに細巻き、ローストビーフのサラダ、豚とつみれのちゃんこ鍋、串かつ、とりの唐揚げ、とうもろこしとチーズのピッツァ、豚テキ、鍋の締めのラーメン、漬物、ゆずのシャーベットという感じ。なかなかおいしい。余ってる料理を適当に食べてたら食べ過ぎた……

三次会でのんびり休憩の後ひたすらゲーム。で、朝が来ておしまい。寒いし眠いしで解散後早々に退散して京橋で朝ごはんに梅雑炊。素晴らしくおいしいっていうわけでもないけど、まあ、普通においしいし。何かまだお腹一杯気分というか、消化器官が疲れてる感じがあったりはするんだけど。

で、帰って寝て、起きたら 14:00。一応何か食べておかないとということでお昼に水菜とソーセージのスパゲティ。ちょっと水菜が生過ぎたか、今度は。何か難しいな……で、しばらくぐだぐだ、色々で起きておいて、夕方に買い物へ。

何か今日はやっぱり寒いよねと思いつつミルクティーとくるみのガレットで一服。後、睡眠。眠いよ、やっぱり。で、次に起きたのが 22:00 ぐらい。21:00 に目覚しかけておいたけど、実際の行動開始が遅れる、遅れる。

晩ごはんは玉ねぎとパンチェッタのトマトスープでニョッキ。フジッリ金曜日に食べたしねっていうぐらいの発想。まあ、いつものもちもち。

しばらくまたぐだぐだしてからお風呂に入って、さて、どうしようって、眠いんだから寝たらいいんだ、多分。

第 20 回大阪村

このぐらいの雨なら傘はいらないけど降ってると鬱陶しいのですよ……はともかく。半生菓子持って出発。開始丁度ぐらいに到着。だからもっと早く出ろと、という感じ。

そういうことで大人数で開幕。とりあえず人狼を一戦。村人になって、自分との決戦投票になった相手がどうにも普通に村人に見えたり、それで吊られた後に別段黒くも見えなかった相手が人狼だったことを知ったりしつつ見物してたら負けてましたという。「お腹空いてます」と自己紹介してそのまま人狼で最終日へという素晴らしさ。

ちょっと休んで他の部屋に回って……で、後はずっと他のことをしてたり。ブラックライトの見物とか、グラフィティのお絵描きを見物とか。それからマンマミーア。前よりはましだったか。でもやっぱりレシピ挟む感覚が掴み切れてなかったり、最後にトッピングが手元に無かったりでトップに届かないのだな、という。それから貴族の務めの説明だけ聞いたり、ちょっと待ち時間の間にはげたかの餌食でマイナスじゃなかった、という低レベルな結果に終わってみたりした後、パンデミックでもう二回りすればというところでエピデミックから即死してみる。スタートプレーヤーの最初のドローでエピデミック出て、二枚目も大して間を置かずに出るっていうのはひどいよねとか、ヨーロッパが平和過ぎてどう見ても白人至上主義者によるバイオテロですとか、何ともねたねたしい。

あやつり人形で何とか低コストな建物を並べるだけ並べて逃げ切って、シャドウハンターズを見物してたら最後に二対一、かつ相手の片方はほぼノーダメージの状況をワイトが引っくり返してびっくりなんていうのがあって、似非芸術家ニューヨークに行くをちらっと見物……ぐらいで一次会終了。

片付けして MVP 表彰だの連絡事項の伝達だのの後で移動。二次会で宴会で。ラーメンと酒と子供とあの人の頭ネクタイ姿画像ぐらいしか入ってないっていうのはどうなんだろう。いいけど。実はオンラインの人狼ってやってないという人はどういう経路でこの会のことを知ったんだろうねとか、プロポーズするのに指輪をそういうところから出すのはいかがなものかと思うとか。奥で撮影会してるのは何なんだろうとか。

さんざん食べてお腹一杯になり過ぎてから三次会会場へ移動。カラオケボックスの大部屋で、まずは人狼とシャドウハンターズとアグリコラが立ってる脇で休憩。まともに動けるようになったところで余ってた人を誘ってローゼンケーニッヒ。大きく繋げたころで「この 13 個とこっちの 13 個で相殺」で 16 点差とかはなかなか珍しい展開だったような。二戦目は普通だったけど。それからそのまま二人でカルカソンヌ。大都市が二つと修道院が三つとかさくさく完成した上に、この平原を支配したんで 24 点、とかがあったんで勝てた。

シャドウハンターズの見物に入ったら正体を見られたキャサリンが、絶望的なところから強引に大逆転で、死亡によりブライアンと共に勝利という良くわからない展開があったり。何か今日は劇的なところを見るな。で、そのままそこに混ざってハンターでさっくり負けてみたり。エミとエレンとグレゴールじゃ辛いよ。体力無さ過ぎるのが。相手もアンノウン、ウルトラソウル、人狼だからそう条件が物凄く違うっていうわけでもなかったけど。ボブとデーヴィッドがまずいと言いつつみんなで攻撃してたら事故で死んでたアリーと合わせてニュートラル三人死亡によるシャドウ勝利って、実に拍子抜けな感じ。

残り一時間ぐらいどうしようというところで交易王を引っ張り出して、こんな感じと説明しつつ負けてみる。三人ぐらいだと、自分の手番で大きく稼ぐこと考えた方が良かったのかな……まあ他人の手番でもあまり稼げてなかったから、単に市場に乗れてなかっただけとも言う。終わったところで残り時間些少、ということで人狼の見物だとかでだらだらして終了。良く遊びました。

Tags | 人狼

2012-02-25 02:04:23

今朝は晴れ。朝ごはんはパンとサラダとソーセージ。ちょっと風があるのが難だけど、まあ、日が差してるのはいいよねっていう感じ。風さえ遮れればあったかい。遮れれば。

サブマイコンのプログラムがちょっと更新されてるから書き換えて長時間動作の実験をやりつつ、あんまり暇を持て余しててもしょうがないんでコードの修正に手を付けてみる。機能的なところはもう書いたとか、まだ仕様が決まってないとかでやることもないんだけど、そういうのを置いといても暇があったら書き直したいなと思ってたところはあるんで。そういうのの中でも影響範囲が狭そうなところで、定数な設定部分と書き換えられる状態部分が混在してる構造体の static な配列を、const なところとそうでないところに分割してやろうという話。それで RAM 使用量が結構減ることだし。

タイマーでそういうのをやってたところはまあ簡単。本当に、ただ分割した上で参照するところも直しただけ。まとまってると適当に timer_t *t = timer_list とかで t->count = t->init なんてやってられたんだけど、分割するとどうもポインタ二つループ内で更新するっていうのをそのうち忘れそうだと普通に配列の参照に直したりして。アドレス計算の重複については最適化に期待。これはこれで、くだくだしい名前を何度も書くことになるのが気に喰わなくはあるんだけど……それでマクロ導入して、とかやってると無駄に大掛り過ぎるかな、と。

外部機器との通信周りの方はもうちょっと大事に。そうやって分割してやるとばらばらに設定値だの何だのをあちこちで定義することになるんで、それは嫌だからと他でやってるみたいな適当なマクロで設定をまとめたファイルを #include する形に直したんで。これだけやってなかったんだよね。理由は忘れたけど。多分、今まで構造体の設定っていう形でまとまってて配列長も短かったからかな。メッセージのバイト列を {0x01, 0x02, ...} なんて形で持ってたからマクロの引数の数が合わないよとか言われて迷ったのは、C99 な __VA_ARGS__ を使うことで良しとした。どうせ移植性とかあんまり気にするところでもないし、一応、ANSI-C だことだし。本当に問題になるようなら 16 進リテラルの文字列にでもするさ。こっちの場合は 1 秒に 1 回、複数あるリクエストメッセージを順に選択しつつ送信して返事待ちなんていうことをしてるもんだから変数参照部分がよりくだくだしく鬱陶しい。でも、まあ、しょうがないかな……構造体をもう一つ挟むっていう手もあるんだけど、そこまでするもんでもないかなと思うし。

ちょっと現状について話をして、やっぱり状態遷移条件を一部戻してって言われてやっぱりなと思いつつ戻したり。で、外の小屋にある基板に最新のプログラムを書きに行こうかという直前で問題に気付いた。外部機器との通信が上手く行かない場合があるね。前からあるたまに失敗する、じゃなくて、失敗し続ける。ちょっと調べたらどうも、一回通信タイムアウトになると二度と復帰しないようになっちゃってるっぽい。原因は、今日の書き換え、だね。書き換え前のプログラムだと問題無いから。そうしてる間に時間も無くなってきたんで、とりあえず前のプログラムの状態遷移条件だけ変えたプログラムを書いてきて。

それで、今日はおしまいということで帰る。気になる状態で終わってしまった……晩ごはんどうしようかと悩みつつ、結局トマトスープのフジッリということに。豆とパンチェッタが主。それに玉ねぎと水菜と。晩ごはん前にかじったブリーがちょっと余計だったかもしれない。お腹一杯。

再送を頼んでおいたクレジットカード会社からの郵便とやらは、ちょっと前に出した収入証明の書類が古いからもっと新しいのおくれというものでした、ということでちょっとばたついてみたり。明日出掛けるから用意はしておかないとということで。あれが駄目なんだと給与明細二月分とかいう方か、って探してみたら、去年末のに源泉徴収票が付いててこれでいいやんなということに。っていうか、先月出した時点であったんだから気付いてたら出せたんだよな……前まで給与明細とは別だったから気付かなかったわ。

後は WWW 見たりゲームしたり明日の準備したり。準備と言ってもちょっと脇に除けてたものをまた持って行くようにしたっていうだけだけど。で、この装備でどんどん潜るわけにも行かないわなということでイークの洞窟 5、6 階を往復しただけで今日はおしまい。他の町村にも出て行かないと、稼いだお金の使いみちが乏しい。

2012-02-24 01:26:35

今朝は雨。朝ごはんはパンとサラダとソーセージ。京橋では傘をささずに済んだけど、向こうで結局さすはめになったり。まあ、そんなものね。もうちょっと頑張ってくれたら良かったのに。

あんまりやることが無い気がする、という感じで修理された基板のチェックだの、たまに変なことがあるっていうのがソフトウェア原因で起こり得るかというのの確認だの、単純に時間がかかるだけの実験を裏でずっと走らせておくだの。これがもうちょっと早く済む手段があると、ちょっとやり易くなるはずなんだけどな……

とまれ、恐いから動かさないで済むところだけ見て直してもらったけどやっぱり MOSFET ドライバ辺りも壊れてたとか、真面目に追い直してみたけどメインマイコンのプログラムがその状況からブレーカー落しに行くことはないし、前みたいに経路変更のタイミング問題で緊急停止用の電圧検出回路に変な電圧がかかるっていうこともないのを確認したとか、サブマイコンのプログラムがちょっと更新されてたから書き換えてみたけど悪影響は無い様子、でぼけっと動作を眺めるだのしてるだけで終わってみたり。

雨は上がったね、という中帰って、晩ごはんは水菜があるからという理由で肉豆腐。全然繋がりが見えないという意見は甘んじて受けよう、的な。今週、やたらと豆腐食べてるな……しゃきしゃきした歯応えを残した方が水菜はおいしいねというのを確認しつつ。

で、後は WWW 見たりゲームしたり。魔道具術士に戻ってワーグを殲滅してみるところまで。荷物が少なくて済むのはほんとに楽なんだけど、HP の低さがもうちょっとどうにかならないものかね。将来的には薬で耐久力上がって HP も応じて上がるわけだけど、序盤の低さが将来を妨げること多数、で。

2012-02-23 00:37:34

今朝は晴れ。朝ごはんはパンとサラダとソーセージ。昨日よりも更に暖く。良い傾向。でも、続かないよな……

結局昨日はあんまり出来なかったということで修理された基板の動作確認を延々。確認してる間に新しいのが出来上がってきたり、故障品が増えたりなんだから。まあ、今は余裕があるからいいけど。……来月出荷するものがこうちょくちょく故障してていいものかどうかはともかく。

普通に直ってるのもあれば、何か良くわからない電圧が漏れてるのもあり、デバッガに接続したら変な ID が返ってくると拒否されるのもあり。普通に直ってるふりして動かしてみたらソフトスタートに延々時間がかかって、何だこれって悩み始めようとしたところで壊れるなんていうのにはしょんぼりさせられる。同じ症状を二度目に見た時には、余計に壊れる前におかしそうなところを確認する余裕が出来たけど。こっちは電流が漏れてるっぽい出力。

思い付きで CYGWIN の更新をかけたら、使用中の DLL は差し替えられないんですっていう警告が出るとリブートしてもまともに動かないというのは昔と変わってないというのがわかったりして慌てたり、とりあえずリブートの後で全部止めてから reinstall したら直ってほっとしたりなんていう余計な仕事を挟みつつ、ずっとそんなで今日もおしまい。定時退社日だことだし。

それで帰ってぼけっとしたりしてから晩ごはんにおでん。水菜に火を通し過ぎたか。難しいな……って、上手くいった時の時間を記録しておけばいいのに、という話ではある。まあちぎり天はおいしく煮えてるけどさ。大根も。

後は WWW 見てゲームして。確かにズルで突然変異の治療出来るわと死にかけつつ往復した後、また無駄な意地に張り方をして死んだり。ここで即飛べば生きられるけど、もう 1 ターンは無理っぽいと冷静に判断しつつそのままっていう行動は何なのか。

2012-02-22 00:59:53

今朝は晴れ。朝ごはんはパンとサラダとソーセージ。はっきりあったかめな感じ。このまま春に、って言うにはさすがにまだ早いか。

出来上がってきた基板の動作確認からかねと思いつつ仕事場に着くと、机の上に故障したと覚しき基板……ということでそっちの確認から、かと思いきややっぱり新しいのの確認からやってと言われたりという。ついでにちょっと状態遷移条件変えようっていうか、外部機器を使用する温度条件を向こうが自分で言ってくる禁止温度よりも下に抑えようという話。動いてないところだと 60℃ で使えないと主張するのに動いてる最中に温度上がる分には 80℃ まで気にしないというのが気に喰わないとのことで。……まあ、あんまり気に喰わないわな。

他のことで使えない場合っていう条件を出してるところがあるからそこに適当にねじ込んでみた上で、最終的にそのプログラムを焼くつもりの動作確認を開始。最初、手動にするオプション付けてビルドして、後で自動遷移のオプションでビルドしたのに書き直すっていう。さすがに新品が壊れてることってほとんどないよなとさくさく確認を進めてたら、最後の一枚でさっくり引っ掛かったりする。何かデバッグ用シリアル入出力が効かないよ?

最初の確認に使う手動操作がこのデバッグ用シリアル入出力を使うからこのままだと何も確認出来ない。最初はマイコンからの出力部分だけ疑ってて、実際シリアル出力がずっと HI だもんだからこの辺のプルアップ抵抗でも壊れたかと確認してみたけど正常。で、とりあえずマイコンが動いてるんだかどうだかぐらいは確認したいなと手動プログラムのまま、本当ならスイッチ切り替えに使う GPIO に何か吐かせてみようとしたところで既に変なものが吐かれてるのに気付く。何だその 2V。HI で 3.3V だっていうのに。

他のポートには変なの出てないなというのを確認の上でデバッグ出力してみると、どうも普通のタイマ割り込みハンドラは動いてない。なんで main() の先頭で HI を出力してみたら見事にパルスが……リセットかかってるじゃないか。そりゃ、動かないわ。リセットの原因はとフラグを出力してみると、パワーオンにブラウンアウトに外部リセット、と……デバッガ用の端子へリークがあるのかね。とりあえずこんな感じというのを報告しここはそれまで。どうにも出来ないし。

新しいのを調べ終わったところで、故障基板の故障箇所検討というか、調査というか。同じようなところが壊れるけど微妙に壊れ方が違うのだよね。何となく図面のミスで電源が繋ってないからリード線はんだ付けして渡してあるところが怪しい気はするわけだけど。この線に問題出ると MOSFET ドライバが変な状態で止まるから、すぐに過電流でいくつか素子が死んじゃう可能性があるんで。とりあえず、こっちのプログラムのせいではなさそうだね、この壊れ方。

すぐブレーカーを落してくれて起ち上がらなくなったと持ち帰られてきた基板がどこも壊れてないように見える上に手元では何の問題も無く動いてしまいましたとか、今日、動作確認した基板をセットに組み込んで動かしてみていたら一枚、さっき見たのと全く同じ箇所が壊れました、何で壊れたのかはさっぱりわからないけどとか、やっぱり納品書は今日、提出のつもりで良かったのねと定時後に来た営業の人に渡してほっとするとか。それぐらいで今日はおしまいで帰る。

ちょっと遅くなると急にやる気が無くなる、とか言い訳しつつ晩ごはんに冷奴ととり汁のそば。ぜんまいたっぷりだと具がたっぷり過ぎな感じに。それで後は WWW 見たりゲームしたり、何となく思い立って一昨日からいじってた NetBSD のアップデートを終わらせたり。6 って CURRENT だったっけ? BETA とか付いてる……間違ったか。……まあいいや。 適当に進めてボルドール倒して 12 階のランダムクエスト片付けたぐらいでとりあえず。

2012-02-21 00:29:38

今朝は晴れ。朝ごはんはパンとサラダとソーセージ。ちょっと気温が高めなような、そうでもないような。とりあえず何となく楽なのはいい。

あんまりやることが無くなってきたような気がしつつ実験したり、サブマイコンプログラムのコード眺めたり、故障した基板の検査したり、資料直したり。EXCEL は文書書くのにも図を書くのにも向いてないよね、とか思いつつ。そりゃ、本来はそんなことに使うためのものじゃないんだからしょうがないって言えばそうなんだけど。でもたまに表を書くのにもあんまり向いてなかったりするのはあれ。

納品書を作っておいてというメールが朝来てたけど本人が来ないのは明日でいいっていうことだよね、きっととかありつつおしまい。明日は修理した基板と新品の基板の動作確認からですか。で、帰って晩ごはんに冷奴と豚汁うどん。今日、明日は京阪休みっていう風に見てたけど、食品館は開いているっていうことらしく。掲示を見た時にはそう見えなかったのは、何か見間違えたか見落したか? まあ、おかげでおいしく晩ごはんを食べられますわ、と。

で、後は WWW 見たりゲームしたりで。レベル 20 にもならない内にハーフオーガにされたりしつつ、イークの洞窟を 12 階まで降りてみたらさくっとオルファックス倒せちゃいましたっていうぐらいまで。知力がた落ちで MP 半減っていうのがだいぶ痛いけど、まあ、HP が跳ね上がってそれなりに何とかなるものね。アルコールの分泌が、不定期な混乱と幻覚を意味しているというのがどうにかならないかっていうところ……当面、ならないわな。ズル辺りで突然変異の治療って出来たっけか……?

2012-02-20 01:15:47

今朝は晴れ。朝ごはんはキャベツ、パプリカ、ケーパー、海老のトマトソーススパゲティ。ぷりぷりと海老がおいしい。いい天気で気温も昨日よりずっと高めなんだけど、何ともやる気が無い感じで結局寝て過してみる。

夕方買い物に出て、雨に降られそうっていうか雪降ってきたよとすぐさま帰ってきてもう一寝入り。で、21:00 前に起き出して晩ごはんにキャベツとローストビーフのトマトソーススパゲティ。安易に。ついでに何となくおまけに買ってきたレーズンのパンとか。レーズンとローストビーフは今一つ合わないか。……まあ、そりゃ、ただ挟んだだけじゃそんなものかも。

後は WWW 見たりゲームしたり本を読んだり。やっぱり混沌の戦士は安直に強いな……いつ変なことになるかわからないのが恐いけど。何だその「あなたの体はアルコールを分泌する」って。どういう効果があるんだ……

2012-02-19 01:06:23

昨日の晩はお湯かけたり叩いたりしてもちっとも開く気配が無いフェタの瓶にえらく苦戦した、っていうのを書き忘れたのを思い出したりして。どうしようもなくなって試しにお湯を張ってる最中の風呂場にしばらく置いておいたらあっさり開いたっていう。蓋と瓶の間に結露でもしたんだか、中の空気があったまって負圧が減ったんだか、まあ、開いて良かった。

で、今朝は晴れ。布団が気持ち良過ぎて動き出しが遅くなった……朝ごはんはプッタネスカ。妙に寒い気がしつつもいつも通りお出掛け。

地下鉄で恵美須町に出てあれこれ。めちゃめちゃ素というか棒というかな感じでこんばんにゃ~とか言ってる呼び込みだの、あのまんがのグッズ揃ってますと言ってる店員の衣装は別のまんがの戦闘服とか、何かもう一人ぐらい突っ込みたくなるのがいたけどどんなんだったっけかなとか。まあそれはともかく本屋で本を二冊買ってゲームしに。

1,000m ぐらいまでえらく調子良かったけど一度死んだた後はぼろぼろでしたとか、そもそも宇宙行こうとしてたのにミスってアメリカ行きっていうのは気が抜けますとか。さすがにそっちだとクリア出来るわな。五人設定だし。無駄に稼げ過ぎたけど何だか妙に好調で 1 ミスでクリア出来ちゃいましたとか。

やっぱり今日寒いよなというのを噛みしめつつ帰る途中で晩ごはんに担々麺と五目春巻。たまには焼き餃子にしてみようかと思ったら、いつもの水餃子と値段同じだというのが目に入ったんで。ぱりぱりでとろとろでとても良いです。スープの最後まできちんとこくのある担々麺がおいしいのはいつも通りとして。街角の温度計は 1℃ とか言ってて、寒いのは単に本当に冷え込んでただけだったんだなと納得。

で、後は帰って買った本読んだり WWW 見たり、ゲームしてうっかり死んだり。全然無理するような場面でもないのに何で意地張ったんだろ。うーん。

2012-02-18 00:04:36

今朝は晴れ。久しぶり。朝ごはんはパンとサラダとソーセージ。調理時間二十分、内十五分がフェタの瓶の蓋が開かなくて頑張ってた時間とかいう。……晩にはきっと開けてやるんだから。

晴れてると冷え込むけど日が当たるとあったかい。最後まで晴れてれば。……という感じで仕事場へ。で、とりあえず昨日書いた機能の動作確認続きとか。こう、ずっと出力していって容量が下がるとここで止まって切り替わって……すぐ戻ってって、そうだ、切り替わったらフラグ落して普通の動作に戻るっての入れるの忘れてた。入れる場所としてはまあ、ここかなというところに適当に突っ込んで、今度こそ予定通りの動作、と。

新品の基板がもうちょっと出来てきたからまた何枚か動作確認とか、とりあえず動いたのをもうちょっと動かしておきつつ穴探しとか。さっきの大穴以外は特に何も無いかな。それで実装を見ながら状態遷移図をまたちょっと修正とか。何故か大概更新が実装の後になる設計資料。直してから書けばつまらない抜けは減るか知らん。

これだけ動く基板増えてたら明日来てもらわなくてもいいねなんていう不穏な台詞を聞いたりしつつ終わる。全く何も言わずにそんなこと考えていないで下さい……で、やたらと冷え込む中帰って晩ごはんに野菜スープと餃子。スープっていうか、温野菜じゃないのかっていうか。今回は焦がさなかったから変に香ばしいっていうこともなく普通においしい。

それで後は WWW 見たりゲームしたり。とりあえず近場を回って鉄獄 6 階のランダムクエストも片付けて、順調は順調。ちょっと直接攻撃力に不足があるかなっていうところ。

2012-02-17 00:47:31

今朝は晴れ……かと思いきやしっかりくもり。気のせいだったか……朝ごはんはパンとサラダとソーセージ。大柄な人がもこもこした厚着をしている間に入ると座席が狭い。

objdump でディスアセンブルした結果を見るに、単なる最適化の差異だけで意味は変わっていなさそうだと確認してから動かして、動くのを見てコミットというところから作業を開始。関数で計算して代入だと inline 関数でも 0 を作っておいてからレジスタ書き換えるか書き換えないかして write だけど、同じ変数をインクリメントだとリセットする時は直接メモリに 0 を書くのか。

修理された故障基板の動作確認をしたり、新しく仕上がった新品の動作確認をしたりを挟みつつ、一応仕様が決まってる機能を実現する仕組みを書くだけ書いてみる。二系統ある入力の片方を、適当にタイマーか何かで使わないようにしようっていう。タイマー持ってるのがサブマイコンだから具体的なトリガはサブマイコンから来る。でも、何でやるかまでは未定。ということでとりあえず何かのトリガでこのフラグがセットされて、というところから先を考える。

この入力って元から使えなくなる場合があることが想定されてるんで、使用の中止はそっちのロジックに乗せちゃえばいいなという結論。述語を付け足して、異常の場合だけだったところにあんまり使わないでねって言われた場合というのを付け加えて出来上がり。フラグが立ってて他の条件も満たしてたら使わないことにしておきます、っていうのを使用再開の論理に書き足したら、これで大体いいはず、かな。

実験するのにトリガをどう出してやろうかというのでちょっと悩む。本当に単なる実験なんだから、デバッグ用シリアル入出力から何か入力されたらトグルでいいじゃないかって思い付くまで悩みつつ現実逃避したりしつつ。方針決まったらちょこちょこ書くだけ……と言いつつ何か上手く動いてないように見えて悩んだりたけど。実際は、トグルした時の出力が流れて行っちゃって見えなかっただけという。今からだと片側の動作しか見えないかなと思いつつ実験。とりあえず、確認出来た側については大丈夫っぽい……という辺りで今日はおしまい。

晩ごはんどうしようと悩みつつ帰って、結論はカレー。ちょっと野菜をとガルバンゾを買っていって、予定通りのキャベツと予定外のパプリカも放り込んで、出来上がってみるとちょっと水分が多過ぎたかなという。カレーライスというよりカレーおじやというかカレーねこまんまというか。でもまあ、よっぽどひどいことしなければカレーはおいしいんだよ。

後は WWW 見たりゲームしたり、コーヒー飲みつつベルサイユ食べたり。果物欲しいかなと思ってん。カレーにあんなに野菜入れるとは思わなかったから。最初はちょっとスポンジと生クリームの部分が果物に負けてる感じがあったけど、最後には丁度良かったか。散らしてあるナッツが香ばしい。

35 階まで降りたことだしと宝物庫のクエストを受けてみたらユニークモンスターだらけの上にクリスタルドレイクがいて痛かったです、ということで死亡。がっくり。死にがち、とは思ってたところだけどね……

ベルサイユ

2012-02-16 00:45:16

今朝はくもり。朝ごはんはパンとサラダとソーセージ。こう天気が良くならないと気分が上がらないんですけど。寒く感じるし。しけぽいと何か冷えるんだよな……

とりあえず昨日の続きからということで悩んでみる。昨日は初期化済フラグを見ないようにするっていうので、それ見たら抜けてるはずの状態にいないことっていうのを条件にしてみてた。でもこれだと問題がありそうな気がするわけで。例えば外部機器で通信エラーが起こってるままだと外部機器のエラー検出が始まる状態に行かないもんだからずっと待ち状態のままになるとか。

外部機器が起動しただけじゃなくて、正常な状態なら初期のエラーも消えて出力が得られるようになってるっていうのを保証するために初期化済フラグを見た上で、外部機器相手の通信が適当な回数連続で成功してるっていうのを待ち状態を抜ける条件に入れてある。外部機器のエラー検出条件でも同じ基準。で、あれこれ考えてみるに、結局のところ正常な状態なら初期化済フラグ見なくても、連続して成功した通信の回数の基準の方で十分に待ててるはずではあるんだよねという気がしてくる。っていうか、今のしきい値で言うとこれ以上待ったら待ち過ぎだろうっていう。それだけ待って駄目だったら故障系で動き出して構わないんじゃない? という感じ。

そういうことで、結局一行削除して様子を見てみた。まあ、大体良さそうな気がする。変なタイミングで動くと変にエラー解除が沢山発生したりはするようだけど。何だこれ? エラー検出と解除とでカウンタ動かしたりしてるから、検出回数以上解除が発生すると良くないことになるな。解除の方はほぼエラー表示用に LED を点滅させるフラグをオフするかどうかぐらいしかしてないから、0 以下にしないようにするだけで構わないって言えば構わないけど。

変な多重解除が見えたのは一回きりだったけど、何かの拍子で似たような状況が起こらないとも限らない。外部機器との通信でのビット化けとか。ということで、特にガードしてなかった単純なカウンタ増減にガードを付けることにする。単にガード付けるだけじゃ似たようなコード撒き散らすばかりだからマクロにして。inline 関数だと代入形式を避けられないからねぇ……型違いもあるから上限付きのカウントアップと下限付きのカウントダウンのマクロをベースにして、各型の上下限を付けたマクロを定義して、と。マクロを定義するマクロは書けないか、やっぱり。関数なら定義出来るんだけどな。

単純なカウントアップダウンについてはさくっと差し替えておしまい。サイクリックなカウンタの方もついでに同じ形に直してみたら、元が inline 関数だから同じオブジェクトになりそうなのに微妙に違ってるんでちょっと保留。多分、特に問題は無いはずなんだけど。代入だったのがインクリメントになったせいで最適化のかかり方がちょっと違う風、っていうところまで見て今日はそこまで。

帰ってのんびり。それから晩ごはんに……何だ、あれ? ホルモンミックスを軽く野菜と炒めてから、干し椎茸と昆布を浸しておいた酒と水を加えて煮込んでみたっていう感じ。炒める時に豆板醤と甜麺醤を入れておいたんで味が薄くなり過ぎたりもせず、なかなか悪くない感じの仕上がり。鍋とはちょっと違うよな……

それから WWW 見たりゲームしたり、と。再挑戦でシュロブは倒せた。やっぱり向こうが起きる前にどれだけ近付けるかが大きくものを言うわ。ナイトメア結構強いな。

2012-02-15 01:22:06

今朝は雨。朝から鬱陶しいったら。朝ごはんはパンとサラダとソーセージ。危うくソーセージを食べ損ねるところだった。冷え込んでなくてもしけぽいと寒く感じるのが余計に嫌な感じでぐぅ。

修理基板の動作確認から始めようとしたけど、交換された部品が一部だけで A/D 入力周りが変だから他にも IC 取り替えなきゃいけないようです、× 2 な感じだったんで次へ。サブマイコンのプログラムが更新されて、とりあえず非同期なメインマイコンからのレポートを外に中継するだけしてくれるようになったっていうののテスト。最初は普通の通信すら上手く出来なくなってるよっていう状態だったけど、すぐに直って真っ当に実験出来るようになった。

で、実験するんだけど、レポート飛んでこないのね。この基板、単体だとデバッグに使える GPIO ポートが無いに等しくてやり難いんだけどと思いつつ何とか状況を調べてみると、どうやら外部機器との通信だの何だのはちゃんと出来てるし、レポート自体も飛ばせば飛ぶっていうのがわかった。それでデバッグ出力代わりにエラーレポート使ってデバッグ継続。実験で発生させてるエラーが検出されてないっぽいっていうのは何でだろう、と。

外部機器を落して通信エラーを発生させるとこれは検出する。それどころか実験でやってる操作で出るエラーをプログラム内で発生させてもちゃんと検出してる。……っていう辺りで、手軽に起こせるエラーは実は結構特別なものだっていう可能性に思い至る。

この発生させてるエラーっていうのが外部機器の内部通信スタンバイとかで、普通に起動した時でも完全に起ち上がるまでは発生するエラーだったりする。んで、外部機器が初期化完了のフラグを立てるまでは検出しないようにしてる。それに遅延を少々。それでエラーを発生させた場合にどういうことになるかっていうと……このフラグ、寝るね。……そりゃ、検出もしなくなろうというものか。

初期化完了フラグを見ないようにして簡単にレポートが出るようになるのを確認。うん、来る、来る。外部機器を落して再起動した時との関係も考えて検出条件を整理しないとな、というところで今日はおしまい。本社で社員集会という話なのですよ。

そういうことで雨の中移動。手が冷たくなってしょうがない。気温はそんなに低くないんだけどな、多分……このビルは冬、お湯が出るのがいいよねとかしつつ社長のお話を聞く集まりへ。何だかんだで頑張ってるけどまだまだ全然楽にならないねという。まあ、ならないよね……

終わって帰ってちょっと休憩。それから晩ごはんに鴨と野菜のクリーム煮、でいいんだろうか。適当に弱火で炒めておいてから、生クリームと牛乳を入れてあっためるという感じの何か。割とシチューっぽい。結構おいしい。ご飯のおかずとしてはちょっと疑問があるっていうか、後でおじやっぽく混ぜた上でどうにかした方がおいしいかもしれないという疑惑がある。ドリアっぽくとか、リゾットっぽくとか。

後は WWW 見て何か妙に眠くなったからちょっと寝て、起きてお風呂入ってゲームしてと。とりあえず 32 階までって、森の 32 階はシュロブの巣というのをまたやらかしてみたり。ちょっと取り巻きが多過ぎる上に起きられるのが早過ぎてどうにもならなくなって撤退。ランダムクエストじゃないから再挑戦出来て良かった。

2012-02-14 00:35:42

今朝はくもり。朝ごはんはパンとサラダとソーセージ。うっかり休みと同じ気分で眠たくなるのが危険……微妙に遅れた快速で、微妙に早く仕事場へ。

あんまりやること無いようなと思いつつ、とりあえず実験を仕掛けるだけ仕掛けておくとか、一応資料ぐらいは作っておいてと言われたんでうち向きの課題管理表をでっち上げるとか、サブマイコン側のプログラムに手が入ってたんで眺めてみるとか。とりあえず非同期で投げてるエラーを中継して外に出してくれるようになったっぽいな。暫定だけど。これで十分なものなんだ……

思い出したように状態遷移図をコードに合わせて修正、というか書き直すとか、恒温槽使ってる実験機の状態を調べてと言われて見に行くとか、ちょっとこの PC でもデータ採取と CSV 変換のスクリプト使えるようにしてと言われてセットアップとか。今回はまた mintty が入ってる。何で前の時は入らなかったんだろ。

もうちょっとしたら帰ろうかなというぐらいに長期動作実験中のログについて質問が。で、見てみるに、納得が行きそうで行かない動作。何だこれ。ノイズか何かでたまたま止まったけど、やっぱり使えるつもりだった系統が使えなかったからあきらめたっていう動きだと思うと納得は行くんだけど、それぐらいしかこうなるシナリオを思い付かない。……まあ、今、思い付かないだけかもしれないけど。で、今のコードだとこういう状態になると結局外部機器からの出力を使うようになるから問題は見えなくなるはず。それでいいって言えばいいんだけど、ちょっと気持ち悪いな。

そんなところで今日はおしまい。もっと早く持って来てくれてれば普通に帰れるものをと思わなくもない。まあそれはともかく、気温はそうでもないのに妙に寒い中帰って晩ごはんは焙った厚揚げと豚汁うどん。さすがに冷奴はないわ、と。

後は WWW 見たりゲームしたり、設定直してからしばらく真面目に動いてたここの時計がまた妙なことになってるんでいじって様子見たり。うーん、ntpd 動かすと狂う方向に動いた挙句死んでくれてるな。何だこれ。VM の外側の環境が何か変わった?

30 レベルになったから森と鉄獄で 30 階まで降りてみたとかしつつ終わり。いい加減、混乱耐性無いと辛いな。反射の盾持ってるのに騎乗してると装備出来ないのも大概辛いんだけど。

2012-02-13 01:29:00

今朝はくもり。朝ごはんは玉ねぎ、ズッキーニ、オリーブ、ケーパー、ソーセージのトマトソーススパゲティ。こういう天気だと別段押して何かするという気にもならないな、とぼんやりしてみる。しまいに寝るとか。

夕方買い物に出て、帰って晩ごはんにキャベツ、ズッキーニ、パンチェッタのトマトソーススパゲティ。それにパン少々。もうちょっとまともに食べてもいいんじゃないかという意見も聞かれないわけでもないという話が。一応、野菜と蛋白質と炭水化物がバランスはともかくそれなりの量含まれてるよ、とは言えるんだけど。

後はそのまま続きで WWW 見たりゲームしたりと。無理したら無理だった勝負の後でまた無理したら通って道理が引っ込んだとか、25 階レベルクエストを全部片付けて森に通い出したとか。四首ヒドラとワイバーンだったらどっちが上かな……

2012-02-12 01:45:29

今朝は……どうだったんだっけ? あんまり良く覚えてないな……朝ごはんはプッタネスカ。やっぱり微妙に頭痛がある気はするけど、と思いつつもとりあえずいつも通り出掛けてみたり。

地下鉄で恵美須町に出て、コンビニに寄ったりぼけっと店頭の品を眺めたり。今、仕事場で使ってる PC よかこっちの方が性能が上なぐらいだなと五万円もしない中古の品を眺めやる余裕。……って何か表現が意味不明。

本屋でまんがを二冊買ってからゲームしに。何か薄ぼんやりとしてた割には 1,400m 越えてみたりクリア出来たりしてたからそんなに悪くもなかったのかな。どっちも 2 credit 目でぼけぼけ過ぎてあんまりな感じであったりはしたわけだけど。危うく 1,000m 行かないところだったとか、3 面半ばで終わるとか。後は、久しぶりのゲームが久しぶり過ぎて間抜けな感じだったぐらい。分身をけちってやられてたら世話ない。

それからコンビニと古本屋に寄って、帰る途中で晩ごはんに野菜ラーメンと水餃子。叉焼麺の野菜増しなんだったけと疑うような立派な焼豚に、青梗菜ともやしが多めな感じという。細麺にさっぱり醤油スープ。おいしいんだけど、何かここのラーメン食べるとお腹がたぷたぷするのだよね。スープ多めなのかな。まあ、それなのに水餃子頼んだのが悪いという話はあるけど。お腹一杯でしょうがない。

で、帰って WWW 見たり買ってきたまんが読んだり。帰ってくるのが遅いと四コマまんが読んでるだけでも結構遅くなるもので……

2012-02-11 02:16:05

今朝は晴れ。13:00 から工事のため断水っていうのがわかってて今からご飯作るのもね、というのがあって早々に出掛ける。起きたのが 12:00 過ぎだからちっとも早くないっていうのは相対的なことなのですよ。

どこに行こうかちょっと迷って、そういえば京阪のガード下に良さそうな店が出来てたっけなということでそっちへ。イタリアンには変わりないわけど、と別の店の前を通り過ぎて、それで最近あんまり食べないものとピッツァのセットにしてみたり。サラダとディアブロ。サラミとグリルチキンとモッツァレラ。しっかりした味付けがおいしい。ただもう一品ぐらい何かないとちょっと飽きが来る気がしないでもない。重めだしねぇ。カウンター席だともっちりした感じの記事をぺいっと打ち粉の中に放り込んで、拾い出してむにむに伸ばして、具を散らして薪が燃えてる窯に並べて……っていうのを眺めていられて結構面白い。すぐ焼けるものなんだな……

それでそのまま土佐堀通りに抜けて西へ進行。バッグ買わないとっていう。修理してもらったけどすぐまたピンが抜けて、本体の擦り切れ具合からしても潮時かなというのがあって。その上、一応手元にあった別のバッグが実に趣味に合わないというか、使い方に合わないものだというのが判明したもんだから。今日はちょっと寒いのかなとか、あそこの店の前にあんなに人が並んでるのは何でだろうとか、ここって駐車場じゃなかった記憶はあるけど何があったんだっけとか。

久宝寺通りに入るとそれっぽい店は沢山あるんだけど、大概の店が素人お断りな卸売業だったりするのが残念……とか思いつつ進む頃にはちょっと頭痛がひどくなってて、Hands 着いた頃にはそこで寝たくなる塩梅。先週末に熱が出る前にも出てたやつ。熱が出ると他の色々ってあんまり気にならなくなるからかえって楽だったりするよね……それはともかく、画材鞄ってどんな感じだっけと見に行ったり、何故だか文房具売り場にもバッグがあったのを眺めてみたりもしつつ、結局普通に普通のバッグを買ってみた。何か頭痛で選び方がだいぶ適当になった気がしなくもないけど、多分、正気に戻ってみても特別問題は無い選択のはず。

ちょっと休憩したら楽になったけど、だからといってあんまり無茶してもしょうがない気はする。でも今すぐ帰ってもまだ水道工事中なんだよね、ということで古本屋でしばし。そろそろいいかなっていうぐらいになってから地下鉄で帰る。だいぶ良くなったけど、それは気のせいで単にまた熱が出て来ただけのような気もすることだし。

それで買い物して帰って、晩ごはんはキャベツ、ズッキーニ、豆、サラミでニョッキ。キャベツおいしいし、事ある毎に使っていかないと残念なことになりがちだし。その後は WWW 見たりゲームしたりで、負けたかと思ったところが一発勝ちで終わるとか、とりあえず 28 階まで降りてみたらユニークモンスター連発でちょっと辛かったとか。生き残ったからまあいいけど。ワイバーン殺されちゃったよとか闘技場で万色ドラゴンに乗れないのを繰り返してたらそのまま負けてたとかしつつ。四首ヒドラって水上を渡れるんだったっけかな……

2012-02-10 02:24:52

今朝は晴れ。朝ごはんはパンとサラダとソーセージ。しばらくぶりに朝からはっきり晴れたら、朝からはっきり冷え込んでて手が冷たくなる。まあ、ここを乗り切れば三連休。気分良く迎えられればいいねぇ……

とりあえずは修理された基板の動作確認からかな、と思ってるところに外部機器が入出力不能な場合に起動したらどういう状態になるかという質問が来て、多分こんな感じと答えたら確認よろしくと言われたんでそれからに。で、確認してたらその状態だと出力側の状態遷移で最初にやってるつもりのスイッチ操作が行われないということに気付く。……これか、オンになってるはずの外部機器出力上流側スイッチがオフになってるって。

少なくともこの経路通るとそうなって、二度とオンになる機会が無い。そういうことで、外部機器出力を使う状態では上下流のスイッチを両方共に無条件でオンにするようにしてみた。I/O 出力ラッチレジスタが HI の時に HI にしても GPIO 出力が途切れたりしないっていうのは確認済だことだし、ここでオンにする必然性についても納得が行ったし。納得行かなくてもとりあえずやっておけば問題出なかったかもという話はあるけど、それはそれ。

で、昨日正常動作を確認したのにセットに組み込んでみたらブレーカーが落ちるという基板の動作再確認。やっぱり、こっちの環境だと何の問題も無く動く。ひょっとしたら最終出力先の機材が何かしてるかと苦労して引っ張り出して繋いでみても平気。うーん、さっぱり。

セットに戻してみるとやっぱりブレーカーが落ちると言う。動きを見せてもらったら、ちょっと妙な起動の仕方をしてたのね。そんなことしたこと無かったから気付かなかっただけかも。電源オフのままでブレーカーをオンにしておいて、別系統の電源をオンにするとブレカーが落ちるって。ブレーカーが落ちる条件になるのが別系統の電源のみが投入された最初の一瞬だけだから、いつも両方の電源をオンにしてからブレーカーをオンにしてると見えないのか。実際、このセットでもその手順だと普通に起動する、ように見える。

そのまま普通に動作もする……とかやってたらぱんっと破滅の音がしたり。引っ張り出して調べたら、最近二台見た故障が再現という。二台の内の一つはこの同じ基板だけど。これ、セットか基板の問題だよな、多分。恒温槽で実験やってるセットとか手元で実験に使ってる裸基板とか外の実験小屋で長時間動作させてる基板とかで問題無いぐらいなんだし。

まあそれはともかくということで、その手元の裸基板でブレーカーオフ信号が出るものかどうか確認。こいつだと別系統の電源だけで起動しても何も出ないね。たまに明らかに出ててもエッジトリガに引っ掛からないことも無くはない気もするけど……という確認をしたら、他の基板を組み込んでみて同じ操作をしてもそっちではブレーカー落ちなかったっていうのを向こうでもやってた。基板の問題という結論、かな。

そんな感じで今日はおしまい。まあ、平穏な気持ちでお休みに入れますわね。今日も冷えるわと思いつつ帰って、晩ごはんはとり汁のそばと若竹天を焙ったの。シチューっぽいクリーム煮にしようとしたら生クリームが丁度売り切れてたんで。たけのこ天わかめ入りは若竹天でいいと思うんだ。ぷりぷり、しゃきしゃき。

後は WWW 見てちょっとゲームして、微妙に熱っぽいし何だか眠いからと軽く横になったらさっくり一時間半程消えてて。それからお風呂に入ってちょっと潜って 26 階まで一応降りておいてみた、ぐらい。闘技場の天上界ドレイクを馴致出来るもんだか試してみても良かったかもな……

2012-02-09 00:45:38

今朝はくもり。晴れ間は見えてるんだけどな……朝ごはんはパンとサラダとソーセージ。言う程寒くはないけどちょっと冷え込み気味? 熱があったりなかったりだから比較もいい加減で良くわからないっていうところ。まあ、今日は調子がいいけど空気は冷たく感じる、か。

昨日の修正は思ってた現象と別の問題を解決してるねっていうのを寝る前に気付いたもんだから、問題にしてた現象を解消するべく再修正……の前にちょっと打合せ。その辺、問題って何なのという話が湧いたようで。低温槽に突っ込んだら変な状態に落ちてた、それについて考えてる途中で多分無関係だけどそれはそれで問題っていうのが二つ見つかったから直そうとした、一つは思った通り直したけどもう一つは直し方間違えてたのに気付いたから今から直す、っていうだけなわけだけど。だけなわけだけど、来月納品とか言ってるものの現状としてはあまり好ましくないというのは確かなわけで。

その後でまずは再修正。寝る前に気付いたから寝付く前に布団の中でそのまま考えてたんで、もうちょっと考えを足して解決策を取ってみた。何か回復可能なエラーで外部装置への入力を切った場合、回復した時入力が再開される条件になければ出力をさせるようにしておくという方向。まあ、単純。入力も出力も無しに別系統を使われると二度と他の状態にならないっていうのが問題なんで、強制的にどっちかの状態に落ちるようにしておくというだけ。エラーの最中はそのまま止まってていいんだけど。とりあえずこの問題はこれで解決するはず。

で、何か変な状態になってるっていうのの方だけど。うーん。このログだと最初から外部機器からの出力経路が完全に切れてるんだよね。本当なら上流側はオンなはずなんだけど。で、ここで下流側だけオンになってる変な状態に落ちてるわけだけど……これってひょっとして、本当なら上流側がオンのつもりで下流側オンにしてて、単なる正しい状態遷移の結果なんじゃないかという気がしてきたり。当然、上流側がオフになってる時点で何か正しくないなり、わけがわからないなりな経路をたどってきてはいるんだけど。

そういう状態になる場合がどうしてあり得るのかっていうのがさっぱりわからない。でも、そうなり得るかもしれないっていうか上流側をオフする状態ってここしかない、はずっていう状態から普通の状態遷移に戻るところで今一つな動作をするっていうのも事実だったりはする。この状態って要するに外部装置の出力も別系統の出力も外に出さないっていう状態だから、こっち側の状態遷移としては初期状態と同じなんだよね。で、初期状態で、最終出力先の都合に合わせてごちゃごちゃやってる辺りが今のままだと入ってない。都合に合わないものを喰わされた最終出力先はエラー起こしてみたりする……と。そういうことで、この最終出力がオフ状態からは初期状態に遷移するようにしてみた。どうせ最終出力切れてるんだから待ちが増えても構わないはずだし。

わけがわからないっていうともう一つ、電源を完全に切って再起動しても外部装置の出力を使ってくれないっていう症状があった。こっちについてはエラーが報告されてるわけでもないのにそうなる理由って A/D 値で見てるとしか思えないんで、しきい値を緩めて様子を見ることに。ついでに状態遷移条件に使わなくなった A/D 値によるしきい値とイベントを整理したり。

今、思い付くのはそれぐらいかなっていうところで、実験中のセットに書きに行くまでの間、故障してた基板だの今まで表に出て来てなかった基板だのの動作確認をしてみる。故障してた基板は MOSFET ドライバの方だか電流計測アンプの方だか、とにかく IC をいくつか交換してもらったのが当たりだったみたいで正常動作を確認。新たに動作確認しようとした基板は途中で破滅的な音がしたから多分、壊れたな、と……

直ったと言って渡したものがすぐブレーカー落してくれたりして何か変と言われると残念な気持ちで一杯になれます、と思いつつも今日は定時退社日なんで早めに帰る。朝は気分だったけど、帰りは明らかに昨日より空気が冷たい。3℃ とか言うし。そういうことで、晩ごはんはポトフっぽい牛と野菜のスープでフジッリということにしてみた。ちょっとオーブンに入れてみたりして。そしたら水面から上に出てた具の分で何か焦げ臭くなったりして。キャベツの固いところは煮込むととうもろこしっぽい甘みが出るよねとか何とか。ところで耐熱皿は皿だから鍋じゃないという主張は、それが深めのフライパンと同じかそれ以上の容量のものでも通るものだろうか。

後は WWW 見たりゲームしたりと。有利なつもりでリダブルしたら実は不利だったというのが次の瞬間に自分で理解出来たりすると大変にあれな。で、24 階のランダムクエストとモリバントとテルモラの 25 階レベルクエストを片付けて収穫不足を嘆いてみたり。ダガーのアーティファクトばっかりそんなに出ても困るし、釣竿出されてももっと困る……

2012-02-08 01:45:37

今朝は雨。朝ごはんはパンとサラダとソーセージ。あったかいものが一つ入ってるだけで結構違うもの。昨日より寒くなるという予報だけどそうでもないなと思いつつ。

長時間放置実験の続きを始めつつ、他で使うっていうから箱詰めしたセットの方のプログラムを確認して、手渡すまでちょっと動かしておこうとしたらいつの間にか壊れてるという事態に遭遇。とても嫌な気分。原因がさっぱりつかめないとなると、ねぇ。前に壊れたのと同じ壊れ方っぽく、良く見てる辺りと A/D 入力に繋がる回路周りに異常あり。ふん。マイコンに電源入らなければ A/D 回路周りに異常出力は見られないんだな、なんていうのをちょっと確認してたら、この辺の IC も壊れてるかもしれないからついでに取り替えてもらえば、なんていう話が。そういえば前の基板とか前の前の基板だと、MOSFET ドライバ壊れて 12V とか 3.3V とか漏れてきてるっていうことが結構あったっけ……うん、それかも。

ちょっと故障の原因を考えてみてもやっぱりわからないんで置いといて、別に動かしてたセットの動作が妙だったっていうののログを見てみる。このエラーでこっち側止まるのはいいとして、反対側が動作してないのはおかしい。これってログに取り損ねたエラーがあるか、外部機器からのエラー報告以外で使えないって判断したかだよなと思ってるところで引っ張り出される。今、動かしてるのが同じような状態に陥ってるって。

ということで実験室に移動して様子を見る。何かで外部機器からの出力は使わないことにしてる状況だね……何でだろ。スイッチ切ってリセットかかるようにしても復帰しない、どころか完全に電源を落しても復帰しないって、ほんと、なんでだろ……結局さっぱりわからないということで、一度自席まで持ち帰ることに。

戻る途中に思い付いたこと一点。外部機器のエラーが一つしか見えないから、エラー無しのコードを受信するまでは全エラーを保持したままにしてるけど、報告されるエラーが変わったところで消していいエラーはあるはず。そして自席でちょっと考えて思い付いたもう一点。通信エラーと外部機器の出力異常の時っていう分では対処したけど、正常に出力再開される条件に達する前に反対側が止まった場合、入出力無しで別系統が使われることになるから、放っておくと二度と他の状態にならないっていうずっと前からわかってた問題がある。普通に使う時だと反対側が二系統ある入力の一方を使う場合には強制的に反対側が動く上に出力再開の条件が緩くなるから問題無く動くんだけど、今やってる実験みたいにそっちじゃない側の入力だけ繋いでる状態だとこうなるのは自明。

……ということなんですけどと相談して、エラーの方は最後の一つだけ見ておけば、他は他の情報から問題無い遷移が出来るか、fatal error で全停止状態に落ちてるから問題無いはずということになった。今まで複数のエラーが同時に起こり得るという想定のコードだったわけだけどずっと単純に出来る……けど、他のモジュールとの絡みもあれば後でやっぱり、ということになりそうな気もするんで、外部機器からのエラー報告を数えているところだけを修正してみたり。前に数えてたのと違うエラーが来たら全エラーカウントをリセットして数え直しとしただけ。外ではこのカウントがしきい値越えたらエラー発生としかしてないからこれで十分。

もう一方の問題は、要するに通信エラーの時と同じ対処になるんだなという結論の下、今まで外部機器の出力停止条件に含めてたエラーだの出力 FET オフだのを故障検出時の状態遷移条件に移して出来上がり。抜ける条件にエラーが無くなったことっていうのを付け足して。っていうか、前は本当にエラーが無くなった場合にしてたけど、外部機器が出力可能な状態になるっていう場合に変更して。

で、プログラム書き換えて今の状態なら特別問題が無いことを確認して帰る。プログラム書き換える前でも出力は出来るようになってたけど、あそこで出力禁止っぽい状態になってた条件が何かっていうのはまだ謎のままなんだよね……前のログだと変な状態になってたっていうのもあるし。その辺りは、明日調べようか。

それで帰って晩ごはんに麻婆豆腐。甜麺醤買うの忘れてたからみりんでごまかそうとか、オイスターソースも足りなかったやとかしつつもそれなりにそれなりな仕上がり。ちょっと味は薄いか。それにポテトチップスを少々、というか一袋。うん、良くないかも。

後は WWW 眺めて軽くゲームしてたら何か異常に眠くなってちょっと寝てという感じ。あんまりこの状況は冒険者にはよろしくなかろうということでそっちはお休み。死ぬよね。判断ミスで。

2012-02-07 00:37:57

今朝くもり。朝ごはんはパンとサラダ。ソーセージ買うの忘れてたや。だいぶ楽になったよね、ほら熱計ってみても 37.5℃ とかだし……あれ? とかしつつ出掛ける。後十分保ってくれたら傘をささずに済んだのに。

とりあえず長時間動作を手元でも確認しておきたいんだよねと仕掛けるだけ仕掛けてからあれこれ。オンライン研修をさくさく片付けてみたり、スイッチに連動する部分が散ってるのをまとめたいなと思いつつも、やろうとするとそこそこ書き換え量が増えるんで躊躇してみたり、何もしないのも何だからと定数テーブルを const にしてみたり。あたりまえだけど RAM 使用量が減る。その結果だいぶメモリマップが変わる。でもまあ、普通に動いてる部分は特に問題無く動くよね、と。スタック絡みで何か怪しいのはブートローダのコードだし。

後はファン回す時の突入電流見といてと言われて上手くトリガかからなくて妙な苦労をしたり、故障して、一応良く見る辺りについては確認して壊れてる部品を特定しておいたけど他は見てなかった修理済基板をちょっと動かしてみて、予想通り他の部分も甚しくおかしいのを確認したり。入力が全然無いところでも A/D 入力があるんだもんな……

で、早めに帰る。晩ごはんは冷奴と豚汁うどん。しばらくぶりにねぎ投入。だいぶ味が変わるんだな。こっちのが実家で作ってた頃の味に近いか。まあ、材料が近付けば味も近付くのは当然。

後は WWW 見たりゲームしたり。何とかなるかと思ったら何ともならなかったりして、こんな調子で大丈夫かと思いつつも柳じじいとアゾクを倒してみたりして。

2012-02-05 23:06:04

今朝はくもり。朝ごはんは舞茸と生ハムのトマトソーススパゲティ。このクラテッロ・ディ・ジベッロっていうのはちょっと脂が少なめな感じなのかね。ブロックの切り落しは煮込み気味にするとおいしい。スパイスが効いてる。

バッグを見に行こうかなと思ってたんだけど、何か妙に寒くないかという気分。横になって熱を計ったら何か妙に……ということでそのままぐったりしてみたり。夕方になって買い物に出て、気温が 9℃ でこうまで震えが来るのはだいぶだめだよなと帰ってきてからミルクティーとパンをちょっと食べてまたすぐ寝て。

20:00 ぐらいにだいぶましになったんで起きて、晩ごはんに玉ねぎ、ズッキーニ、生ハムのトマトスープでフジッリという方向。野菜食べな、と。あったまる必要もあるかな、と。それからまんが読んだり WWW 眺めたりでぐだぐだしつつ、今日は早めに寝ましょうかねっていう感じ。ましにはなったけど、パズル系とかかなりへにょへにょだし……

2012-02-05 00:32:30

今朝は晴れ。朝ごはんはプッタネスカ。クラッカーも食べつつもそもそした後、出掛ける。昨日、一昨日よりはだいぶあったかいやね。

地下鉄で恵美須町に出てコンビニ寄ったり何だりの後、本屋でまんがを三冊買ってゲームしに。しばらくぶりに裏にちょっと入ったけど、相変わらず面白そうなところだよね……で、調子がいいんだか悪いんだかでクリアし損ねたり、明らかに悪いっていうか一面冒頭って言っていい辺りで一墜ちってそれはないわだったり。見物してたらラスボスへの止めがスタッフトゥスネークってそれはひどいだろうと噴き出しそうになったりもして。

コンビニと古本屋に寄って、やっぱりこの店だとあんまりいいの無いなとバッグ眺めて、の後帰る途中で晩ごはんに牛醤ラーメンと餃子。牛骨のスープって要はフォンドボーっぽい何かやんな、とか思いつつ。細めの麺に重めのスープ。もうちょっと多かったら飽きてくるところかもしれないけど、丁度いい量だったな。餃子は普通においしいし。

心斎橋で買い物をして帰って、買ってきたまんが読んでちょっと WWW 眺めたりしつつヴュリー。牛のウォッシュ、らしい。ハードだからあんまりウォッシュウォッシュした味でもないけど。ぽそっと砕けるクリーミーっていうか。うん、何言ってるんだか良くわからないね……

2012-02-04 00:27:24

今朝は晴れ。朝ごはんはパンとサラダとソーセージ。昨日よりはあったかいっぽい。と言っても昨日が寒過ぎたからあんまり参考にはならないかも? 15 分落ちの電車でいつも通り仕事場へ。まあ、そんな電車はやたら混んでるわけだけど。

放置に入る前に、こっちの剥き出しな上にひげ付けたりして色々見易い基板で現象を見ておこうかと実験。で、すぐに怪し気なところを発見。出力側のスイッチ切り替える時に、監視回路に外部機器の出力とは違う系統の出力が回り込んできてる。そうは言ってもスイッチの切り替え自体はやってるから、これはコンデンサ含む回路での MOSFET の切り替え時間が云々ってあれかな、と。

普通の状態遷移では、すぐに切り替わらないからということで適当に待ちを入れながら順番に切り替えてる。ここは割と緊急事態での切り替えだからっていうのと単に状態を増やすのが面倒だったからというのでスイッチ切り替えを一つの状態内で済ましてるけど、それを止めた上で切り替えに待ちを入れてみるとブレーカーは切れなくなった。……うん、これだね。

通信エラーでの対処も同じだから待ちを入れなきゃならなくて、というか同じなんだからと纏めて整理。それから復帰する時のことも考えると今あるのとは別の状態にしなきゃいけなかったっていうので追加。通信エラーでの特別状態が消えるから、話は単純になる方向だけど。で、状態遷移条件にも通信エラーの場合を付け足してやって出来上がり。これで大体、週頭に気になってたことは片付いたかな。

外部機器が入力切った瞬間っていうのを手動プログラムでようやく確認出来たとか、プログラム書き換えなんかで頻繁に入切しても大丈夫な負荷を探してきて繋いでおきつつ箱詰めの基板も動作テストとか、実験用にあちこちに置いてある箱に新しいプログラムを書きに行くとか、色々しつつ今日はおしまい。昨日よりはあったかい気がするなと思いつつ温度計を見上げれば 3℃。まあ、昨日よりは、あったかいか。昨日よりは。氷点下じゃないから。

それで晩ごはんは豆と玉ねぎとパンチェッタのトマトスープでフジッリ。あったまる方向で。昨日と今日は逆の方が良かったかもと思わなくもない。でもまあ、今日の方がましとはいえ、冷えるのは冷えるしね。それに適当にクラッカーを食べて、と。

後は WWW 見たりゲームしたり。妙に眠かったんでちょっとのつもりでだいぶ寝たっていうのが一番大きかったかしれない。ワイバーンは結構強いか? 盾が持てないのが痛過ぎるのが問題だけど。

2012-02-03 00:44:59

今朝は晴れ。朝ごはんはパンとサラダとソーセージ。日は出てるんだけどえらく冷え込んだ上に風が強めで寒い、寒い。ストラップ使えないバッグは手でぶら下げるしかないもんだから、割とどうにも手の打ちようがないし。

まあ続きだ、続きと調査を続けてるところに、実験に使ってるのに対して何かやることがあるかと問われたんで、エラー処理でブレーカー落してるわけじゃないっていうのを証明する意味でも、ブレーカー落すコードをコメントアウトしたプログラムに入れ替えておくっていうのはどうだろうと提案。じゃあそうしておこうかという話になって移動。この部屋の中はこんなことになってたのね……暑いわ。で、プログラム書き換えようとして、プログラムすら認識してないというので悩んだりする。ちょっと焦ったけどどうやら USB シリアルを抜いたのにターミナルエミュレータを放置してたのが問題だったっていうことらしい。ああ、びっくりした。

この作業の途中で、実はここの実験でブレーカーが落ちてるのは外部機器が入力受け取るの止めるせいで、急に負荷が無くなる格好になるせいじゃないかという話が沸き起る。そういえば、そうですね。あっちが勝手に切るから、こっちが正常に出力止める場合と違ってこの経路のスイッチは閉じたまま。で、外部機器の方の値が見えなくなるから、負荷変動で跳ね上がったりしてるかもしれないこっちの出力が、ブレーカー落すための回路でまともに見えてしまう、と。

そういうことで自席で実験。ブレーカー遮断回路の出力にひげを付けてもらったりしてから、手動プログラムに差し替えて様子見。本物の代わりに電子負荷繋いで、そっちで切ることでエミュレートする感じ。しばらくやってみていると、概ねブレーカー遮断回路が働く程には上がらないけど、たまに跳ね上がってブレーカーを落そうとするのが確認出来た。あっちのやつは元から出力高めだから、この基板よりももっと引っ掛かり易いはず。まあ、これかな?

そういうことで、ブレーカー遮断回路に小細工を加えた上で、元のプログラムに戻して様子を見ることになる。外部機器入力側の値を見てる方の出力を捨てる方向。あっちの出力側は見えてて特に問題が無いはずで、よっぽど変なことが無ければ跳ね上がったりしないはずだから。ハードウェアでのブレーカー遮断自体は残しておきたいわけで。

手元でも手動プログラムのまま様子見を仕掛けつつ元の作業に戻る。結構、同じハードウェア修正で直りそうな気がしなくもないわけだけど……途中で外からの入力切ってもちゃんと状態遷移しないっていう話が来て、多分それは前のと同じだからしきい値を更に上げればいいと思うということでもうちょっと調整したりなんていうのを挟みつつ。で、何だかやっぱりわけがわからないなという結論で終わってみたり。ブレーカーを落すコードをコメントアウトしたらブレーカーが落ちなくなるかと言うとそうでもない。でもハードウェア改造を実験してる基板に入れてもらってもまだ現象が起こる。……まだ何か途中で作業ミスしてるかな……

手動プログラムで様子見してた基板も肝心な現象が起こるにはまだまだ時間がかかりそうということで今日は帰っておくことにする。明日続きやればいいや、もう……それで -1℃ とか表示されると余計に寒く感じるから止めてほしいなと思ったり、今日は開いてる内に寄れたんでバッグを直してもらったりしてから部屋に戻って晩ごはんにとり汁のそば。つけ汁で食べるんだと今一つあったまり難かったりはするわけだけど。でもこっちの食べ方のが好きだしな……

後は WWW 見たりゲームしたり。昨日、勢いでオークのキャンプを片付けておいたから、ワーウィンドル入手記念に 15 階レベルクエストと迷宮のミノタウルスを片付けてみたり。やっぱり武器が強いと随分楽なんだよな……乗騎はキメラでもすぐに死んでしまうわ、騎乗してると反射の盾が持てなくなるのが問題過ぎるわで悩むというか、悩む余地も無く歩兵化が進むというか。

2012-02-02 00:41:00

今朝はくもり。また天気の悪い。朝ごはんはパンとサラダとソーセージ。日が差さない上に風があるっていうとちょっと寒い。その上、雨まで降り出されたらたまらない。

昨日、色々直した辺りでちょっと気になってたことを追求して大はまりな一日。外部機器の出力切れたら別系統で出力を支えるようになってるんだけど、その切り替えが遅い場合があるんだよなというのが発端。真面目に状態遷移してるんだよねと確かめたら、遷移してない場合もあるのね。そか、タイミングによってはスイッチ切り替わる前に状態遷移関数が差し替わって、それでスイッチ切り替えが遅れるケースが出得るんだねということで、後の状態に任せてた通常状態遷移関数での異常処理でもスイッチいじるようにしてやって。

それでとりあえず最初は良くなったと思ったら、二度目以降が何か遅いなという。何だこれってしばらく悩んでて、この時ここに来てってデバッグ LED 出力出してて気付く事実。何か二度目以降は普通の異常処理に絶対落ちてこない。復帰した時にここから入って、それでここで異常ハンドラを……セットしてないな。っていうか memset() でクリアしてる。初期化が中途半端だったか。それでそこを直して動かしてみたら、目出度く二度目に外部機器を切った時にブレーカーが落ちるようになりました……って、全然目出度くないぞ?

後は何でこれ落ちるんだというので悩み続けるばかり。悩んでばっかりいてもしょうがないから適当に commit を遡ってみたりはしたけど。ここから落ちるようになるっぽいっていうところは見つけたけど、そこで入れてる修正って外部機器切った時じゃなくて再起動した時に関係する処理なんだよね。うーん?

ブレーカーを落とす関数をコメントアウトしても落ちてたのは単にプログラムの書き間違いで勘違いっぽいかとか、でもそれで動いてた時にはブレーカーを落とす関数呼ぶ状態じゃなかったからちゃんと狙ったところに進まなかっただけじゃないかとかありつつ今日はおしまい。定時退社で早上がりで、ちょっと組合活動というかお話会に呼ばれてるん。

すっかり晴れ渡ったけどえらく冷え込んできた中、京橋の会場へ。丁度組合の人達も来たばっかりというところに合流。で、晩ごはん食べつつ春闘関係だの何だのあれこれ説明される感じ。突き出しがマカロニサラダでフライドポテト、枝豆、たこわさから焼き鳥串盛り合わせ、海葡萄の海鮮サラダ、お造り三点盛、ししゃも、ベーコンと玉子のピザ、とり軟骨揚げ、梅雑炊、鶏の唐揚げ、山芋の天ぷら、えいひれ、いかリングフライ……ぐらいだったか。何て適当な頼み方。なかなかおいしいけど、ちょっと味付けが塩辛めかね。こっちもあれだけど親会社もあれだねぇとか、実は地震の被害がとか、子供がねとか、そんな話をだらだらしつつ。

で、帰る、と。バッグの肩紐を止めるところのピンが飛んだから修理してもらおうかと思ったけどもう閉店してました、なんてことがありつつ。これなら素直に最短距離で帰れば良かった。で、お風呂に入ってからだらだら WWW 見たりゲームしたり。ちょっといいもの手に入ったけど、その辺り活用しようとするとますます歩兵にならざるを得ないっていうかそっちを優先すると単なる戦士だな。

2012-02-01 00:08:32

今朝は晴れ。久しぶり。朝ごはんはパンとサラダとソーセージ。からすの人達は愛嬌あるよねとか思いつつ。空気は冷たくとも寒いっていう感じじゃない。でも、ちょっと冷えるな。

サブマイコン側のスイッチをライジングエッジ見るように直すっていうのを適当に片付けた後でメインの方へ。外部機器から見える A/D 値が二つあるんだけど、これをそれぞれ制御系統に合った方を見るようにしましょうっていうのから。前の基板だと片方しか見えなかったからそっちで合わせてあったんだけど、新しいのだと見える。で、外部機器はそれぞれの値に対応するスイッチを個別に切ることがある。反対側が切られたからって異常だっていうことにしてしまうと、二度と抜けられない袋小路に入り込めるかもしれない、と。

それから外部機器の起動待ちって、今のあれだと実は良くないんだよなというのを考え直し。結局、適当な時間待つしかなさそうだということでそのように。適当な時間っていうのもどうやって測ったもんだかって悩むわけだけど。結局、定期的に送信してる要求に対する応答がしきい値回連続でちゃんと返ってきたらっていう形に落ち着いた。外部機器が独立して起ち上げたり落としたり出来るものだから、単純に最初の返事から何秒間待った後、とかじゃだめなもんで。

ついでに昨日直したキャッシングとの関係を再考したりしてから次。結局のところエラー検出ってスイッチに連動しちゃって構わないはずだよねっていうのを拡大してみた。待ち状態にある時にはスイッチオンまでエラーを検出しないようにする。特に問題無いはずだし、変に難しくなりそうなところが消えるんで都合がいい。……はず。

何となくまだ挙動が微妙なような気がしつつも通信回復待ちから通常状態への状態遷移を直して今日はおしまい。そのままだとこれも袋小路に入り込むのを、起動時と同じ状態選択に乗せてちゃんとそれなりな方向に行くようにしてみた。今日はこれで本当に早めに帰るですよ。何か実験小屋でのログが変とか、別の実験場所で動かしてるのが妙とかいうのはデータだけ見ても良くわからないからとりあえず置いとくですよ。

で、帰って晩ごはんにかに焼売と野菜スープ。かにの風味が濃い。10 個はちょっと多いっていうか、もうちょっと少なめな上でもう一品あった方が満足度が高そうというか。なかなかお腹一杯な感じ。

後は WWW 見たりゲームしたり。16 階まで降りてみた、以上、という。一応全耐性の鎧拾ったから元素耐性は揃ったけど。ちょっと現状だと弱いか。グリフォン乗っててもオークの群ぐらいで死んじゃうし、そうなると攻撃力はまだしも防御力が心許無さ過ぎる。

2012-01-31 00:40:30

今朝はくもり。朝ごはんはパンとサラダとソーセージ。冷え込みが緩めでもうちょっとで日が出るかも、だとあったかくなることが期待されるわけなのだけど、どうなんだろうと思いつつ。

先週末の帰り際に思い付いたことをやってみて、変に落ちなくなるのを確認。これで良し、と思いきや、復帰した後の動作がまだおかしかったり。待ち状態だと色々リセットされるはずなのに、起動時と違うルートに向かうのは何ででしょう?

LED でデバッグ表示するぐらいしかないのが問題だよねと思いつつ確認。待ち状態から抜けるスイッチがオンの状態で外部機器を後から起動すると、最初の時でも間違ったというか、意図してない状態に落ちるのを確認するまでしばし。で、わかってからどうしてそっち行くんだとしばらく悩んでみる。通信エラーの回復待ちに行ってるんだな。でも外部機器との通信エラーは検出してなくて、それじゃ何で通信エラーなのかって、そういえばこいつってば、起動直後は初期化終了を返してきながら内部の通信スタンバイエラーを返してきてたんじゃなかったっけ。本当ならこのスタンバイってエラーじゃないんじゃないかと思わなくもないエラーを。

そういうことで、外部機器の内部通信エラーも一回検出したら通信エラーの回復待ちに落としてたのを複数回受信するまで検出しないようにしてみる。……無事、思った状態に進むようになった。ふん。普通に動いてる時だったら一回で通信回復待ちに行きたいから、起動時だけ特別扱いする必要があるか。……っていうか、外部機器からのエラーって、全部起動を確認してから見れば十分なような。ということで、ad-hoc な起動待ちを入れてみる。初期化完了のフラグが単にコントローラの初期化完了しか意味してないみたいだから、適当に他のフラグも見てやるっていうぐらいしか手が無いん。

やっと思った通り動くようになったところで、今朝、湧いて出た修正に手を付ける。また状態遷移条件をちょっと変えましょうっていう。通信でもらってる値がぎりぎり過ぎてしきい値そこにすると永久に踏めない可能性があるんだよね、ということでエラーも見ることにしましょう、と。で、さくさくと述語だけ書き換えておしまい、のつもりがすぐ動かなかったりする、と。あれ?

外部機器からの情報を上書きして動かしてみたら、何だか知らないけど思ったように出力経路が切り替わらない。入力系の方はちゃんと切り替わるんだけど。このフラグちゃんと立たないのかとデバッグ出力してみたらちゃんと立ってるんで余計にわけがわからない……って、出力系の切り替えの条件に入力系がどうなってるかっていうのが入ってるんだよな。入力系と出力系は独立して状態遷移してて、入力系の判定は出力系の判定より前にやってる。この条件では入力系と出力系の状態遷移が被ってるわけだけど、先に入力系の状態遷移が発生すると、出力系で見てる入力系の状態は当然、変わる。で、変わると、出力系の判定には引っ掛からなくなる、ね……

この条件の時、出力系の切り替えは必ず発生しなければいけない。今までの条件は今までの条件で、しきい値変えたら別に判定する必要があるわけだけど。ということで、入力系がどうあれ出力系を切り替える条件というのを判定に追加。今はたまたま同じ条件を表す述語がもう一つある状態だけど、まあ、しょうがないでしょう……ということで、こっちも直った。良かった。ついでにエラーの時に正面パネルの LED が点滅する場合があるっていうののテストも出来たことだし。

そういうのの脇で、あっちで煙噴かせたからこっちでも確認してみてと言われて、ねじが多いよと思いながら箱詰めされてるのを開けてみるとか、入力二系統両方に安定化電源繋いで動作を見てみるとか、煙噴いたのを直したからちょっと確認してと言われて一通り動作確認とか。それで早めに帰るぐらいのつもりだったのに、と思いつつ遅めに帰る。

で、帰って晩ごはんに豚汁うどん。舞茸を適当に入れたらえらく具沢山。沢山な割に種類が少ないのはしょうがないところということで。うどんはいいねぇ。

後は WWW 見たりゲームしたり。しばらくぶりに快勝すると気分がいいです。でもグリフォンだのヒポグリフだのでもちょっと無理すると死んでしまうから結局歩兵な時間が長くなるのは結構残念な感じ。今、使ってる武器の関係で歩兵でいる方が攻撃力が高いのがまた、あれ。

older <-

goto

hint can be:

Tags

old

2007-05 -- 2006-12

ゲーム関係の古い記録

before 2005-12