2018年5月31日木曜日

【にわかAVマニアの流用】 Buletoothスピーカーを製作の件

皆さんこんにちは.にわかAVマニアのヒラサカです.

ベテランAVマニアの各位におかれましては春のオーディオシーズンを愉しんでいらっしゃることと存じます.

遥かなる太古の時代、ラジカセっていう聖遺物が流行したのをご存知の方は、ベテランAVマニアの中でも老齢な部類でありましょう.(BCLってのもあったが何であんなのが流行したのか、意味わからん)

原宿だか代々木公園だかに出没していた竹の子族の人々の写真にはアスファルト上に置かれた巨大なラジカセが見られます.ひら的には「おお~っ聖遺物じゃ!」と、そっちに目が行くんです.
↓そして、あの頃の電池と云うと、すぐに消耗してしまうナショナルの赤い単一電池でした.カセットのガバナモーターに常時300mAぐらい取られていて、その残りがアンプに廻ってくるという、内部抵抗の高いマンガン電池にはキツーイ使われ方だったと思われます.
電池がそんなで、しかも屋外ですから、竹の子族のスピーカーはちゃんと鳴ってたのかよと、心配してしまいます.


ところで現在、ポータブルスピーカーというとPCに合わせた小型の製品ばかりになってしまいました.
かつてのラジカセぐらいのサイズ(50cmぐらい)でOKなので、リビングの出窓にひょいっと置いて使えるBluetoothスピーカーって無いかしらと探しても、そういう製品は多くないです.SONY SRS-X99あたりはツボですけど、最安6.5万円もする.チト高価すぎる.
ホームシアター用スピーカーは大き過ぎるし高価すぎて対象外ということで.

仕方ないから廃品利用で作ってみました.

↓サブウーハーは古いホームシアターHT-K31のサブウーハーを流用です.
↓LRスピーカーは、先日の当ブログで書いたParcAudio DCU-F101Gを使用.実をいうとエンクロージャーの高さ寸法はサブウーハーに合わせて作ったのでした.
↓Bluetooth 2.1chアンプは、先日の当ブログでレポした盛り盛りにしたもの.TPA3116というD級アンプICが載っています.
↓こんな感じでベッドサイドに置いて使ってます.大きさはW500xH300ぐらい.
音はスマホから飛ばします.寝る前に音楽を聴いたりしています.
↓LRスピーカーは天板と一緒に外せます.めんどくさいので塗装はしてません.
↓裏側はこんなかんじです.
ちなみにACアダプタは、古いVAIOのACアダプタで19.5Vのを流用.

それなりにマトモな音は出ます.
竹の子族の路上のラジカセよりは数段マシかと思います.

かしこ

2018年5月30日水曜日

レオパレス アパート天井裏の部屋区切りが無い件

今日のニュースで、レオパレス21が施工したアパートに、天井裏の防火壁の無い物件があり、それは法令違反であり、レオパレスはお詫びしました、、、というのがありました.

天井裏の防火壁はこの図がわかりやすいです.天井裏防火壁の無い物件では、火事の延焼が速いという図です.
防火壁といったって石膏ボードを天井まで延ばして施工する程度ですから、延焼を遅らせる程度の効果しかないと思いますが... (防音効果も期待される)

10年ぐらい前にシェアハウス経営が流行しました.
普通の戸建てを部屋貸しする手軽さゆえに参入が容易だったのが流行を後押ししたと思っています.それと当時はデフレが酷かったので家賃が安いシェアハウスがもてはやされたという事情もあったんじゃないかな?

しかしながら、フツーの戸建てには天井裏の防火壁なんか無いです.やがてシェアハウスにも法の網がかかって天井裏防火壁が必要だとされ、シェアハウスビジネスへの参入障壁は高まったようでした.

天井裏の防火壁なんかたかがそんなもんだとわたしは思っています.有るに越した事は無いが、無くてもどうということはない、みたいな.

-----
レオパレスのお詫びによると、ひとまずこういう状況のようです.
  ・1996~2009年に施工したアパート290棟を調べたら
  ・少なくとも38棟で防火壁が無かった
  ・建築確認図面には防火壁があるが、現物には無い

建築業界にある様々なグレーゾーンを多少は見聞きしたわたしとしては、こんなの珍しくないんじゃね、って思ってしまいます.レオパレス限定の事件だと思わない方がいい.

また築年度にもよるかと.今回の調査対象は1996~2009年施工という比較的築浅の物件で、不良率=38/209棟だと報道されています.もっと古い物件を調査したら100/209棟なんてギャグな値を叩き出してしまうかもしれません.古い建築ってアバウトなので.

あと地域にもよるかな? 大阪の物件なんかいろいろありそうwww

問題のインパクトとしては、防火壁ごときよりも耐震性の方が心配に思います.
今般の天井裏の防火壁は、天井裏を目視すれば一発で判ります.それに比べると耐震性調査は見た目ではなかなかわかりづらい.筋交い(ブレース)の有無や、ボルトの緩みは目視では判断が難しいですし、全箇所検査は事実上不可能です.表面化しない箇所には問題が潜んでいるものです.大丈夫かなぁ、、、(消え入るようなか細い声で)

