Repo

kjana00@gmail.com

older <-

2012-01-01 23:24:13

今朝は晴れ。朝ごはんにおせちを食べたら後はだらけた後寝て……で、昨日とやってることが変わらない方向。夕方起きて、ぼけっとしてる間に晩ごはんになって、と。

素晴らしく快勝したけどどう見てもダイス目が素晴らしかっただけだったとか、24 階のランダムクエストに挑みたくないあまり森だの城だので 25 階まで降りてみてからモリバントの 25 階レベルクエストと柳じじいを片付けてみたりとか。りんごがおいしいとか。

さすがに明日はちょっと出掛けてみようかね。明後日帰ることだし。

2012-01-01 00:20:32

今朝は晴れ。朝ごはんを食べて寝て、起きたら 17:00 近くというと何もすることないよねという。まあ WWW 見たりゲームしたりでぐだぐだするわけだけど。晩ごはんを食べた後も続きな感じで、22:30 ぐらいにそばを食べて。これぐらいの量だよね、やっぱりと思いつつ。結構食べたからねぇ、晩ごはん。

で、そのまま続きな感じで終わるという。とりあえずアゾクは倒してみたけれど、あんまり装備が向上しなくてしょんぼりしたという感じ。柳じじいを倒しに行くっていうのもちょっとどうかと思うぐらい。おまけに倒してもあれ、あんまりいいもの持ってないことが多いしな……

毎年のことながら除夜の鐘がいつまでも鳴り響いております……

2011-12-31 00:22:47

今朝は晴れ。朝ごはんは玉ねぎ、ケーパー、トマト、ソーセージのトマトソーススパゲティ。トマトを入れるとちょっと酸っぱくなるのだよねと思いつつケーパーも入れるというのはどうなのか。余計に酸っぱくなるやんな。まあ、大した問題があるわけでもないけど。

10:00 ぐらいに起きておいて、朝ごはんだの洗濯だの準備だのの後 13:00 頃出発。何か曇ってきたけど雨でなければいいよ、もう……新幹線はがらがら、って言う程でもない感じ。でもまあ、始発なら余裕で自由席に座れるっていうのは変わらない。米原辺りはやっぱり雪が積もってるとか、遠くの雪を被った山並みがきれいだねぇとか。富士山は雄大で、雲の影がはっきり見えるのが何か面白いとか。ところどころで目を覚ましつつ寝て過して東京。ホームがえらい混雑で、新幹線の中を階段近くまで歩くことにしたり。

とりあえず秋葉原に出て、何となくお腹が空いたような、そうでもないようなということでつけ麺。太麺に魚介類っぽいスープ。何か煮干しの粉か何かちょっと浮いてたりしたし……この麺はひょっとすると鹹水とか使ってなくて、本当にうどんに近い作りなんじゃなかろうか、と思ったりする。

で、ちょっとゲーム、と。しばらくぶりのゲームばっかりいくつか。このキャラでクリアし損ねるっていうのはひどいとか、パターンも何も覚えてないとサテライトレーザーの照準を合わせようとしてる間に弾に当たったりして情無いねとか、地上空母の作りかけに負けるのも大変にあれな感じとか。総じてだめだめ?

日が落ちると急に寒くなるのね、と思いつつ帰路に。どうしようかと一瞬迷ったけど、結局実家最寄り駅から歩く。日が落ち切ると風もおさまるもので。帰り着いたら丁度晩ごはん。それから WWW 見たりゲームしたりお風呂入ったり。で、後は寝ようかと。

2011-12-30 02:20:10

今朝は晴れ。朝ごはんはプッタネスカ。無事冬休みに入れて良かったわね、という感じでぼんやりの後お出掛け。

地下鉄で恵美須町に出てうろうろと。こっちもマンションになってたかとか、ここにこんな店出来てたのねとかを見物したり、タブレット PC にドックとかやっぱりみんな考えるよねと思ったり。ARM コアだと今の PC 使途には合わないんだよな……

本屋でまんが一冊と本を一冊買ってゲームしに。2 credits で両方とも 1,000m そこそこで終わるとは何事とか、途中までいつもより調子いいかもと思うぐらいだったのに結局クリア後の得点は前の最高値に届いてないねとか、コンティニューありとはいえ赤壁までたどり着いたのは久しぶりだなとか。

コンビニと古本屋に寄って帰る途中で味噌ラーメンと餃子。平たい麺にぴり辛なスープ。もうちょっと麺にスープが絡む方が好みなんだけどな、とは思うけどなかなかおいしい。ぱりぱり薄皮からじゅわっと肉汁があふれる餃子は素直においしい。

で、帰って買ったまんがと本を読んでたらもうこの時刻。明日はちょっと早めに起きた方がいいんだけどな……

2011-12-29 01:30:46

今朝はくもり。朝ごはんはパンとサラダとソーセージ。冷え込みが厳しくない代わりにあったまらないというのがこの天気。まあ、雨じゃなくて良かったって思っておくところか。

手動操作で基本機能を動かしてましょうという作業を開始。今は入力繋いでもすぐ緊急停止動作で切れちゃってるから、まずはそこを直さないといけない。ということで本当にそうだっていうのの確認から。デバッグに使えるポートですぐに思い付くのが出力系統のスイッチ操作ポートだったんでそこに吐いてみる。反応はあるけどちょっと思ったのと違う。ええと? ……って、スイッチのポートだから、緊急停止動作でこれも落ちるのか。だからこういう出力になる。納得。

緊急停止動作に行っちゃうのは、前の基板だと計測可能になるのがスイッチオンの時だけだったのに対して、新しい基板ではスイッチと無関係に計測出来るようになったのをプログラムに反映してるから。使ってない時でも計測してて、それで問題があったからと切っちゃってる。だから計測自体はともかく、緊急停止は実際に使ってる時以外には起こらないようにしたらいい。要はスイッチ状態も条件に加えとけっていうだけの話……ん、思った通り。これなら使う方にだけ入力入れておいて、そっちのスイッチをオンにしたら問題無く動く。

制御に必要な A/D 値の計測が出来てるっていうのは昨日確認したわけで、ここまできたら今まで通り動くことを期待しつつえいやで動かすしかないのだよね。ということで動かす。動いた。ほっとした……計測の制度がちょっと上がった分、制御の制度もちょっと上がった風。まあこの基板では、っていうことかもしれないわけだけど。

ここまでで見せたら特性測っておいてと言われたんで測定開始。電子負荷の容量が大きいやつがちょっと前から入ってたんでそっち使ってね、というのもあってそっちを動かしてみるところから。まあ、普通に負荷として使うだけだと、今まで使ってたのとあんまり変わらないわね。メーカー同じだし。今まで 300W ぐらいしか引けなかったのが、1kW まで引けるようになったっていうだけ。これだと実際の使用条件と同じパラメータでもちゃんとデューティ制限がかかるところまで動作を確認出来る。

ということでちまちまと測定。何か前よりも測り難い……測定値のふらつきが大きい感じ。A/D 値でもふらついてるし。おかげでいちいち平均取るために最大値と最小値をしばらくじっと眺めて拾ったり、良くわからないから最頻値から恣意的に決めつけてみたりしなきゃならない。デューティ制限がかかった後は余計に。おかげでこの測定だけでえらく時間かかった。

終わったところで結果を見せて、それからちょっと確認したいんでってハードウェアレベルでの緊急停止回路の動作確認を簡単に。ちゃんと設計通りの信号が出ますねっていうのを確認したら、今年はとりあえずここまでにっていう話に。なんでエラー処理の仮実装やってるブランチに昨日、今日いじったところをマージしてみるとか、DIP スイッチだの外部機器からのエラー信号がどう見えるか確認してみるとか。負論理なのはいいよね。何も繋がってない時には電源線に抵抗で繋げてあるから HI になって、つまりオフなり正常なりに見えるはずだよね。適当なポートに吐き出させてみると LO に見えるけど。……うーん?

そんなことしてたら帰ろうかという間際に週報忘れてたと慌てるはめになったりしつつ、今年はもうおしまいなんですということで帰る。定時退社日だし。で、カマンベール食べながらのんびりした後。晩ごはんに豆とソーセージのトマトスープでフジッリ。昨日よりあったかいとはいえつま先が冷たくなる陽気にはあったかいものがいいです。食べとかないとトマトソース余るし。

後は WWW 見たりゲームしたり、突然ひどく眠くなったんで寝たり。いい感じに快勝しても分析すると明白な悪手を指摘されたりするのが……ダイス目だけで勝ってるなという感じ。

2011-12-28 00:40:40

今朝は晴れ。朝ごはんはパンとサラダとソーセージ。昨日よりはあったかいような気がするけど、単なる気のせいかもしれず。電車遅れても三分だと全然、変わらないなと思いつつ仕事場へ。いい加減、普通に歩いてる分には傷まなくなったことだし。

で、計測回路と A/D 変換の具合を確認する作業を開始するために、ちょっと基板にひげ生やして欲しいなと頼んでおいてエラー処理の方をちょっといじる。通信エラーの初期の方は、通常状態に入る前の待ちと統合しちゃえるなっていうことで書き換えて、ついでに資料も書き換えて。

そうしてる間に基板の準備も終わってきたんで作業開始。適当に入力かけつつ測定回路の出力とデバッグ出力してる A/D 値を確認して、ついでに入出力の実測値と A/D 値から計算出来る値との比較をするっていう。実際はひたすらメモ取るだけなわけだけど。計算は EXCEL がやるさ。でもまあ、これが、結構時間がかかるもので。

途中でしばらく動いてなかったサーバが動いたからとチケット切ってあるのに記録を残したり、しばらく貯めこんでた手元の変更をコミットしたりを挟みつつ延々と調べてると、一つだけ電流の計測値がおかしいところがあるのを発見。また I/O 設定かと思ったけどそうでもない。そもそもデバッガでリセットかけてマイコン止めておいても計測回路の出力時点でおかしい。何だこれってしばらくあれこれ確認しつつ悩んでみたけどわからないんで相談してみる。

確かに変だねと一緒に見てるうちに、ところでこの電流センスアンプに電源来てる? という問が。そういう辺りは見てませんねと確認すると、見事に来てないっぽい。ふん。同じ電源取ってるこっちの IC はというのを確認すると、そっちにも電源が行ってない。それで一緒に回路図眺めてたら相談相手のハードウェア担当の人がああ、と。……ここに他では一切名前が出て来ない端子があります。これが電源に繋がってます。これ、他に繋がってないから浮いてるよね、と……