レオパレスは本件の補修工事をするそうです.比較的簡単な工事なのでレオパレスの経営を揺るがすようなことにはならないと思います.

責任の所在はどこあるのか?
レオパレスは防火壁アリの仕様を施工業者に提示したが、コスト要求の厳しさに耐えかねた施工業者が気づかない振りをしたってとこじゃないかな? レオパレスも薄々承知していてスルーした.自治体も建築確認をスルーした.みんなの温情が作用したという幸せな図式かと....

今回の改修費用は、最終的には施工業者に請求書が廻るんだろうなぁ.

エイメン

-----
追記: 2chまとめサイトで爆笑しました.レオパレスおもしれぇじゃねぇか(笑)
以下転載.
・チャイムならされたと思って玄関を開けたら、四軒隣の部屋だった
・チャイムが聞こえ今度こそはと思ったけど、やっぱり隣の部屋だった
・チャイムを鳴らしたら全室住人が出てきた
・ティッシュを取る音が聞こえてくるのは当たり前、携帯のポチポチが聞こえることも
・爪切りの音も聞こえる
・納豆をかき混ぜる音も
・壁ドンしたら壁に穴が開いた
・というか、穴が開いたあとも開くまえと聞こえてくる音は変わらなかった
・壁に画鋲をさしたら隣の部屋から悲鳴が聞こえた
・業績悪化でさらに壁が薄くなる
・将来的には壁がなくなる可能性も

ドリフのセットか?(笑)

2018年5月29日火曜日

TOTO ネオレスト SD3 便器洗浄力低下の件 (部品なし・廃棄)

先日、TOTOの混合水栓が故障した記事を書きました.なんかTOTO製品に災難が降りかかっているようで、今度はトイレが死亡.

「ネオレストSD3/SD4」という型番が本体シールに記載されていますが、SD1/SD2でも同じような製品だと思います.別の型番ではTCF9582/TCF906とも呼ばれるらしい.

【症状】
流れないというほどじゃないが、洗浄力が弱い.
USBカメラで配管つまりでは無いのを確認済み.
手動レバーだとちゃんと洗浄される.

ビデオを見てもらいましょうか?
↓微妙な故障状態のビデオです.水がムダにぐるぐる廻っているだけで、吸い込まれていないですよね.これじゃ水面に浮いたトイレットペーパーは残ってしまいます.
↓正常な状態のビデオです.右サイドに手動洗浄レバーがあるんで、そいつで洗浄するとこうなります.ズゴーッと残らず吸引されて消え失せます.水洗トイレの正しい挙動はこれだろ.スッキリするねぇ.

【原因推定】
手動なら正常なので、給水圧低下は原因ではなく、これは本体の電磁弁が死んだんだろうと思います.
背中側の蓋を外した状態です.いろんなメカが在ります.囲いの部分に電磁弁が2つ装備されているようです.死んでるのはたぶん右側のやつ.

【TOTOのご意見は?】
TOTOの相談センターに電話して症状を述べたら、「内部の故障でしょう」とのことでしたが、「補修部品は10年前に切れた」とも言われました.

ゆえに結論は、廃棄、交換です.えーん!!

住宅リフォーム職業訓練に通ったので、便器交換は自分でできます.
ついでに、床のクッションフロアも交換するべ.
ドア開口が580mmしかなくて車椅子介助に不便なのでドア開口も広げてしまうとしようそうしよう.

【排水穴はどうなってるの?】
新しい便器を買います.でも排水の穴位置を確認しないと迂闊に便器を買えない.
↓既存便器をどかして調べました.
↓便器の下に見えたのはこれでした.TOTO便器工事にお馴染みの方は「あーはいはい」という感じですかね?
ネオレストの排水口は後ろ出しなんですね.
配管を手前に曲げるアタッチメント方式です.少しめんどくさいパターンです.

さて、便器買おうっと.

#トイレ2箇所あるんでお漏らしの心配はないんです.

かしこ

本日の賞味期限切れ食品は? 不味くて食えん某レトルトカレー

皆さんこんにちわ、お久しぶりです.

わたしはカレーライスをよく食べます.先日の東京都立大学マンガ研究会創業者OB会ではカレー屋「カーナピーナ」を一次会にセットしました.実はあの日にカーナピーナで食べたのは、前日が朝昼晩とカレーライスだったものですから、4食連続カレーライスだったのです.それでも平気だぜ.

今朝もレトルトカレーを食べようと食糧置場をガサゴソと漁ったところ、いろいろなカレーが出てきました.
恥ずかしながら、肉のハナマサとか業務スーパーで¥150ぐらいで買える商品が多いです.こういう低価格のレトルトカレーって具がほとんど入ってないんです.

賞味期限が2013と2014のがあります.何を隠そう今は2018年なのでかなり古い.
古い順に、
「神戸異人館倶楽部ビーフカリー」 2013.12  ←キツィ
「プロ仕様 ビーフカリー<中辛>」 2014.5   ←厳しぃ
「お料理教室の先生がつくった本格ビーフカレー」 2018.7   ←ぎりセーフ
「House プロクオリティビーフカレー」 2019.6
「おとなの大盛カレー」  2020.4

賞味期限から5年経ってる「神戸異人館倶楽部ビーフカリー」を食べました.これだけは¥500ぐらいした商品だったと思います.今でも通販で買えます.

だがしかし、、、、不味い!
ここで、わたしの身を案じて下さった読者には感謝申し上げます.
しかし不味いのは古くて変質してたからじゃないんですよ.

思い出したぞ~、一つだけ残っていた理由を.5個パックで買ったのですが、不味くて食べるのを断念したのでした.すりおろした果物をどっちゃりと投入して砂糖甘くなってしまった味です.耐えられん.食えん.食べかけで捨てました.前にも捨てた経験がありました...

賞味期限の問題で食えないのではなく、元から不味いんだった、あぁぅ~.
皆さんも「神戸異人館倶楽部ビーフカリー」は避けた方がいいでしょう.
警告はしましたからね.
「あの時どうしてもっと強く止めてくれなかったの?」とか云われてもしらんよー.
かしこ

2018年5月27日日曜日

絶句、、、宇宙戦艦ヤマト2202第5章、ネタバレ封印

宇宙戦艦ヤマト2202第5章を観ました.これは是非劇場でご覧ください.

今まで、2199と2202の全てをネタバレで当ブログで晒し書きしてきましたが、2202第5章については一週間はネタバレを封印します.約一週間後にご参照いただければ有り難い.第5章はそれだけ大したもんだということで.

というわけで以下はネタバレなしで行きます.

日本のアニメを50年近く観てきたわたしですが、今日はアニヲタをやって来て良かったと、しみじみ思いました.

わたしがアニメを観るに当たっては様々な楽しみ方があります.
わたしが今まで体験した、あまりにも素晴らしくて絶句したアニメをいくつか挙げますと、、、
・マルコの境遇が見るに耐えないくらい辛いけれど、完成度の高さに嘆息しつつ観てしまう「母をたずねて三千里」
・綱渡り制作だろうによくぞここまで胸のすく冒険物語を作るよなぁと、ただただひれ伏して観る「未来少年コナン」
・宇宙戦争がどこまでエスカレートするのか、イデオンソードで惑星真っ二つは序ノ口で、最期にはガンドロワで知的生命体が根絶やしにされた「伝説巨神イデオン」
・濃厚なフェティシズムと、純な男性視点からの女性賛美の「謎の彼女X」
・いったいどれだけ心を動かされるのだろうと怖れすら感じつつ観た「四月は君の嘘」

宇宙戦艦ヤマト2202第5章はわたしにとってどうだったのかと云うと、宇宙戦争のスケーラビリティにおいて今まで最高ランクだった「イデオン」を超えました
しかもまだそれは序の口(第5章)で、これからまだ第6章第7章とさらにエスカレートしてゆくわけですから、人生のかなりな部分をアニヲタに投資してきた甲斐があったと、2202第5章を観終えて喜びに震えましたよ

ガトランチスの戦力をも上回るアンドロ艦隊の波動砲一斉射撃.その超破壊力のスケールは、浮遊大陸を木星に沈めた波動砲を桁違いに凌駕しました.それでもガトランチスを破壊するにはパワー不足だったのですが...

人物設定に強烈な説得力のあるところも第5章の偉大なところでした.もはや第5章の主人公はデスラーだったのではないでしょうか?
2199でのデスラー総統のエピソードを全て呑み込んで、それに加えてガトランチスとテレサという設定をも全て呑み込んで、結果として2199~2202に至る物語世界の骨格をデスラー総統が形成していたのだったか、、、と唖然とさせられるのが2202第5章でありました.

これは是非劇場でご覧ください.

かしこ

2018年5月26日土曜日

今夜、宇宙戦艦ヤマト2202 第5章を観ます

今夜、宇宙戦艦ヤマト2202 第5章を観ます.

それだけを述べておきたかった...

しかし、第6章のビジュアルはなんだね、あれは???

2018年5月25日金曜日

米朝首脳会談中止は戦後処理スキームで米中が揉めているからじゃないの?

やっぱりという気がする6月12日予定だった米朝首脳会談の中止だか延期だかの件.中国が北朝鮮にハッパかけてるそうですから、USと中国の交渉に逆戻りですね.中国が急にでしゃばってきたのは、USの色気に中国が気付いちゃったからかなと思うんですが...

北朝鮮に核放棄させるのは規定路線であり、中国もそれを了承していたとひら的には想像しています.
ところが金正恩があまりにもベタ降り状態なので、気を良くしたUSは「核放棄はOKとして、その先まで獲りにいこう」という色気を匂わせ過ぎたんじゃないかな?

USの色気とは、、、
今般の北朝鮮危機が戦争で終わろうが、金正恩の亡命で終わろうが、USが「はい、それじゃぁ後は中国に引き渡しますね」で撤退するわけがありません.何らかの戦利品を盗るでしょう.(韓国という戦利品をむざむざと捨てる気もないでしょう)