回路図上で名前を付け替えた時漏れてたのが検証もすり抜けてそのまま実装されてしまったらしいとのこと。本当なら同じ線に繋ってるはずのところから引っ張ってきて繋いだら真面目に測れるようになりました。同じ電源取ってた別の IC もこれで動くことでしょう。っていうか動かないと、そこが一番肝心な MOSFET のドライバなんでこの基板の存在意義が失われます。

修正の後で残ってた計測も片付けて、結果を確認してもらって今日はおしまい。本当は今日中に手動操作での動作はさせちゃうつもりだったけど、変なことで引っ掛かって遅くなったことだし。まあ、遅くなったって言ってもたかが知れてるけど。で、とりあえず帰って晩ごはんに焼き肉だか肉野菜炒めだか、何かそんなもの。しっかり肉を食べた感。

後は WWW 見たりゲームしたり。やっぱり生クリームだと何かコーヒーが重くなるなと思ったり。でも今から改めて牛乳買う気にならないしねぇ。金曜日には実家ってことだと。とりあえず迷宮のミノタウルスを倒して二本目の帰還のロッドを手に入れたりはしたものの、なかなか動き難い状態になってきた感じ。飽きて無茶して死ぬ前に何かいいもの手に入らないものか……

2011-12-27 01:57:46

今朝は晴れ。朝ごはんはパンとサラダとソーセージ。もう三日もすれば冬休み、ということで頑張りましょう。それまでにあれこれどうにかしとかないとっていう話があったり無かったりはするんだけど。

朝はあんなにいい天気だったのにお昼には雪がちらついたりしてえらく冷え込んでくれてまあ、とかありつつエラー処理のいい加減に片付けたところを整理し直してみたり、新しい基板が来たんで動作確認を始めてみたり。とりあえず受け取ったリクエストの返事にはリクエストと同じ ID 付けておこうかという方針を固めてサブマイコンへのエラーのレポートを投げるのに使う ID を決めるとか、通信相手が報告してきたエラーと自分で A/D 値だの GPIO だの眺めてるエラーとを完全に同列に扱うのはどうかしてるっていうか、通信相手が返してきたエラーは通信してるモジュールがちゃんと数えてるやんなとそれを参照するようにしたりとか。

新基板の方はとりあえず回路図眺めてスイッチとか関係無しに電源入れたらマイコンも動き出すっていうのを確認する辺りから。サブマイコンがリセット握ってるけど何もプログラム書いてない時点ではメインマイコンにリセットかかるような出力をしません、だから今まで通り動きますっていう話を聞いて、実際電源入るしプログラム書けるし、デバッガでのリセットを解除したらデバッグ用のシリアル出力がちゃんと出て来るしというのを確認。この辺り結構不安だったけど、思ったよりはるかにまともっていうか、前の基板と同じように動いてくれるわけね。

で、電圧の方が見るの簡単だからと A/D 値を眺めて何か一部だけ変っていうので悩んでみたり。ハードウェア担当の人とちょっと話してもわからない……と調べてたところに、ところでその A/D 入力用のポートは本当に入力に設定されているかという話が出る。確認。見事に出力になってる……入力に設定し直したらあっさり、まともな値が得られるようになった。それはいいんだけど、そのついでにデバッグ用に使ってた GPIO ポートが軒並みテストピンも無い状況になってるのがわかってしまった。うーん、細かいこと考える時にはどうしようね……

まあそれはその時考えるとして、スイッチ系の確認を一通りしたら今日のところはおしまい。明日電流計測含めて A/D 値と実入力との関係をざらっと見たら、後は動かしてみましょうという話。エラー系のマージをどっちの基板でやろうかな、とかいう話はちょっとあるけど。サブマイコンとのやり取りの確認も含めるなら前の基板で基本的な動作は見ておいた方がいいかもしれない。

とりあえず今日は帰って、それで晩ごはんに豚汁うどん。4℃ ってな……週末 3℃ っていうのも見たわけではあるけど。あったまるのはいいです。味噌が足らないんでちょっと醤油を足してみたりしつつ。

後は WWW 見たりゲームしたり。いい調子なようで結局派手にぼろ負けたりするのは割とどうしようもない感じ。それはそれとして地道に潜って 18 階辺りをうろうろしてみたり。対盲目をどうにか出来ないと 20 階までなかなか行く気にならないんだけど。どうしよう。うーん。

2011-12-26 02:04:43

今朝は晴れ。朝ごはんは菊菜、ケーパー、アスパラガス、ズッキーニ、えびのクリームソーススパゲティ。ちょっとえびが多過ぎたような。えびだらけ。天気は昨日よりいいぐらいだけど、晩も明日の朝も問題無いだけ買い物してしておいてだらだらする予定、だったんで部屋でぐだる。

適当に WWW 見たり鉄獄の 15 階まで降りてからいい加減ボルドール倒しとこうかと片付けたり。で、夕方からちょっと寝て、起きたら 20:30 過ぎ。晩ごはんは玉ねぎと生ハムのトマトソーススパゲティ。二回じゃなくて三回に分けて使っても良かったかもしれないな、生ハム。

その後も WWW 見たりゲームしたりの続きで。15 階レベルのクエストを片付けて、25 レベルまで上がって。指輪かアミュレットの強力なやつが欲しいんだけどなと思う昨今。忍者、ろくな防具使えないし、武器もなかなか良くならないし。

2011-12-25 01:08:02

今朝は晴れ。朝ごはんは菊菜、アスパラガス、ズッキーニ、ソーセージのクリームソーススパゲティ。ちょっと菊菜に火を通し過ぎたか。生クリームに火を入れた後で投入、で十分だった感じ。水菜ほどぐだぐだにはならないんだけど、一応。油の入った瓶をひっくりかえしてえらいことになったりしつつ。流しに流すわけにもいかないから、で溜め込むことになってるのに、結局だいぶ流しちゃったわね。

たまには散歩ぐらいしようよということで外へ。このところ靴ずれの傷があれだからと動いてなかったし。で、パンを買い込んでから土佐堀通りを西へ。いつの間にか賃貸マンションが分譲マンション建設予定地になってたりして。ここの店は本当に小売りもやってたんだな、なんていうのを眺めたりもしつつ、松屋町筋の一本川側を下る。で、結局松屋町筋に戻されてから農人橋を渡るはめになったりして。前も同じことをした記憶。記憶にあるんだったら回避しようよ……

結局川の西側に渡ってから下っていって、久宝寺通りの南を西に進んで、もう一本下っておけば良かったと思いつつ人通りの多い心斎橋筋でちょっといらつく。ふらふらしないで真っ直ぐ歩こうよ。で、古本屋にしばし滞在。

いい加減帰ろうかというところで北に向かって、どこで折れようか迷いつつ結局銀行に突き当たるまで北上してたり。これなら、御堂筋のイルミネーション眺めながら上ってきた方が良かったかも。で、東に向かって、ちょっと買い物してから行きと同じコースに乗ってしまって。

土佐堀川沿いでもやっぱりイルミネーションで飾ってるみたいなのをよそにそのまま東に向かって京橋着。それでそのまま部屋に帰って晩ごはんに玉ねぎ、アスパラガス、ズッキーニ、生ハムのトマトスープでフジッリ。切り落としのくせに妙に高くても、やっぱりこのハムおいしいのだよね。煮込むのにはとてもいい。普通に生ハムとして食べるのに合わせたスライスとか、ちょっと出来ないし。

後は WWW 見たりゲームしたりの。見事なばかりに話が進まないのはびくびくし過ぎだからか、妥当な判断か。隠密性とそこからの奇襲は強いけど、真っ向からの戦闘になるとだいぶ弱いっていうのが難しい。

2011-12-24 01:48:09

今朝は晴れ。朝ごはんはプッタネスカ。何か起きる気にならずにだらけた分遅くなってたけど、やっぱりとりあえず出掛けてみようという気になる。

で、地下鉄で恵美須町に出てあれやこれや、ぶらぶらと。そのらぶりぃ過ぎるドーナツは何なんだとか、今年は何かサンタが少ないような気がするなとか、こん裏道に車通り多過ぎとか、何とか。それで本屋でまんがを一冊買ってからゲームしに。

大変に不調な感じで 1,200m 行くのがやっととか、1,500m はそれなりかとか。2 面中間で墜ちてみたり 3 面でも 4 面でも 5 面でもやられてみたりしたけど何とかクリアは出来たっていうのはどういう調子なんだろうとか、スレイブ選ぶつもりで忘れてるとひどいものですねとか。レベル 1 で 2 墜ちはひど過ぎるけど。

コンビニと古本屋に寄って、晩ごはんにラーメンと水餃子で。白醤油と白菜が特徴ということらしい。炒めた豚と、何か香ばしい匂い。細麺。なかなかおいしい。でもここちょっと普段通るところからは遠いよね……水餃子の方は、雲呑に似た感じの薄皮なやつ。ちょっと白ねぎがうるさいって思うのはまあ、好みの問題だけかな。それから心斎橋で買い物して帰って。

買ったまんがを読みつつコーヒーとサンネクテールとか。牛のチーズ。ほろっとした表面にもっちりした中身っていう感じ。後は WWW 見たりゲームしたりとか。うーん、あんまり進んだ気がしない。

2011-12-23 02:03:46

今朝はくもり。朝ごはんはパンとサラダとソーセージ。くもってると冷え込まないけどあったまらないから結局寒い。冷たくはないっていうぐらいで。

実験向けに手元で動かしてるプログラムを提供して欲しいというのに対応。とりあえずパラメータ合わせて書いてみて、動いてる、動いてる、と。……で、今のままのプログラムだと意図したような動作にならないのに気付いて二度手間かけたり、前の実験プログラムとパラメータが合ってなかったのがわかって三度手間かけたり。ケースに入れた上で箱に入れる、熱測定するんでケーブル付けた熱電対沢山付けて、という状況でそれはちょっとごめんなさいな感じ。思ったように動いてないかと思いきや、やっぱり書いた通りに正しく動いててほっとしたりしつつ。