USにとって嬉しいのは、北に米軍を駐留させるとか、北にTHAARDを配備するとかだろうけど、そこまでは無理でしょうねw
少なくとも、北朝鮮支援の名目で国連軍を駐留させるぐらいは、穏当な戦後処理スキームとして実現したいところでしょう.体制転覆工作の最前線として使うことも出来ますし.日本にとっては拉致被害者の捜索の役にも立つ.

ひら想像ですけど、中国とUSは北朝鮮危機の戦後処理スキームについて「USが半島を全部支配はしない」ぐらいは合意してたでしょうけど、具体的な点は玉虫色だったのではないか?
最近になって中国は次のことを悟ったと予想します.
   ・ベタ降り状態の金正恩はUSの言い分をハイハイと受諾する
   ・国連軍の皮を被ったUS軍が北朝鮮に居座る
   ・体制転覆工作だの、大量の物資を配布だのされまくる
それに気づいた中国は「ゲーッそんなの嫌じゃん!」とガタガタし始めたのではないかね?

中国は国連で拒否権を持ってるのですから国連軍駐留に反対すりゃ良いだけです.そこで「国連軍駐留に反対しますから」とUSに仁義を通したら、トランプさんは「わーぃバレちゃった!」と思って中国と戦後処理スキームをマジメに話し合うことにした...

来週のトランプさんは「中国製品に関税50%」とか脅しをかけたりしてwww

半島をめぐる危機なんだけど、半島の人が当事者になってないという、いつもの歴史の時間というかんじで苦笑を禁じえないわたしです.

エイメン

2018年5月24日木曜日

linux kernel 4.xでパラレルポートのLEDを制御してみる (非module版)

ひとつ前の記事では、パラレルポートの先につけたLEDをON/OFFさせるために、わざわざmoduleをこしらえて、丁寧なやり方で実装しました.けれど正直言ってかったるい.

今回は、moduleを使わずに、ユーザープログラムからパラレルポートへ出力させます.
ソースコードは正味たったの9行です.アホかってくらい簡単.

-----
その前に長い経緯を書かねばなるまいて...

こちらの記事に書きましたとおり、わたしのLinuxマシンにはCH382という謎のchipの載った中華基板が刺さっています.CH382がパラレルポートのchipなのですが、これのdetasheetがネットに無くて、レジスタ仕様が判らんのです.

もしもそれが判ったなら、ioperm(),outb()を使ったユーザープログラムでパラレルポート制御なんか簡単にできてしまうはずです.

ちくしょうな事にch382が仕様不明なのでmodule programmingしたのがひとつ前の記事だったのです.

moduleで動かせたので、今一度ch382の仕様を調べてみようとしたけれどムダでした.でも、いろんなことをして次第に手掛かりはつかめました.

【dmesg】
dmesgに次の文字が見えます.
parport0: PC-style at 0xe100, irq 16 [PCSPP(,...)]
parport0のIOアドレスは0xe100であるらしい.

【/proc】
cat /proc/ioports | grep parport
      e100-e102 : parport0
ここにもe100が登場する.しかもたったの3バイトと表示される.

【lspci】
lspciの表示の抜粋です.ここにもe100が見られます.
01:00.0 Serial controller: Device 1c00:3050 (rev 10) (prog-if 05 [16850])
        Interrupt: pin A routed to IRQ 16
        Region 0: I/O ports at e000 [size=256]
        Region 1: Memory at f0000000 (32-bit, prefetchable) [size=32K]
        Region 2: I/O ports at e100 [size=4]

これらより、e100から3バイトがパラレルポートIOであるらしい.

【wiki】
wikiパラレルポートを見ると、IBM PCのIO仕様は、SPPモードで3バイトだと書かれている.SPPモードとは、セントロニクスとしても知られる最も素朴なモードです.
レジスタbitとコネクタの相関関係は、この図がわかりやすい.
D0~D7のIN/OUTを指定するレジスタは無いのだろうかと勘繰りたくなるが、SPPモードでは出力オンリーなので、directionレジスタは存在しない.(SPP,ECP,EPPの選択レジスタは何処に在るのかという問題は依然として不明)


以上の情報から、わたしのLinuxマシンでは、e100番地を書き換えてやれば、パラレルポートの先端につけたLEDをON/OFFできると推測されました.

------
やってみたソースコードはたったのこれだけ.IOを直接触っているので劇薬です.またマシンによってはe100番地じゃないケースもあり得るので注意してください.しくじってもわたしはしらんよー.
#include <sys/io.h>
#include <linux/unistd.h>
#define PARADRS 0xe100
int main(int argc, char *argv[]){
  if(argc!=2) return -1;
  if(ioperm(PARADRS, 8, 1)!=0) return -1;
  outb( argv[1][0], PARADRS );
  return 0;
}

ioperm()はe100番地の8bitをアクセスする許可を得ています.
outb()はe100番地をargvで上書きしてます.

ビルド方法
gcc -I/lib/modules/4.16.7-rt1-kona-rt/build/include leddirect.c
linux versionの部分は各位の環境によりけりで書き換えて下さい.