それから次の基板ではポートの割り当てが一部変わるから、っていうのの対応を更に。前は GPIO 分だけやったけど、今度は A/D コンバータ入力をいじってみた。この変は今と同じで、この辺りは今 2 チャンネルある内の使える方を使ってるけど生き残るのは反対側で、これは別の入力になって……と。結局、今、割り込みで拾ってる値については何も変わらなくて、ソフトウェアトリガで拾ってる値がちょっとずれたり変わったりするっていうぐらいで済むんだ。そうすると、そう大幅な書き換えにはならないね……と言いつつデバッグ用のログ出力だの情報取得インターフェースだのの書き換えが入ったりはする。

午後になったら何か明るくなってきたんで、これなら実験出来るなと表の小屋へ。で、動かして放置しつつエラー処理の検討と実装。イベント検出のフレームワークに乗っちゃうのが簡単だろうねっていう方向。それで検出したらリアクション取ればいい、と。リアクションで状態遷移してみたり、サブマイコンに通知してみたり、LED の表示系をいじってみたりしたらまあ、それなりか。で、がしがし適当に書きつつ迷ったり、悩んだり。同じこと何度も書きたくないっていうので。全部 Cygwin 上に載ってるプロジェクトだったらこの辺り、CSV ファイルからスクリプトで自動生成したりするところなんだけどね……

大雑把に書いて、後は来週真面目に埋めようというぐらいで今日はおしまい。帰って晩ごはんに餃子と……あれは、何だろ? 野菜スープを作ろうとしつつ冷蔵庫の中を見て、玉ねぎ無いんだっけとか、豆腐余ってるんだなとかから大根、ズッキーニ、菊菜、豆腐をにんにくとちょっと炒めて塩こしょうの上ワインが無いやと日本酒降り掛けた代物。多分、探せばもっとまともなレシピがありそうな気はする。まずくはないけど別段、おいしいっていうわけでもないな……餃子がおいしかったからまあ、それでいいという話はある。

後は WWW 見たりゲームしたり寝たり。12 階のランダムクエストを片付けてみて、ちょっと二刀流なんかに手を出してみたりして。忍者は普通に攻撃するんじゃないから結構当たってダメージはちゃんと増えてるっぽい。さて?

2011-12-22 01:22:14

今朝は晴れ。朝ごはんはパンとサラダとソーセージ。たまに引っ越した夢を見るのは何か気に入らないんだろうかって、まあ、気に入らないところはあるけど今より条件がいいところってみんな高いのだよね、などと思いつつ。

外部機器の起動待ちを通信でもってやろうとして失敗しているやつ、出力が出て来てからっていうのは状態を得てるなかのステータスビットを見てたら何とかなりそうな気がしてきた。んで、試す。最初、現状の確認ということで GPIO 出力を加えた後で、書き換えて書き込んだつもりがビルドしただけになってて思ったように動かないと悩んだりしたけど、どうやら思った通りに最初は出力が得られるまで待つし、一度出力が切れたら異常として停止状態に落ちて復帰しないっていうのを実現出来た。これはこれでいいか。

次の基板だと、サブマイコン相手の UART は本当にサブマイコンに繋がるから、サブマイコン通信の実験がてら情報を取れるようにしてる分は他から取るようにしなきゃならないんだよね、とデバッグ用シリアル入出力にバイナリで吐かせようとしてみる。何かちゃんと動いてるんだか、動いてないんだかっていう感じになった……まあ今週中はこれよりも実験と芯基板対応のための I/O や A/D 入力の調整とエラー周りの実装の方が優先度高いから、ととりあえず置いておいて。

で、実験に出ようとしたところで呼び止められて、最新のプログラムでは実現出来てる状態取得を別口の実験でやりたいんだけどと言われる。Cygwin 上の Ruby スクリプトで話をしてるからその辺がいるんですけどと話したら、それが出来るようにこっちのノート PC に環境作って、と……ということで今日の実験は中止。インストールはあっさり何の問題も無く終わったけど、スクリプトをコピーするのにちょっと面倒が。特別なドライバの類が必要無いことが売りの暗号化付き USB メモリを正しく認識出来ない。しょうがないから結局ネットワークドライブ経由で受け渡した。うん、これで動いてるね……

もうちょっと細々いじったり、外の小屋に修理済み基板と新しく来た実験用電源を運び込んだりで今日はおしまい。それで帰ってちょっとぼけっとして、それから晩ごはんに肉豆腐。菊菜がおいしいです。あれぐらいの具合が丁度いいよね。あんまりくたくたに煮込み過ぎると食感が今一つ。

後は WWW 見たりゲームしたり。何かひどくあっさり負けてみたり、とりあえず鉄獄 6 階のランダムクエストを片付けて 10 階まで到達してみたり。防衛者な武器が手に入ったけどダガーなのがかなり残念。せっかく閃光耐性まで付いてるんだけどな。

2011-12-21 00:40:24

今朝はくもり。朝ごはんはパンとサラダとソーセージ。北の方は晴れてるんだけど、南の方が下手したら雨降りそうっていうぐらい。まあ、昼ぐらいにはいい天気になるのかな。今頃の時期だと。

ちょっと実験するのに前にデモで使ったプログラムを焼いてくれというので焼いて、何か動かないというので調べてみて、原因が後付けハードウェアだというのがわかった辺りでぱんって何か破裂してこれは本当に壊れましたね、と……なんてことをしつつも昨日の続き。

IO#read_nonblock を使うだけだと、ループして全部読むようにする前と同じようにデータ長を読み違えて落ちる。なんで、やっぱりループして全部読むようにして、ってやると今度は刺さる。といっても本当に刺さってるわけじゃなくて、無限ループにはまってるだけなんで ^C で止まるわけだけど。それでこの状態の時にはどうなってるのかなと読み出せてる分の返答を表示してみたら読み出した分が増えずに Errno::EAGAIN になってる。それじゃあと GPIO 出力で出力バッファが空かどうかを吐かせてみたら、見事に何か詰まったままになってる。

全然納得の行くルートは思い付かないけど、何かレースで UART 向け出力バッファに詰めただけで、そこから吐き出すように TX をキックするのが上手くいってないっぽいなと結論。で、リクエスト受信のために定期的に呼ばれてる関数でキックしてやるようにしたら何とかなったっぽい。リクエストに対するレスポンスを詰めた後キックしてるし、送信割り込みは TX のシフトレジスタにデータセットする度に起こるって書いてあるから、その割り込みハンドラでバッファに何かあったらそれを出力するっていうので連鎖的に吐き出されていくはずだし、本当に納得行かないんだけど。

とりあえずそれなりの時間自席で通信が問題無いっていうのを確認したんで、今度こそまともに状態遷移見たいぞと表の小屋へ実験に。ついでにここでもっと長い時間データ取得してみましょうねという魂胆。で、通信の方は本当に問題無いっぽいのがわかったんだけど、状態遷移の方はいらないことして基板を壊したっぽい……その結果として起こるはずだった状態遷移は起こったけど。でもスイッチ入れても電圧が来なくなってるって、明らかに壊れたよね、これ。

そういうことで戻って確認。マイコンからの出力が来てるテストピンで反応が無いから一瞬焦ったものの、もっとマイコンに近いところにある抵抗の前後で電圧が違うのがわかって安心した。何か妙に抵抗値が大きくなってる。この抵抗が焼けたことでマイコンのポートまでは壊れずに済んだらしい。まさに名誉の戦死、二階級特進っていう感じ。で、抵抗の階級って何だとかいう疑問は置いておくとして。

朝壊した分も直してもらえてたんで確認して、その間に今壊してきたのも直してもらえたんで確認して、で今日はおしまい。帰って晩ごはんに野菜スープと飲茶セット。豚の焼売二つに海老焼売一つ、海老餃子に丸餃子に小さい肉まん、と。それとは別に、晩ごはん前に中華バーガーことふかひれまんを食べたりもして。とりあえず、肉まんはごはんのおかずにならないね。おいしいけど、何か変な感じ。

で、WWW 見てゲームして、と。うまくはまってすかっと気分良く快勝してみたり、甚しくどうしようもなく墜ちまくってみたり、地味にイークの洞窟を下ったり。忍者、柔らかいんだよな……

2011-12-20 00:59:12

今朝は晴れ。朝ごはんはパンとサラダとソーセージ。何か変な夢を見た、という記憶だけが残ってて夢自体の記憶が無い……冷え込んでくると日差しがあったかいわね。

通常の状態遷移は大体いいだろうっていうのがあったんで、サブマイコンとの通信の練習っぽく、リクエスト-レスポンスな格好で情報を拾ってこれるようにしてみる。PC 側は ruby で serialport なスクリプト。とりあえず、だから 1byte のコマンドに答を返すだけ、その答もペイロード長+実データっていうだけの簡単プロトコル。で、それが何だか上手く動かないなというので悩むことに。

最初のうちだめだったのは、IO#write に整数値渡すと文字列化して書いてくれますっていう前から何度か引っ掛かってるねた。pack しなきゃね、というだけの話。1byte だから直接書いたっていいけど。で、まともなリクエストを送るようにしたら返事も返ってくるようになったけど、ずっと動かしてると刺さるんだな、これが。どこでどう刺さってるのかは良くわからないんだけど。どう検討したものだかその場で思い付かなかった、とも言う。

一応、一度の read で全部読める保証は無かったりするかもとループするようにしたり、レスポンス読みに行くのが早過ぎるのが悪いのかと 1ms の sleep 入れたりしたらちょっと改善した節はあったりするんだけど、それでも結局は刺さってたんでだめみたい。readpartial するなり read_nonblock するなりするべき? SerialPort に set_read_timeout だの read_timeout= だのなんてメソッドあったから、そっちもいるか知らんけど。っていうか、そもそもスクリプトのどこでどう引っ掛かってるのかぐらい、もうちょっとちゃんと確認は出来たな。どれぐらいレスポンスを読んだところで、とか。

他に通常動作以外の状態遷移をちゃんとしておこうといじったけど完全に思ったようにはならない、っていうか対象との通信を待ってみたけど準備完了って返ってきても実際の出力はすぐに出て来ないから故障判定で停止状態に落ちてるとかいうのでも悩んでたりしたんで実験の方も今一つ。もっと早い時刻からやらないと、確かめようとしてるところを確認出来ない。まあ、適当に出力散らしておかないと後の実験が面倒臭いから、でそのまま動かしたりはするわけだけど。

そんな感じで終わってしまって、帰って晩ごはんに豚汁うどん。今日はあったかくなったかもと思ったら街角の温度計は 8℃ とか言ってました。見事に気のせいっぽい。ちょっと具が多過ぎたかも。でも人参半端に余らせてもしょうがないし、それに合わせると大根も増えるし……