使い方
a.out 1
これで、パラレルポートのLEDが'1'のascii code=$31=00110001で発光します.
でも、これはroot権限者じゃないと動かないと思いますので注意、注意.
温故知新

linux kernel 4.xでパラレルポートのLEDを制御してみる (module版)

Linuxでパラレルポートを制御するmoduleをもぞもぞと弄ろうとしています.しかしわたしはmoduleは良く判らんのです...

残念なコトに、linux moduleについて解説された書籍は2000年頃に出版された古い本が多く、そういう本はkernel2.4をベースに書かれていたりします.ところがkernel2.6でパラレルポートmodule関連libraryが刷新されたようで、2.4の書籍に掲載されたsample codeはそのままでは動かなかったりします.
2.6以降は4.xに至るまでさほど変わってない印象です.ヘッダファイルの置き場所が変わってたりはしたけど.

新しい情報を求めてnetを徘徊しまして、パラレルポートに取り付けた8ヶのLEDを任意に点灯できるようになったので以下に書き記しておきます.

ここで使っているLinuxは、Kona-Linux 4.0で、kernel versionは4.16です.
Linux 4.16.7-rt1-kona-rt #1 SMP PREEMPT RT
あれれ、RT patchあてたっけかなぁ? まぁいいや.

※誤りのため貴殿が損害を受けても知らんので素直に死んでくださいね.

【パラレルポートのハードウエア的なこと】
延長ケーブルの末端にLEDを8ヶつけています.この写真は'1'=$31を出力している場面です.00110001が発光しています.
回路はこうなってます.470Ωじゃなくて1kΩにしましたが.
【ソースコード】
こちらに置いときます.実験用なのでprintk()がたくさん入ってます.

参考にしたのはこちらのページですが、同ページのcodeそのままではちょっち不具合があります.正しくrmmodできないので、2度目のinsmodで死んでしまうんです.何か追加したんだけど忘れちゃった.

なお、module programmingについてはこちらなどを参考にどうぞどうぞ.

【Makefile】
obj-m := led.o
all:
    make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules

$(PWD)じゃ良くないとかあるみたいですがとりあえずこれでよろしく.

Makefileって何?という方は申し訳ないですが自力でなんとかしてください.

わたしのマシンは自分でKernelをビルドした環境なのでこのMakefileでmakeできますけど、ディストリをinstallしただけの環境だと動かないのかも.自力でなんとかしてください、よろしく.

【当moduleの使い方例】
% make                      ビルド
% insmod led.ko      当moduleの登録
% echo 1 > /dev/parportled         parallel portへ出力
% rmmod led            当moduleの削除

・insmodコマンドでled.koをkernelに登録します.自動的に/dev/parportledが作られます.
・当moduleの仕様は、/dev/parportledに文字を流し込むと、パラレルポートに出てくるというものです.上の例では、キャラクタを1つだけの'1'を/dev/parportledに流し込んでいるので、ASCIIコードで'1'=$31=00110001で、上の写真の様にLEDが点灯する結果になります.
・最後にrmmodして当moduleをKernelから削除しています.それと同時に/dev/parportledも削除されます.

【いきなりですが、当moduleがどんな動きをしているのか?】
当moduleのsource codeには、様々なcallback関数が記述されています.どの関数がどのtimingで呼び出されるのかを実際に調べてみました.dmesgコマンドの表示結果を脚色したものを以下に示します.

・moduleを登録する際に以下の関数が呼ばれています.
% insmod led.ko
=>ENTER led_init()
 alloc_chrdev_region()
 class_create()
 device_create()
 cdev_init()
 cdev_add()
 parport_register_driver()
=>ENTER led_attach()
 parport_register_device()
=>CMPL led_attach()
=>CMPL led_init()

・'1'=$31を出力する際に以下の関数が呼ばれています.
% echo 1 > /dev/parportled
=>led_open() (nothing to do)
=>ENTER led_write()
 parport_write_data()
=>CMPL led_write()
=>led_release() (nothing to do)

・moduleの削除の際に以下の関数が呼ばれています.
% rmmod led
=>ENTER led_exit()
 parport_unregister_driver()
=>led_detach() (nothing to do)
 device_destroy()
 class_destroy()
 cdev_del()
 unregister_chrdev_region()
=>CMPL led_exit()


【ソースコードについて】
いろんなライブラリ関数が登場して幻惑されてしまいます.

当moduleは、たぶん以下のような構造になっているのだと思っています.飽くまでもわたしの想像ですので.
・ハードウエアのパラレルポートに近いところにparportというデバドラが居る.
・その上位にキャラクタデバイスを意味するcdevというデバドラが居る.kernel2.6以降ではcdevを使うよう推奨されているらしい.
・両デバドラに、/dev/parportledというデバイスファイルを紐付けする必要がある.
・/dev/parportledは、下図の3つの関数を使って生成される.(mknodは使わない)
・parportに、led_attach(),led_detach()を紐付けする必要がある.
・cdevに、led_open(),led_write(),led_release()を紐付けする必要がある.
・moduleがkernelに登録・削除されたらled_attach(),led_detach()がcallされる.
・/dev/parportledに文字が流し込まれるとled_open(),led_write(),led_release()が順番にcallされる.

これを念頭に置いて、以下のソースコードを眺めてみます.
なお、エラー処理は割愛してありますんでー.

↓デバイスファイル名を/dev/parportledとする.
#define DEVICE_NAME  "parportled"

↓たかがパラレルポートを動かすのに何かいろいろと必要でめんどくさー.
static dev_t dev_number;               デバイスファイルのmajor/minor番号
static struct class *led_class;     デバイスファイルの属性
struct cdev led_cdev;                   キャラクタデバイス
struct pardevice *pdev;               Parallel portデバイス

↓/dev/parportledに文字が流し込まれた時にcallされopenする.中身無し.
int led_open(struct inode *inode, struct file *file){ return 0; }

↓openの後にcallされる.文字をパラレルポートにwriteする.
ssize_t led_write(struct file *file, const char *buf, size_t count, loff_t *ppos){
  char kbuf;
  copy_from_user(&kbuf, buf, 1);
  parport_claim_or_block(pdev);
  parport_write_data(pdev->port, kbuf);
  parport_release(pdev);
  return count;
}

↓writeが終わったらcallされcloseする.中身無し.
int led_release(struct inode *inode, struct file *file){ return 0;}

↓上記led_open/led_write/led_releaseを紐付けるところ.
static struct file_operations led_fops = {
  .owner = THIS_MODULE,
  .open = led_open,
  .write = led_write,
  .release = led_release,
};

以上は、デバイスファイル/dev/parportledをwriteするための関数達でした.

以下に登場するのは、moduleの登録・削除時にcallされる関数達です.

↓他のデバドラがparalell portを占有していて困ったときにcallされる.中身無し.
static int led_preempt(void *handle){  return 1; }

↓当moduleの登録時にcallされる.デバドラparportと/dev/parportledを接続する役目と思う.他のデバドラがparallel portを占有中の際はled_preempt()がcallされる.
static void led_attach(struct parport *port){
  pdev = parport_register_device(port, DEVICE_NAME, led_preempt, NULL, NULL, 0, NULL);
}

↓当moduleの削除時にcallされる.中身無し.
static void led_detach(struct parport *port){ ; }

↓led_attach(),led_detach()をデバドラparportに紐付けるところ.
static struct parport_driver led_driver = {
  .name   = "parportled",
  .attach = led_attach,
  .detach = led_detach,
};


↓当moduleの登録時に最初にcallされる関数.
int __init led_init(void)
{
  ↓/dev/parportledを自動的に作る.major番号はお任せ.かつてはmajor番号決め撃ちでデバイスファイルを別途作る必要があったが、kernel2.6以降では動的なmajor番号が推奨されるらしい.そのためにここがある.
  alloc_chrdev_region(&dev_number, 0, 1, DEVICE_NAME);
  led_class = class_create(THIS_MODULE, DEVICE_NAME);
  device_create(led_class, NULL, dev_number, NULL, DEVICE_NAME);

  ↓led_open(),led_write(),led_release()をキャラクタデバイスcdevに紐付ける.
  cdev_init(&led_cdev, &led_fops);
  led_cdev.owner = THIS_MODULE;

  ↓cdevに/dev/parportledを紐付ける.dev_numberには/dev/parportledのmajor,minor番号が格納されている.
  cdev_add(&led_cdev, dev_number, 1);

  ↓デバドラparportを登録する.
  parport_register_driver(&led_driver);
  return 0;
}

↓当moduleの削除時にcallされる関数.諸々を清算してます.
void __exit led_exit(void){
  parport_unregister_driver(&led_driver);
  device_destroy(led_class, MKDEV(MAJOR(dev_number), 0));
  class_destroy(led_class);
  cdev_del(&led_cdev);
  unregister_chrdev_region(dev_number, 1);
  return;
}

module_init(led_init);     init()を登録
module_exit(led_exit);     exit()を登録


以上でソースコードはおしまいです.
moduleというものは、callback関数を記述して組み込むのが主な作業なので、慣れると比較的追いやすいように思いました.

かしこ

2018年5月23日水曜日

SUBWAYがどんどん閉店しているそうですね、無念

SUBWAYが不調でUSも日本も店舗閉鎖が絶賛進行中だそうですね.とても残念です.

わたしのSUBWAYの利用経歴を時系列順に追ってみます.

場所はどこだったか忘れましたが、デートで女子に連れて行ってもらったのがSUBWAYとの出会いでした.その女子は「野菜マシで」と言い「野菜を多く摂れるのよ」と解説してくれました.わたしは注文システムがよくわからなかったので「濃い目アブラ」でお願いしました(うそ).その時はSUBWAYという認識は無くて、その場で作ってくれるとは手間がかかるお店だなぁと思いました.

2回目のSUBWAY利用状況は、ハワイのワイキキの辺りで奥さんに連れて行ってもらい、店員が薄切りトマトをペタペタと並べているのを見て「あっこのシステムはあの時の!」と記憶喪失者のフラッシュバックのごとく事態を察知したのでした.相変わらず手間暇のかかるシステムだなぁと思いました.野菜濃い目でお願いしました(うそ).ともあれ2度目のトライでSUBWAYという名を記憶しました.