後は WWW 見たりゲームしたりと。城をうろうろしてたらうっかり白騎士なんかに殺されたりして。何があったんだかっていう感じだったけど…… Cause Critical Wounds? いきなり死ぬとは思わなかったわ。で、何か気が抜けて今度は忍者だったり。忍者、後で辛くなるのがわかってるんだけどね……

2011-12-19 01:14:11

今朝は晴れ。朝ごはんはアマトリチャーナ。昨日よりはあったかいっぽいな、と思いつつ部屋でぐだる。まあ、起きたのが 14:00 だからねぇ。

16:00 ぐらいに買い物に出てからそのまま古本屋に寄って、それで帰ってきて晩ごはんに挽肉のトマトソースでフジッリ。玉ねぎと人参の微塵切りを放り込むだけでボロネーゼっぽい味わいが出るのが不思議なところ。

で、後もぐだぐだ。ちょっと寝たりも挟みつつ。何か微妙な頭痛が鬱陶しい感じだもんだから。それで森で 28 階まで降りた後、力の杖が強いなと思いつつモリバントの 25 階レベルクエストを片付けてみたり。鉄獄 24 階のランダムクエストとか辺境の 25 階レベルクエストとかはちょっと、今の装備だの能力だのじゃ心許無い。

2011-12-18 01:51:14

今朝は晴れ。朝ごはんはプッタネスカ。通帳とカードを別便で送らせると受け取りが二回発生するのが面倒臭いけど、同封したり同日に配達されるようなことになると良くないことが出来そうな可能性があって、っていう意見もわからなくはないんでしょうがないかな、なんてことがありつつ。今日は 13:30 ぐらいに来たから前より遅め。でも指定時間帯内の余裕がある時刻っていう意味ではいいところ、と。

地下鉄で恵美須町に出てあれこれ、という程のこともなくぼんやり、ぶらぶら。歳末大売出しなんていう文字列が並んでいると気にはなるんだけどね……で、本屋に寄ったけど買うもの無かった、の後ゲームしに。

ものすごく久しぶりだったとはいえ二面で終了 × 2 は割とショックな感じとか。先週のひどさは何だったんだろうという感じで割と余裕を持ってクリア出来たとか。余裕を持ってという割に、何か妙に回避が辛かったんだけど。いつもならもうちょっと楽じゃなかったか、っていう。それで 1,000m で終わりの後 1,000m 行かないってひど過ぎとか、レベル 1 での 1 墜ちからばんばんやられて 15 で一旦終了、2 credit 目で 20、30 でおしまいとか先週よりひどいわとか。

それからコンビニと古本屋に寄って、それで何か今日は寒いよねと思いつつ帰る途中で晩ごはんに軟骨ソーキそば。何か沖縄そばを一度は食べないと、っていう気分で。細い平打ち麺。スープは割とうどんつゆと言われてもそうかもって思う感じ。それで柔らかく煮込まれたソーキが乗って。なかなか悪くないけど、この感じだとうどんの方が好きかもと思わなくもない。それと、ちょっと量的に物足りない感じ。

それで何かもうちょっとコンビニに寄ってしまったりしつつ長堀橋まで歩いていって、普通に食べられてしまうぐらいの腹具合だなと思ってしまったもんだからつい、味噌煮込みきしめんなんて久しぶりに食べたりして。最近だと本当にたまに、年に何度かっていうぐらいしか行ってない割に顔を覚えられてるのだな。で、相変わらずおいしい。

食べ終わったら結構お腹一杯で、いくら物足りなく感じでもソーキそば一杯はやっぱりそれなりかと思ったりしつつ帰る。で、WWW 見たりゲームしたり、買ってしまったからには食べとかないととブリーを更に食べたり。無理をしないでも負けた後に意地張って無理をして予想通り負けを重ねるとかしつつ。

2011-12-17 01:35:27

今朝は晴れ。朝ごはんはパンとサラダとソーセージ。そういえば忘年会って今日じゃなかったっけかと思いつつ仕事場へ。実験があるから時間に気を付けないと。

ほぼ実際の使用環境と同じセッティングで状態遷移の様子を見ようという実験なもんだから、本当にこれで大丈夫なんだよねっていうのをしつこく考えてみることになる。で、やっぱりこれ大丈夫じゃないわとか、そもそも大丈夫にするために手を入れる予定だったけどまだやってなかったわとかを修正。おまけに今の基板だと測定のために MOSFET の上流側が必ず閉じてなきゃいけないけど、こっちの入力系統使う時に反対側をそうしとくと壊れる可能性がありそうというので考えてみたり。結局、将来はともかく今はタイムアウトするしか無さそうね、ということでそのように。ついでにタイマー周りをイベント検出と周りと同じようにマクロを使うように修正。

ざっと手元で動作を確認……って言っても片方ずつしか入力を試せなかったりはするんだけど。でもそれで確認出来る範囲では大丈夫、と。一旦動作中止してから 100ms で再起動して本当に大丈夫かっていうのも、現に大丈夫だったという形で確認出来て一安心。ということで表の小屋に物を持ち出して。

それでせっかく作ってもらったんで長めのケーブルに差し替えて設置が安定……は良かったものの、何か入力が変? って悩んでる間にコンデンサが煙を噴き始めて焦る。また逆差ししちゃったよ……電流量が小さかったからいきなり破裂するところまではいかなかったけど、ちょっとコンデンサの頭が膨れた。これ、大丈夫かな……って、まあ、普通に考えたら大丈夫じゃないし、大丈夫だとしても交換した方がいいのは自明。

と思いつつもそのまま使ってみたんだけど思ったような動作をしない。別の基板だったらどうだと自席で動作確認してた基板を持って来てみても同じ。壊れた結果、じゃ、ないのか。で、しばらく悩んでたけど、ふと繋いでる機器がそもそもそっちの動作に行く状態に無いよねっていうのに気付く。そりゃ、思ったように動かないわ。っていうか、そっちに行くと思い込んでたけど、正しく意図通りにそっちに行かずに待ち状態に留まってるだけだった。

何かインバータの出力が出ないというのは単にスイッチをオンしなきゃいけないっていうのを知らなかっただけでしたとかいうぼけを挟んだりしつつ、来週実験するのに行って欲しい方面に動くような状態にしておきましょうと動かしておく。で、そろそろ戻らないと週報メールしなきゃならないし、ということで戻ると何かあっちの人達はもう移動する準備してるな、と。

……置いていかれました。ありゃりゃん。店の確認は一応しておいたけど、どうもあの地図の場所にはその店無かったような、なんて思いつつ出発。見つからなかったらあきらめようかなんて思ってたけど、途中で追い付いて無事、到着。あの地図だと反対側のビルにあるように見えてたんだけどこっちだったのね。そりゃ、ちょっと眺めながら歩いた時にはわからないわけだ。開店時間じゃなかったからシャッター閉まってはずだし。

そういうことで忘年会。メニューはシンプルにお造り盛合せと寄せ鍋のみ。途中で出て来た菊菜は結局鍋の具で良かったんだか、何だったんだか。ちょっとお造り一部溶けきってないなんていうところはあったけど、概ねおいしい上に結構な量で満足、満腹。場の話題が希望退職についてだの、それに乗った後の五十台での職探しだのっていうのが何とも重いような、軽いようなではあるんだけど。秘密にしておいてと頼んだ本人が、人事からの許可出たからと大声で言いつつ書類を配って歩いてたとかいうのはなかなかひどい冗談。

終わって帰って、満腹を抱えつつ WWW 見たりゲームしたり。変な無茶受けはしなかったのにああも完全に負けるとひどいよねとか、またしばらく地味に動くしかないかなと思いつつ 29 レベルになりましたとか。

2011-12-16 00:50:17

今朝は晴れ。昨日の朝はくもりだったかも、なんて思ったりしつつ朝ごはんはパンとサラダとソーセージ。ほんのちょっと早く寝た分で微妙に体調がいいような、気のせいのような。

今朝の打ち合わせも中止というんで昨日疑問に思ったことを手近なハードウェア担当の人に聞いてみたり、そうしたらやっぱり書いてある通りが正解だから、ブレーカ落とす状態と落とさない状態は別物であるべしというのがわかったり。それで資料を直しておいて、と。

昨日いじったところが原因で動かなくなってたんで、やっぱりこれってば error prone でいけないねと思ったところを直してみる。enum とそれに対する表と表に載ってる関数っていうのが全部ばらばらなのはずっと恐かったん。で、表と関数定義は #ifdef out したのに enum はしてなかったんで変なところ見て死んでたっぽいというのが動かなかった原因。で、結局 def_event(name, detect, cancel, func, expr) なんていうマクロを定義してやることで逃げてみた。他のマクロで定義変えるようにして丸ごと #include っていう。とりあえず enum と表中の順序が違うとか、エントリ数が違うっていう事態はこれで起こらなくなる。とりあえず、こんなものかな。

それからこの先本格的なっていうか、より本物に近い状態での試験をやる準備に色々セッティングしてみるという作業へ。今まで電子負荷だったりした辺りに本物を繋げるようにするとかと合わせて、今まで無理矢理ごまかしてた辺りを真っ当にしようという。短いケーブル無理に使うんじゃなくて長いの用意してもらおうよとか、その程度だけど。

ばたばた今出来るセッティングをやるだけやって、ついでに先週バグってて失敗した実験をやってみる。うん、定常化電源で動いてただけあって今度はちゃんと動いた。ちゃんと動くと緊急停止動作だから止まる、とかいう言葉の綾は置いとくとして。

それで実験に備えて状態遷移を見直してみるとか、そうしたらちょこちょこ怪しかったり間違ってたりしたんで直すとか、ついでに遷移条件の判定を別に切り出した上で関数化したくなってそうするとか、そんなことしてたら遅くなったとか。遅いって言ってもまだ 19:30、でもいつも定時に毛が生えたぐらいで帰ってるからね……

で、京阪も閉まるよなと思ったら何か急にラーメンでも食べたいなという気になって晩ごはんは塩ラーメン。いつもはあっさりって方を食べてるところでこってりって方を試してみた。バーナーで焙った厚切り焼豚と青ねぎになるのね。ちょっとざらつく感じのスープ。とり塩なんて書いてある割には何となく魚風味を感じてみたり。後悔でみしてみるかっていう気分だったけど、これだと出来ないね。普通にちゃんとおいしい。あっさりの方がより好みだっていう話はあるかもしれないけど。