そしてその後、職場が大崎ゲートシティになり、SUBWAY大崎ニューシティ店を毎日利用するようになりました.大好物はツナで、他にもう一品をオーダーするのが常でした.お店の人と顔見知りになり、従業員の人が退職するときに「どうもお世話になりました」と挨拶されちゃうほどでした.大崎のそのSUBWAYは健在です.
←大崎店

現在、わたしのSUBWAY利用状況は主に秋葉原店です.スピーカー屋のコイズミ無線の近所にSUBWAYがあるので、大いに利用しています.やはりツナは外しませんぞ.
←秋葉店

マグロの漁獲量が激減した一時期、SUBWAYのメニューからツナが消えたつらい時期がありまして、あの時は弱りました.今では復活していますけどね.


このようにSUBWAYと強い絆のあるわたしとしては、SUBWAYの店舗が減少の只中にあるという認識はあまり無かったんです.代官山店なんか相当古い店舗だと思うんですが健在ですし.そういえば渋谷のドンキの近所に在ったSUBWAYが閉店したかなぁという程度でした.
←代官山店
←在りし日の渋谷店

どうやら郊外店舗の閉鎖が相次いでいるようで、SUBWAYに依存しておられる日本全国津々浦々のご同輩達にとって大変な時代になったものだと深刻に受け止めています.

SUBWAYよ永遠に、、、どうか、、、

かしこ

2018年5月22日火曜日

「GODZILLA 怪獣惑星2」観た! 3も観たい (ネタバレ注意)

GODZILLA怪獣惑星2を観ました.
いつもどおり強いゴジラさんでした.
記念にゴジラさんの絵を描きましたのでご笑納ください.

本作は全部で3作品のうちの2番目です.2番目なわけですから、ゴジラさんを殺してしまったら3番目に行けないのですから、予想通りゴジラさんは死にませんでした.

ただし、映画のラストで「これは3番目を絶対みたいぞ」と思わせる仕掛けがありますので、エンドテロップが流れ始めても席を立ってはいけません.ラストで明かされるのが何かは、ここには書きませんので!

あらすじは、、、
地上に人類の生き残りが棲んでいる.彼らはさほど好戦的ではなく、ゴジラ成敗部隊との殲滅戦になったりはせずに監視と協力をしてくれる仲になる.
メカゴジラを再起動して闘うのかと予想していたのだがそうではない.
かつてのメカゴジラ研究所の機能がまだ生きていて、メカゴジラの要であるナノメタルプラントが増強されていた.原住民には不吉な場所と云われている.
ここで、宇宙船に、地球人+宗教大好き宇宙人+メカ大好き宇宙人が搭乗していたのを思い出そう.
メカ大好き宇宙人は、ナノメタルを活用して旧研究所全体を即席の対ゴジラ要塞に改造するのに成功する.
ゴジラを要塞におびき出し、ゴジラの無力化に成功するかに思えたが、意外に粘り強いゴジラ.
メカ大好き宇宙人は指揮官のハルオに進言する.
「ゴジラにとどめを刺すには、パイロット自身をナノメタル化するしかない」
しかしそれはもはや人で無くなることを意味する.
ハルオはナノメタル化を拒絶し、ゴジラ成敗は失敗する.

エンドロールの後で、ゴジラ成敗作戦の直前のシーンに戻る.
宗教大好き宇宙人は、ゴジラを倒してもナノメタル要塞が新たな地球の支配者になってしまうと危惧する.また、ゴジラなぞ物の数ではなく、宇宙には真の脅威が存在する、その名は「XXX」
あらすじはここまで、、、

XXXの部分は書きませんが、知ったら燃えるぜ!  第3部は11月だそうです.

かしこ

お酒をたくさん呑みましょう、「全国日本酒酒蔵マップ」のご紹介

うぇ~ぃ、二日酔いからやっと復活しました.

昨日は昼間から新橋で呑みました.体が日本酒を欲していたため日本酒オリエンテッドなお店へ連れて行ってもらいました.

日本酒に詳しい人に連れて行ってもらったのが、日本酒造組合中央会が運営する「日本の酒情報館」でした.
↓場所がやたらと辺鄙なところにあります.虎ノ門駅と内幸町駅の中間です.看板は出ていません.こんなとこ、知ってなけりゃ誰も気付きませんぞ.
↓内部はこんなで綺麗です.¥100~300で日本酒と焼酎を試飲できます.
日本酒造組合中央会の情報館ですから飲食店として黒字を出す気はないみたいです.
なんと、営業時間は10~18時.土日祝はお休み.いやはや商売っ気がない.

↓ここで、なるほどこれはイイと思って¥500で勝ったのがこれ.「全国日本酒酒蔵マップ」というものです.
酒蔵の地図というとXX県酒造組合作成のパンフならよく見かけるのですが、全国版の地図は無いなぁと常々思っていたわたしでした.その点でこの商品はグッドデザイン大賞間違いなしじゃぁ~.トイレに貼って酒蔵を毎日学習しようと思います.地理の成績が上がるであろう.
↓東日本の地図.埼玉県は意外にも単位面積あたりの酒蔵個数が多いと知りました.
↓反対面には西日本.宮崎に2個、鹿児島には1個しか酒蔵がないんですね.焼酎生産がメインということなのでしょう.
日本酒がウリの飲食店は「全国日本酒酒蔵マップ」をどうぞどうぞ.
酒蔵で呑む日本酒が最高だという方は「全国日本酒酒蔵マップ」をどうぞどうぞ.

↓「日本の酒情報館」をあとにして、ジンアンドトニックで時間調整してから、「地酒ミュージアム 信州おさけ村」へ.ここは2度目の来店.信州=長野県で認識合ってますでしょうか?

このあと帰宅しましたが、ふらふらと「ノムネン」へ寄って、その後は記憶がありません.どんだけ呑んだのだろうか?

うぇ~ぃ

2018年5月20日日曜日

ライフ中目黒新装開店をチェック

ライフ中目黒店が改装後OPENしたのは5月19日だったはずです.今日は20日と一日遅れでチェックしましたのでご報告です.

↓新しいライフの外観
↓工事中のライフの外観.2階の装飾が違うぐらいです.
↓まず古いライフの動線を復習しましょう.
かつてのライフ1階は、正面入り口の前にレジが在りました.なのでお客は左へ折れて、店内を時計回りに歩く動線でした.そして商品陳列棚は縦置きでした.
↓新しいライフは、レジが左に在ります.なのでお客は右へ折れて反時計回りに歩く動線になりました.商品陳列棚は横置きです.
内装は、茶色を基調とした落ち着いた雰囲気になりました.

2階は店舗中央を支点に180度回転させたイメージです.

全体的に、取り扱い商品は以前とあまり変わりません.

この1ヶ月間はライフが無いので不便でした.ライフが開いてよかったよかった.

かしこ

2018年5月19日土曜日

車椅子、着脱式ペットボトルホルダの実装事例

みなさんこんばんは.暑いですね.もうエアコンを使っています.

久しぶりの「福祉・医療」シリーズです.

車椅子にペットボトルホルダを着けて欲しいとのオーダーを貰いました.
仕様は、、、
 ・左手オンリーで500mlのペットボトルをスポスポ出し入れできること (布製はダメ)
 ・ぶつけても壊れないこと
 ・着脱可能であること
 ・容易に外れてしまうのは困る
 ・ステップの開閉動作を妨げないこと

この仕様を網羅するのは、車椅子の現物を見るとなかなか難しいのです.車椅子の足元にはホルダのような異物を取り付ける場所が案外無いものです.1ヶ月ぐらい考えました.

結論が出ましたので実装事例を報告します.

↓ペットボトルホルダを装着した状況です.これを見ただけではどのように付いているのか判らんでしょう.車椅子はYAMAHAの電動ユニットを使ったよくある製品です.
↓ホルダの構造はこうなっています.頑丈さのため塩ビパイプの継手を利用しました.塩ビ継手に金具をネジ止めしただけです.ネジは5mmで、塩ビ継手にタップでネジを切ってあります.
↓ホルダを下からみた構造です.四方からネジを入れてあるのは、ボトルの落ち止めです.ホルダの構造はこれが全てです.意外と簡単.このアバウトさが大切です.
↓ホルダの裏側を見たところ.金具を車椅子の水平部材に引っ掛けてあるだけです.ステップの端部が金具の上に覆いかぶさる形なのでホルダが脱落する心配はありません.
↓見下げアングルです.
↓そして、金具で引っ掛けただけというアバウトさゆえに、ステップを回転させるのをあまり妨げません.このくらいまでステップを開ければ移乗の妨げにはなりません.
↓ホルダを外すときは、まずステップを外してから、ホルダの金具を外します.

ペットボトルホルダの構造については以上です.

部材について、
↓ペットボトルホルダ本体の排水用塩ビパイプ継手は、TS-S65です.65mm UV管の継手です.

↓金具はダイソーで調達しました.
2mm厚のステンレスで、長さは250mmだったかな.
価格は¥108です.

これって本当にステンレスなのかな? スチール+クロムメッキっぽく見えます.大抵のステンは硬くて曲がりませんが、この商品は柔らかくて、プライヤで掴むと曲げることができます.U字に曲げて利用しました.

かしこ

2018年5月17日木曜日

ほのぼの、今夜のオカズはクロソイとホヤよ

今夜のオカズは、、、

クロソイが安いので買いました.煮付けで食べましょう.
そしてホヤが安かったので買いました.ソニー仙台多賀城へ頻繁に行ってたときは夏といえばホヤでしたが、会社を辞めてからはホヤにはご無沙汰です.あのお店は津波で流されちゃったんだよなぁ、再建したのかしら?
でも、ホヤをおろした経験はないんだっけ...
黒ずんだ部位を捨てて、ツマミ食いしてたらこんなに減ってしまった...

金目やカツオやアジ持参で呑みに来る奴を歓迎するぞ!

かしこ