これだけだとちょっと足りないかなと、ねぎまと肝の串を買って帰る。シンプルにおいしい。で、後はだらだら、WWW 見たりまんが読んだりゲームしたり。6-0 から逆転勝利というのはなかなかいい気分。無理はしないこと、か。まあ、わかってることではある。

2011-12-15 00:39:48

今朝は晴れ。朝ごはんはパンとサラダとソーセージ。やたらと食べた上に変な時間帯に寝て、その上でちゃんと寝た時間は短めになったというのが原因か、何かひどく変な夢を見た気分。全然、覚えてないけど。どこかに探検に行くんでバスに乗ったとか、そのぐらいで。

メンテナンスが入ってどうたらこうたらというアナウンスが入ってた VPN は、今まで使えてた JVM が使えなくなったんで JRE 拾ってきてインストールするはめにはなったけどそれで無事、通信は出来た。冬休みの緊急連絡網に入れる項目を返してねとか、個人情報のとりまとめの返事まだとかいうのに答えてから真面目にお仕事。

色々起こり得るエラーをまとめたのがこんな感じというのをもらったんで、状態遷移に組み合わせることを考えるとどうなるかというのをまとめることに。今までの仮設定では故障が起こったら全部止めて復帰しないでいいよねという方針だったけど、全部止めるのはともかく復帰はするかもしれないよというのが大きく違うところ。……つまり、別段大して変わってない。新しく状態を定義しないと困るようなイベントも無いようだから、割と素直に遷移条件にマップ出来た。まあこのエラー関係とは別に状態増やしたところはあるんだけど。

そうやって資料をまとめてたら、後はちまっとしたコード修正を入れておくぐらいしか出来なかった。通信してるモジュールで相手の状態コードが返ってきてるからエラーだったら数えておきましょうとか、次の基板だと GPIO に入ってくることになってる信号をデバウンス込みで検出出来るようにしておきましょうとか。

それで帰って晩ごはんは鴨汁のそばに冷奴。昨日食べ過ぎたから控えめに。やっぱりいくら切り落しでも、これぐらい肉質が無いといけないね。タイミングによっては脂身ばっかりだから、鴨。

色々アップデートをかけつつ WWW 見たりゲームしたりと。鉄獄の 22 階まで降りてるんだからまあ行けるんじゃないのかとアゾクを倒してみたり柳じじいを片付けてみたりって、だから何で 23 階レベルが 22 階レベルより先に片付くんだ……

2011-12-14 02:58:13

今朝は晴れ。朝ごはんはパンとサラダとソーセージ。ああ、何か、妙に眠い……

逆刺し出来ないようにコネクタが付いてケーブルを外す時にはこの爪を押して抜く、なんていうのを確認して。で、今日は 15:30 には切り上げなきゃならないことだし、とブートローダをいじり出す。実際にロードするのはともかく、通常起動をプログラムロードとの切り替えを作っておくかなっていうことで。

ざくっと書きかけたところでちょっと動かそうとしたら問題を発見。まともに起動しないわ。ブートローダの方に制御が行った場合に何か起こってる風。GPIO 出力にデバッグ用信号を足して見たら、どうもリセットかかってる。条件分岐以前で HI に一度だけしてみたらパルス出力になるっていうのは、リセットかかってデバッグ出力が LO に落ちるからっていうのしか無さそう。

でもブートローダのコードをいじるのって、前に統合した上で動くのを確認した時以来なんだよね……うん、今日入れた変更が無くても落ちてるわ。でも、統合した時のままなら動くっていうのも間違いない。git bisect してみたら、結局昨日までは特に問題が無かったっていうのが判明。うーん、何だそれ?

動く場合と動かない場合とでマップファイルを比べてみると、スタックの配置が違うっていうのに気付く。0x12xx 程度からだったのが 0x2000 からに移動してるね。使用量は 0xdxx とかか。……で、リンカスクリプトでの設定を見るに RAM 領域の上限は 0x23ff。これか。スタック踏み潰してハードウェアトラップかかってリセット、かな。

昨日入れた変更で関係ありそうなのは、デバッグ用シリアル入出力用のバッファ長変更。ということで戻してみたらどうやら正解。スタックの配置場所が戻ってブートローダに制御を移した場合でもちゃんと動くようになる。まあこのバッファ、受信側は送信側よりはるかに小さくて構わないんだよねと使い分けるようにして対処。うん、とりあえずこれで。

それで改めて入れるつもりだった修正を導入。単に DIP スイッチ入力をデバウンスして使うっていうだけ。厳密なタイマー設定なんかはしてないんでかなりとりあえず。今思うとクロックの設定なんかもこの辺りの処理の後になってるから、思ってたようなサンプリングの待ち時間にはなってないんだな……ビジーループで待ちを入れつつ 10 回ポートの値を見て、6 回以上 HI だったらブートローダへっていうロジック。回路図を見てると DIP スイッチオンで入力は LO になりそうなんだけど、スイッチ接続してない現状で入力が LO なんでこうしておいた。どうせ本物は次の基板になるから、そっちはそっちで見直しがいるしね。

それぐらいで時間になったんで移動。社員集会ということで新大阪へ。えらく久しぶりだ……で、相も変わらず状況が厳しいままだなっていう話を聞いて。それで終わったら懇親会。会場が本社の事務所っていうからとくなもの無さそうと思ってたけど、仕出しを頼んで結構まともに晩ごはんになった。会費千円っていうのを考えたら十分以上にいい料理。寿司に揚げ物に焼き物にサンドイッチにプチケーキという感じ。他におつまみなものが少々っていうのもあったけど、普通に料理を食べてるだけで十分過ぎる程お腹一杯になった。

時間で終わって帰って WWW 見たりゲームしたり寝たり。お腹一杯だとちょっと横になりたくなったりするもので。で、思ったよりも本格的に寝かけて起きたら 2:00 過ぎてるとか。これ書いたら早いとこ本当に寝よう……

2011-12-13 01:16:07

今朝はくもり。晴れっちゃ晴れなんだけど、こう雲が多いとねぇ。で、朝ごはんはパンとサラダとソーセージ。いい加減靴擦れの跡も良くなってきたけどまだ傷は傷ということで痛いことは痛い。いい加減にしてもらいたいんだけど。何かろくに紅葉しないうちに散っちゃったなと近所の八重桜を眺めやったりしつつ仕事場へ。銀杏はまだしも黄色くなってたけどな……

状態遷移の大枠って本当にこんなんでいいのとかいう打合わせの後、入力が維持されちゃうのは負荷に繋いでるものが支えちゃうからっぽいという話をして、それから実験、の前に打合せでの指摘を含めてちょこちょこ資料を直しておいて。

それから実験開始、したらいきなり電源を逆差しして電解コンデンサを破裂させてみたり。いや、まあ、見事にぱん、ぱん、と。……間抜け過ぎる……気を取り直して別の基板を引っ張り出して、改めて実験開始。外の小屋でやった時と同じ現象を安定化電源使って室内でも起こせますね。で、出力の下流側だけでも切ると、変に維持されてる入力がちゃんと落ちる。これ、やっぱり逆方向に働いてますよという実験結果を相談相手に示したら、それじゃこの入力から他に切り替える条件をどうしようかという話になる。

電流が落ちたら今の実験と同じように下流側を切るようにしたら、入力がもう使えないレベルになってるっていうのがちゃんとわかるわけだ。下流側だけ切るんだと、MOSFET のボディダイオードで電流はそのまま流れるし。ということで、そういう風にしたプログラムで外で実験してみようかという話になる。時間が遅めだから慌ててコードをいじって。それで外に機材を持っていって、どうやらちゃんと起動するぐらいの状態に間に合った。でも間に合ったのはいいけど、思ったようには MOSFET が切れない。あれ?

もうちょっと待ったらいいのかと思ったけどそんなことは無く、という感じであえなく日没。自動で切れなくても手動で切れるようにはしておいたんだから、そっちを試せば良かったと思っても後の祭。で、自席に戻って定常化電源で様子を見る。こっちならオシロスコープもあるし、と GPIO にデバッグ出力を出してみたりもしつつ。うん、切り替えトリガのイベントを検出出来てない。何でだろうかっていうと…… 1s 毎に A/D 値採取してる気になってたけど、PWM に同期してない計測でも 1ms 毎じゃないか。それじゃ、5s 間なんて期間、電流がしきい値を下回るはずもないわ。100ms 間にしてやったら思ったような感じで動くようになった。

しきい値自体はどうしようねともうちょっと実験をして今日はおしまい。帰って晩ごはんに豚汁うどんと冷奴。今日は週末よりもあったかい感じだし。干し椎茸が無いとちょっと残念な感じ。

後は WWW 見たりゲームしたりまんが読んだり。22 階まで降りてみた、だけ、とか。中間に間抜けっぽい負け方をしてたけど最終的に勝ったから良し、とか。

2011-12-12 01:18:48

今朝はくもり。朝ごはんは豆と玉ねぎ、舞茸、ソーセージのトマトスープでフジッリ。もうちょっと煮込んで、の途中で焦がしかけたりしつつ。本当に焦げなければ案外平気って言えば平気。でも変に固形物が出て来るからやり過ぎないに越したことはない。

WWW 見たりゲームしたりまんが読んだりしつつぐだぐだして、夕方買い物ついでに古本屋に寄って。それで何かちょっと妙に遅くなって帰ってきて、晩ごはんに舞茸、ズッキーニ、ローストビーフのトマトソーススパゲティ。やっぱりこのローストビーフおいしいんだよな。あんまりずっと食べてると飽きそうではあるんだけど。

で、昼間の続きな感じ、と。迷宮のミノタウルス倒したし 15 階レベルのクエストも片付けたしって、何で 18 階レベルのミノタウルスが先に片付いてるんでしょうかとか何とか。それと、力の杖がやたらと強いな、と。視界内に 150 ダメージって、今ぐらいの深度だと結構な敵が一掃出来るわけで。

2011-12-11 01:10:13

今朝はくもり。朝ごはんはプッタネスカ。昨日の晩に WWW で要求しといた郵便物の再配送は無事、12:00 - 14:00 という指定時間帯通りに完了。 12:30 前に来たから割と早かったわね。

何か天気が今一つだわ足は痛いわいつも行ってるゲームセンターが開いてる保証無いわだけど、結局とりあえず普通にいつも通り恵美須町まで出てみる。風呂場の明りが切れたんでそっちの確保もあることだし。で、しばらくぶりに東側の裏通りを歩いてみたり。二階が証明器具ねと入口の案内板を見て上がったら、LED 電球は一階に展示中という掲示があったりしつつ、とりあえずそれなりなのを買っておく。まだ高いな。

割とおいしかったラーメン屋はいつの間にやらこんな店に、とか他にもそんな感じの店がもう一軒とか。それに引き換えここのかつ屋もこっちの喫茶店も長いわねとか。そんな感じで適当に抜けて、適当に西側に出て後はいつも通りで。なかなかにばかっぽいゲームの匂いにくらっとしたりしつつ、本屋でまんがを一冊買ってからさて、まだ改装中なんかな、と。

で、もうとっくに開店してたんでゲーム。普通のゲームは三階になったのね。地下一階から三階まで使うようになったか。三階の照明はちょっと暗過ぎてどうかと思わなくもない。まあ、ゲームする分には反射光とかなくていいんだけど。ということでちょっと間が開くとたちまちのうちに下手になるなというのを散々実感してみたりする。1 面の全然何ていうこともないところで墜ちた末に 3 面ボスの最初の攻撃で倒れたとか、レベル 10、15、20、30、40 とばんばんやられて 50 の冒頭で終わったとか。

コンビニに寄って古本屋に寄って、帰る途中で晩ごはんにラーメンと餃子食べて。極細麺の豚骨スープ。焙ったっぽい何か脂。久留米、熊本なんかの濃厚なやつという話。確かに。このタイプ、ちょっと変だとすぐ食べてる途中で嫌になってくるけど、最後までおいしく食べられたんだからきっといい方なんだろう。餃子はもうちょっと、焦げ目がぱりっとしてた方がおいしいかなっていう気はしたけど。

何となくもうちょっと寄り道してたらえらく遅くなったりしつつ帰る。買い物したら何故だか手に入れた覚えもないコインが二枚、小銭に混ざってて悩んでみたり、COMS ガーデンで地上に出たら、空を撮ってる人がいて、それで皆既月食を思い出してみたりしつつ。煙る月か。天頂近いもんだから見てると首が痛い。

で、買ったまんがを読んだり WWW 見たり、微妙に少なめなラーメンはこのためだったのだとばかりにアップルパイの残りを食べたり。

2011-12-10 00:35:30

今朝はくもり。朝ごはんはパンとサラダとソーセージ。またちょっと寒くなったような。昨日の晩はだいぶ冷えたし。

今日は実験出来るぐらい天気良くなりそうな、と思いつつそれなりに回復してくるまでは細々、あれこれ。UART での通信に使ってるバッファから 1byte 拾ってくる関数が、本当に '\0' があったのと空だからそうしたのと区別付かないっていうのは何だよねということで直すとか、他で使ってるコードと別に前に使ってた UART 通信コードに依存してる未テストな旧式機器向けコードをまとめて削るとか。前に対応しておいて欲しいって言われたけど、全然使わない上に同系統のコードがあるからねぇ。本当に必要になったら最近のフレームワークで書き直した方がいいでしょ、これ。

出荷前の製品テストに使う動作モードが必要で、なんていうのを昨日の打ち合わせでちょっとだけ詰めたんで、その実装をどうしようかと大雑把に悩んでみるとかしつつ実験を見守る。さすがに上着無しだと外は寒い。おまけにちょっと雨が降ったりもしたし。で、まあ、それなりにどう実装するかを大枠見当付けたし、実験の方も大体いい感じでしょうという結果。何だか良くわからないけど入力が維持出来ちゃってるねっていうのについても理屈を思い付いたし。

ということで今日はおしまい。帰ってみたら駅前の温度計が 6℃ とか言ってます。何か寒いと思ったんだ……鍋も食べたし昨日はおでんだったしどうしようと悩んだ結果、ここしばらくカレーを食べてなかったなということで晩ごはんはカレー。何かあんまり根拠無いわけだけど。相変わらずどこが赤身だという感じの霜降りがかった切り落しを使用。フライパンで作ってると、あんまり塊じゃ上手く煮込めないからねぇ。かと言ってカレーに積極的に使いたくなる鍋も無いし。焦げると面倒。

WWW 見てゲームして、買っておいた紅玉のりんごパイを半分食べて。甘過ぎずさっぱりしたりんごにさくっとパイ生地。幸せになれます。たとえちょっと地下を往復したぐらいじゃ大して何も起こらなかったり、えいやで仕掛けたのが大きく裏目に出て大負けしたりしてても。

2011-12-09 00:44:07

今朝は雨。朝ごはんはパンとサラダとソーセージ。京橋までは平気だったけど、向こうの駅ではさすがに傘がいらないレベルはとうに過ぎてた。鬱陶しい。

打ち合わせに持って行く資料を一部だけ印刷しようとしたら、壊れかけで両面印刷専用っていうプリンタが全然まともに印刷してくれなかったり、それでまともな方のプリンタに吐かせたらこっちは両面印刷ユニットが無かったり。まあ、いいか……で、このモードってこんなことしてもらうつもりというのを聞いたり、持って行った資料でこんな状態遷移させようかと思うのだけどどうでしょうというのに概ねそんなものかなという感想をもらったり。場合分け一つ分の状態が抜けてたから足さなきゃねというところでおしまい。

で、どう足したもんだろうとちょっと考えてみると、状態を一つ足すだけで十分っていうのがわかって付け足して、おまけにブロック図だのスイッチを構成する MOSFET が二つあるのですよとかいう説明図だのも付け足してメール。次の打ち合わせまでに正常系についての状態遷移はそれなりに固まると期待出来る、はず?

天気悪くて実験も出来ないことだということで、サブマイコン相手の UART 通信コードをまとめてみたり。デバッグ用シリアル入出力で使った仕組みと同じ。割り込みハンドラはともかく、FIFO の実装は共有出来るよねと括り出して、ついでにバッファそのものは別に確保した領域を与えるように変えてみたり。送信と受信で必要なバッファ長は全然違うことがあり得るんで、っていうかデバッグ用シリアル入出力では明らかに受信バッファは送信バッファよりはるかに小さくて構わないんで。メモリ足りてるから気にせず大き過ぎるバッファを与えてるけど。で、実際に通信内容なんて何も決まってないもんだから、とりあえず一行毎にエコーバックするコードでちゃんと動くことを確認。まあ、もう使ってるコードだからあたりまえって言えばあたりまえなんだけど、ちゃんと動いた。

そんな感じで今日はおしまい。帰ってミモレット食べつつ晩ごはんのおでんを仕込む。三河の方のみりんってみんなこの四角い瓶なのかね。ちょっと持ち難いんだけど。片手で持つのが悪い? とまれ、ちぎり天おいしいです。

後は WWW 見たりゲームしたり。またまた地道な行動に戻る感じ、でも 15 階まで行ったけどね、とかな。

2011-12-08 00:31:46

今朝は……くもりでいいか、あれは。朝ごはんはパンとサラダとソーセージ。妙に愛嬌があるからすの人達を横目にしたりしつつ仕事場へ。

打ち合わせするっていうから実験に行くわけにも行かない、ということで別に作ってもらってあったブートローダとの統合作業を始めてみたり。そもそも統合する必要があるようなものじゃないはずではあるんだけど、まあ、別に作ってもらった結果だけもらうっていうと、素直にそう作ったっていうのを踏襲せざるを得ない。扱い易くなるところがあるのも間違いないことではあるし。

さすがにアプリケーションとブートローダでディレクトリ分けておきたいわな、ということでしばらく悩む。git と svn を個別に使うような変なことしてるもんだから、ファイルを移動してからどうこうっていうのが面倒臭い感じがあって。で、結局、統合するのに関しては、ローカルな git リポジトリでの連続性をあきらめた。svn cp で新しく trunk 作って、それをチェックアウトした上で git リポジトリを被せる方向。git svn でやると git でのコミット単位で svn にもコミットされちゃうのがちょっと。

仕様書としてしっかりまとめてから渡すの無理だから、随時その場ででっち上げては文書化する方針にするよ、そういうののためにも毎日短時間の打ち合わせ入れようか、という何とも言えない打ち合わせを挟んで続き。割り込みハンドラのラッパーを前にちょっと試したみたいに goto にしてしまうとか、ついでに名前も変えておくとか、アプリケーションの方は出来る限り書き換え不要なようにするとか。そのためにリンカスクリプト書き換えたのはいいけどアドレス指定するべきところに DEFINED なんて述語を残して objdump で見て初めて気付いてびっくりするとか。

中間ファイルを吐くディレクトリを指定するプロジェクトオプションを指定するとリンク出来ませんっていうので悩む。IDE に出てるリンカのコマンドラインを見る分にはちゃんとそのディレクトリも含んだオブジェクトファイル名になってるのに、見つからないから読めないと宣う。ワーキングディレクトリはプロジェクトルートのはずで、だからこのファイル名でいいように見えるんだけどな……ワーキングディレクトリが変わるようなオプションっぽいのもあったんで色々試してみたものの、結局どうにもならなくてあきらめた。サブディレクトリが無いプロジェクトでオブジェクトファイルがだらだら並んでるのはあんまり気にならないけど、あるとすごく気になる……

とまれ、多分大丈夫だろうと思ってはいたけど実際にどうだかはちょっと不安だったラッパーの書き換え辺りも特に問題無く、アプリケーションに制御が移る方ではちゃんと今まで通りに動くことを確認出来た。PWM トリガの A/D 割り込みがあるのに落ちないんだから、まあ多分スタックオーバーフローするとかそういうのは無いね。ホスト側が用意出来てないからプログラムの書き換えは確認出来てないけど、手でぽちぽちブートローダが使うシリアルポートを読み書きして、ブートローダに対するコマンド送信と返事の受信が出来てるのは確認した。何か怪しいけど。

そんな感じで今日はおしまい。バイクが飾ってある電気屋はいつ見ても変だけど、その上シートの上で猫に丸くなってられると和んでいけない……で、帰って晩ごはんにかき鍋とおじや。酒もみりんも無くなってたのは残念な感じだけど、瓶を洗った水を使ってちょっと砂糖振ってでとりあえずごまかせたっぽい。ああ、かきがおいしい。

後は WWW 見てゲームして、で。ようやくボルドールを倒したはいいけど、サンダーボールを乱射してたらうっかり耐光耐暗の指輪を壊してしまってがっかりしたり、それでもうちょっとうろうろしてたら光と影の盾を拾えてほっとしたり。

2011-12-07 01:22:55

今朝はくもり。朝ごはんはパンとサラダとソーセージ。京橋-鴫野間の人身事故とかで電車が遅れてたもんだから、いつもより五分ぐらい早く着いた……あれ? 足が傷まなかったらもうちょっと早く着いてたところ。

タイムスタンプ付きで記録しておいた TeraTerm のログをどうしようかと思いつつ、とりあえず適当に時刻とラベルと値を読めるようにするところから作業を開始。$ でマッチしないのは \r のせいか、なんてやりつつ。で、個別に拾ってたら面倒臭くてしょうがないなということでまとめて拾って CSV にしてみたり。一行に一変数表示してるから時刻も本当は変数毎に結構ずれるわけだけど、一秒毎に出してるデバッグ出力だからということで最初の変数の時刻を代表にしてやって。で、最初は時刻が秒単位で変わったところで切ってたけど、それだと誤差分でたまに切れるから空行吐いてるのにマッチさせてまとめるようにしてみた。うん、安直。

生データと物理値との両方を一つのファイルにまとめておきたくなって、そうすると CSV からまとめるのは面倒だからと spreadsheet を使ってみたら、head -n 24000 ぐらいから作ったワークブックなら大丈夫でも、これが 48000 になったら Spreadsheet::Workbook#write が何やら例外を吐いて落ちるんであきらめたりしつつまとめる。メモリ不足だか何だか、小さいワークブックなら平気なところで何かが nil になるらしい。GC 走った結果? まあそれはともかく、グラフを描いて、全部まとめると読めないからばらして。それで大体昨日把握してた通りな感じで動いた結果が見えてる様子なのを確認。

ソフトウェア担当でちょっと打ち合わせなんていうのを挟みつつ、何か一部測れてないのについて調査開始。二系統ある入力の、片方の電流が全然測れてないように見えるのだな。っていうか出力の変化に全然応じてない辺り、明らかに変。電圧の方はちゃんと見えてるよねっていうのを確認してから見てみると、電流計測回路の出力の時点でもう変だっていうのが見えてくる。バイアスかけずに非負整数の結果しか出て来ない A/D 変換器に突っ込んでるのに負の値になってますよ?

他の基板だと、誤差が大きいもののそれなりにまともな値を返してて、実際それなりにまともな A/D 値を得られてるのと、全然意味不明な固定値を返しててさっぱり測れてないのとを確認。……こっちの入力全然確認してなかったから割とひどい感じだな……

そんな感じでおしまいにして帰る。晩ごはんは野菜のソースでステーキ。半額って目に入ると手が出るね。しばらくぶりで肉を食べた感。

後は WWW 見たりゲームしたりと。何とも弱々しいだめっぷりとか、結局強気になり切れずに 12 階までで止まるとか。思わず昼間に地上に戻ちゃったけど暗闇の杖を喰った魔道具術師だと安心。あんまり出歩く気にもならないから、すぐに帰還するけどね。

2011-12-06 01:12:27

今朝は晴れ。朝ごはんはパンとサラダとソーセージ。直接傷に当たらなければまあ何とかなるね、と古い靴で出る。微妙に歩き方が変にはなるけど。完全に平気とまではいかないからねぇ。

大体準備は出来ている、ということで外での実験を早速。まあ、もうちょっと置いといた方がいいかなっていうところはあったりするわけだけど。それに、データ取り出してからはほぼ放置になるから暇っていう話はあるし。だから、もう一系統入力が増えた場合の状態遷移を詰めてみたり、それで仮のコードを書いてみたりする暇がある。何か妙なアーキテクチャになった気はするけど、こんなものはこんなもの、かな……

それで、何でコード書いてからやるかなという意見があるような気もしつつ状態遷移図を書き起したり。この PC VISIO は入ってないのだね、ということで EXCEL でお絵描きという不毛な作業をするはめに。コネクタで描くと微調整出来ない風とかで普通に線を引くとか。何か、こう、あれな。

入力を維持するためのデューティ制限がかかってるとはいえ、いくら何でももう入力無いはずなんだけどなという状況になってもまだ維持されてたりするのにちょっと悩む。まあ、本当にこれは無いという状況になってから止めたら即座に落ちたから、何か変なことになってたのかな、とは思う。コンデンサに貯まった電荷で逆流気味にどうにかなってたとか、そんな。憶測だけど。

外で何か大きなもの運び込んでるなと思ってたけど、見事に台車を通す隙間を塞いでくれました、ということでちょっと撤収に苦労してから帰る。それで晩ごはんはクラッカー少々に冷奴と豚汁うどん。明らかにそのクラッカー少々は余分です。舞茸入れたけどあんまり干し椎茸と区別が付かないね。多過ぎて、混ざり過ぎて。

後は WWW 見てゲームしてまんが読んでと。思い切ってイークの洞窟の 12 階まで降りてみました、って 13 階まで降りてボルドール倒した、じゃなきゃ大した思い切りでもないわな。

2011-12-05 00:59:58

今朝はくもり。朝ごはんは玉ねぎ、パプリカ、ズッキーニ、パンチェッタのトマトソースでフジッリ。まともにショートパスタなのも久しぶりな感じ。何かニョッキづいてたからな……ちょっと日が差したりもしてどうしようかなと思うんだけど、まあ足も痛いしということで部屋でお休み。

本当に地道過ぎる展開でどうしてくれようという感じながらも別段どうにもならないんでそのままとか、無理を通せば道理は引っ込んだかもしれないけど通らないとそのまま叩き潰されるよねとかしつつのんびりして、夕方買い物に出る。買った靴をまたはいてみたけど、昨日靴ずれでひどいことになった直後だとひどいことにしかならないねという結論。傷になってるのが直らないことにはまともに歩けないわ。しばらくは直してもらった靴をはいておこう。あっちならそもそもこんなところに当たらないし。

それでいつもの倍以上時間をかけて往復するはめになったりしてからしばらく寝る。起きたら 21:00 ぐらい。そこから準備して晩ごはんはプッタネスカにズッキーニを放り込んでみました、な感じのスパゲティ。それにクラッカー少々、というか多々。何かばかばか食べてしまうな、このクラッカー。だいぶお腹一杯になっても食べられてしまうところがある。

後はそのまま WWW 見たりゲームしたりの続きで、昼間やったのと大して結果も進捗も変わらないけどねぇという感じ。何かいいもの手に入らないかな……

2011-12-04 01:43:07

今朝はくもり。朝ごはんはプッタネスカ。12:30 ぐらいのつもりで起きたら 13:30 ぐらいだったりするとびっくりする。これだから、丸い目覚しは。鳴らしてたら間違えないけど、何も無い休みに目覚し使って起きたくないし。

地下鉄で恵美須町に出てぶらぶら。何か今日は妙に気温が高いような。すぐ暑くなる感じ。何だか南の方まで呼び込みが増えてるのは、店も増えたか何かでしょうか。で、本屋でまんがを一冊買って、ゲームしに……行ったら今度は全面改装とかでいつもの店は閉まっていたのでした。近所の他の店だとやるゲーム無いっていうのがわかってるから、そのまままたコンビニとか古本屋へっていうコース。

微妙に雨に降られかかったりしつつ帰る。途中で晩ごはんに黒ごま坦々つけ麺とか。辛いけど辛過ぎる程ではないところ。細めの麺なのがつけ麺にしては珍しいかな。トッピング風に乗ってる鷹の爪は残してしまった。いつもなら、まあ食べられるよねって食べた上でその後食べるものが全部辛くて困ったりしてるところだけど。

で帰る、と。何か妙に左足のかかと近辺が痛いと思ったら、派手に靴ずれした上で水膨れが潰れてたりする。血豆が潰れて血まみれとかよりはまし? 24.5cm はちょっと小さ過ぎたかね……で、後は WWW 見たりゲームしたりまんが読んだり。ようやくレベル 20、っていう以外に特筆するところが無いのが。地味で地道でしょうがない。

2011-12-03 00:23:44

今朝はくもり。朝ごはんはパンとサラダとソーセージ。また微妙に電車が遅れてたけど、今日は微妙過ぎて全然仕事場への到着が変わらない程度。

昨日の資料をまとめて、ちょっと微妙に微妙なところを直しておくとして。逆流制限のために適当な小さい値でデューティ制限止めるようにしてたけど、このしきい値 0 で構わないなとか、同じ UART を共有するから同じ周期で動かなきゃいけないデバッグ用シリアル入出力と外部機器通信とは同じカウンタを共有するべきでしょうとか。

これってばらしたり組み立てたりするのに何か注意いりますかというのに、正負の端子両方に同時に触ったりしなければ大体平気という返事を得て外での実験のために運び出し。やたらと重いもんだから、運び出すだけで気力が切れて残りは午後にやろうという気になったりする。

で、午後になって残りの機材も運び出して実験開始、と言いつつも外部機器の方がこっちの出力を受け付けない状態になってるもんだから、適当に状態変化を待ちつつ細々、あれこれ。ブートローダのホスト側をでっち上げるのが思ったより面倒臭そうでやっぱりやめようかなっていう気になるとか、そういう。

まだ早いけどそろそろいいかなっていうぐらいにはもう夕方。で、ただでさえ天気悪くて状況が悪いのに夕方になっちゃね、ということで全然だめな感じ。これは月曜日に天気がいいことを期待するところか、と思いつつもうちょっと待った上で撤収。この重いのは置いといていいですよね、というのを確認して。さすがにこれを実験のたびに動かすのは大変に過ぎる。

で、適当に事務処理だの何だのの後で帰る。思い立ってように靴を買って、ついでに底が割れてるわかかとは斜めだわな今の靴を修理に出して。買ったのが六千円弱、対して修理代が四千円ぐらい……まあ、本体は割と何ともないから、直せるなら直したい気はするわけだけど。こういう修理でどれぐらい保つか、だ。晩ごはんは野菜のスープと餃子。ちょっとフジッリ入り。やっぱり別に茹でてから混ぜた方がおいしいわね。厚めの皮がもちもちとする餃子がおいしい。

後は WWW 見てゲームしてまんが読んでちょっと寝て。地道過ぎて泣けてくるな、しかし。

2011-12-02 00:25:50

今朝くもり。朝ごはんはパンとサラダとソーセージ。たまに電車で起きたままでいると、いつの間にかきれいに紅葉してるところがあったり柿がたわわだったりする。休憩室から見える東の山も茶色くなってきたし。でも、茶色なんだよな……

状態遷移の確認も兼ねてデバッグ用シリアル出力の様子を眺めつつ、ブートローダいじるのにホスト側をどうしようかと考えながら簡単なスクリプトをいじる。とりあえず .hex ファイルのパーズぐらいやっておこうか、ぐらいな。unpack の h や H ってどういう動作をするもんなんだっけと思いつつ、結局正規表現でばらしてみるというのも良くあること、と。前行のアドレスに前行のサイズ足したのが今の行のアドレスに等しかったら連続したブロックの一部なんです、とか。拡張アドレス示してる行が前にあったら今のブロックのアドレスに前の行のデータを 16bits シフトして or しときましょうとか。実はアドレスは半分ですとか。データも 1byte 削る必要があるみたいねとか。まあ、細かいところはまだまだ。

そんなところに展示会の準備が入る前にやってたことの続きをいい加減やろうかという話が湧いて、とりあえず緊急停止条件で実験プログラムが安全に止まるのを確認してみる。まあ、大丈夫か。微妙に妙な挙動に見えるところもあるけど、本当にどうしようもなくおかしいかって言うとそういうわけでもなかったりするし。デューティ制限かかかるぎりぎりの入力になってるからねぇ。ぎりぎりでなくなるようにすると、普通に見えるようになるし。

シリアルポートのアクセスには ruby-serialport じゃなくて serialport を使うんだなっていうかこっちがコードベース引き継いだ最新なんだな、なんてやったりしつつ今日はおしまい。COM5 なんてないというから /dev/ttyS4 か、なんて。結構頑張ってるよね、Cygwin。

それで帰って飛んだ袖口のボタンを付けるのに白い糸が無いから黄色でいいやと謎なことを思ったり、充電切れの PHS を充電しようとしたら最初の内は反応が何もなくてちょっと焦ったり、ブリー食べつつぼんやりしたりしてから晩ごはんに麻婆豆腐。ちょっとぼんやりした味になったのは、豆腐の水切りを忘れてて時間が足りなかったからか、椎茸戻すのに使った酒が多過ぎたか、パプリカから水が出たか何かか、そんな? 何で麻婆豆腐にパプリカとかいう疑問は置いておくとして。

後は WWW 見てゲームして、な。勝てると思ってダブルかけたらダイス目含めて一手差負けっていうのはしょうがなくても、無理っぽいなと思いつつリダブル受けてゲームどころかマッチ丸ごと落としそうになるっていうのはよろしくないですね。虹色のモーニングスターなんて無理して買ったからちょっとは攻撃力も安定したけどまだまだだな……

2011-12-01 00:54:17

今朝は晴れ。朝ごはんはパンとサラダとソーセージ。何となくあったかいんでいい気分、と言いつつ宝塚線で霧が出たのだよ、と電車が遅れてるのは面倒。三分だけど。

時間がかかる状態変化を見守りつつシリアル入出力っていうか主に出力の方が真っ当になったことを確認しつつ。昨日の修正で直ったと見ていいみたいね。トランスミッタ蹴るタイミングはもっと遅くていいっていうか、遅い方がいいはずではあるけど。そこまでに出力用意するのが間に合わないと切れる上にタイミング遅れるから。

で、それはそれとしておいて、ブートローダ回りのことをちょっと調べる。割り込みベクタがブートローダの領域と被るからアプリケーションで用意した割り込みハンドラ使うために固定位置にラッパーを用意して、なんてしてるんだけど、アセンブラコードで書いてあるそのラッパーが割り込みハンドラ属性付けた関数でやってるコンテキストの保存をやってないような気がしてならないんで。C で書いて属性付けた関数だと何がしかレジスタの保存と復帰をやってるよなっていうのを確認しつつコンパイラのマニュアルを読んでみたりする。やっぱり、本当なら適当にやらなきゃいけないはずっぽい。ふん。

ラッパーは本体呼び出して割り込みからの復帰で帰るっていう構成。これ、本体に飛んで、本体に割り込み属性付けておくことでコンテキスト操作と割り込みからの復帰をやらせた方が良さそうに見えるな。rcall と retfie の組み合わせと goto とで命令長同じだから細かいところを考えないで置き換えて構わないはずだし。それで割り込みハンドラが動くっていうのを確認したら、実際にマージする時にはそういう風にしておくことにしよう。

で、そっちの実験が今、時間かかる検証してるせいで出来ないから、次の基板向けのちまちました修正を準備しておくことにする。ポート配置が変わったりする分をいじるだけっていう。確認してみると、どうも今度の基板は今ののマイナーチェンジで済ませる予定っぽい。少なくとも、I/O に関しては。となると、わざわざ更にファイル切り分けるっていうのもかえって面倒かな。ハードウェア依存部分と非依存部分にわけようかと思ったりもしたんだけど。

現状でわかってるのがポート割り当てだけっていうと、実際のところはコンパイルオプションの追加と変わったポート設定の切り分けぐらいしか出来なかったりする。まあ I2C 接続の I/O エキスパンダ越しにいじってた LED が GPIO に直接繋がるようになるからその分の下回りを書き換える、なんていう話はあったけど。7seg LED は無くなるんだっけとか、何か LED のポートが二つ足らない気がするとか思いつつ。帰ってから思い出したけど、その辺はサブマイコン載せるついでにそっちでやらせるようにしたんだったかも。明日確認しよう。何か足らないよってメール出しちゃった後だけど。

そんな感じでおしまいで、帰ってぼけっとしたりの後、晩ごはんにとり汁のそばと冷奴。気温高めだから。たけのこも片付くし。片付けるのを優先すると、ぜんまいとたけのこでやけに具が多くなったりはします。

後は WWW 見てゲームしてと。鉄獄行くの忘れてたなと行ってみたけど 6 階のランダムクエスト片付けた時点で大した収穫がなくってしょんぼり。理力の武器が手に入ったところで魔道具術師は MP 無いから全然攻撃力上がらないのだよね。MP あると威力 3 倍ぐらいになるのに。残念過ぎる……

2011-11-30 01:25:22

今朝はくもり。朝ごはんはパンとサラダとソーセージ。気温は高めか。すぐ晴れてくるような具合に見えて、今日はそんなことなかったり。この時期、本当にくもりの日と明け方だけ雲が広がってる日の区別は難しい。

昨日思いついたことをとりあえず試す方向でシリアル入出力いじりの続き。デバッグ用に過ぎないからどうでもいいって言えばいいんだけど、他の用途で使う UART に応用するかもしれないから追求出来るところはしておこうよと。とりあえず出力バッファが空の時にはトランスミッタを蹴らないようにしてみたけど効果無し。まあ、これはこれであって悪くないから入れておくとして。

バッファが一杯になった場合のことを考えてみるに、単に出力が切れるだけで、タイミングが乱れたり化けたりはしないはずなんだな。実際、バッファ長を半分にしてみても切れるべき辺りで切れるだけで変なことにはならない。っていうか、かえって調子はいいぐらいかも。

化けるのはともかく、タイミングがずれるのは多分、蹴った時にバッファが空だったっていうことだよね。タイムスライス毎に一回しか蹴ってないから、そこで外すと間が開く。それじゃあっていうことで、トランスミッタが動いてなくてバッファにデータがあったら毎回蹴ってみることにしたら、これは飛ばされるデータが増えてるように見える。バッファが詰まってる間は UART TX の割り込みで 1byte ずつ連続で転送し続けてるけど、それとレースになっちゃうのかな、多分。

バッファにデータを詰める時に UART TX enable から十分間が開いててトランスミッタが暇そうで、連続した転送の最中でもなかったら……という風にしてみたけどまだ微妙。でも何か、ある程度動くと安定するようにも見える。連続した転送の間 GPIO に HI 出力するようにしてみたら、一回分のデータ転送で済むようになってから。そもそも最初の方で二回分転送してるような時間がかかってるのが謎と言えば謎なんだけど。

……で、それを見ててふと思う。化けるのって、タイムスライス切れで別機能に使うために UART 一旦切る時に 1byte 転送の途中なんじゃないかと。マルチプレクサ切り替える時かもしれないけど、とにかく 1byte の中間で切れたらそりゃ、化けるわな。本当だったらそんなタイミングで切り替わるわけはないんだけど、ちょっと手抜き実装してるせいで 1ms ぐらい割り込み外と割り込み中の 1s タスクの周期が違うのは知ってる。知ってたら直しておけばいいのにという話はある。

ということでそこを直してみた。サイクリックなカウンタがちゃんと設定した周期で周るようにしただけ。ついでにそういうカウンタが二つあったからインライン関数にしてしまって。……何かこれだけでだいぶ良くなった気がする。そもそも昨日の時点でバッファが溢れてなくてトランスミッタを蹴るタイミングが一回分の出力貯まった後だったら、タイムスライス切れ前にデータ転送が終わってバッファは空になるっていう作りだったんだよね。それで化けるから悩んだわけだけど……これで十分、かな?

後は作ってもらったブートローダの使用例を眺めながら、どういうことなんだかを真面目に考えてみたりでおしまい。ああ、ちゃんと読み飛ばしたりしてるし、割り込みベクタと割り込みハンドラと実処理関数の関係も資料通りだったか……で、帰ってのんびりして晩ごはんにホルモンと野菜の炒めもの。何だかやけに茶色いのは玉ねぎとたけのこと黄色のパプリカじゃしょうがないか。オイスターソース風味だし。それに豆板醤少々、甜麺醤少々、花椒少々。味付けホルモンの漬け汁だけだと足らなかったんで。そしたらちょっと濃過ぎたかもっていう。ホルモン 120g ぐらいが案外少ないっていうか、だいぶ縮むわね。

後は WWW 見たりゲームしたり。勝ったけど解析見たら確かにそっちのがいいねという手が多数見えるのがあれとか、とりあえず地味に普通に回れる街村を回れるようにしてみたとか。もうちょっといい武器が欲しいな……

older <-

goto

hint can be:

Tags

old

2007-05 -- 2006-12

ゲーム関係の古い記録

before 2005-12