20121109

PC、回復。

前回バッテリがおかしいと書いたノートPCですが、直しちゃいましたよ!

結局原因はバッテリからマザーボードに電源を供給しているラインのヒューズが飛んでいたことでした。

バラしたところと電源周りの拡大写真。
飛んでいたヒューズは「7」のマークの部品です。

とりあえずバラしてみた時に怪し気だな〜と思い(ただの勘、でもこのヒューズは何だか目を惹くデザイン)、ググってみたら似たような事例がチラホラと。

ノートPC「PC-MM1-H1W」を自力で修理: なひたふJTAG日記
http://nahitafu.cocolog-nifty.com/nahitafu/2006/03/pc_c9da_1.html

この怪しい7のマークの部品をテスタで測ると抵抗∞、断線しているみたいでした。
まあこの部品が本当にヒューズなのかは自信ありませんでしたが、どこかで「マザーボード上のFのマークはヒューズ(fuse)」と知り、実際に「PF1」とありましたので、まあ多分そうなんじゃないかと。
「電源(power)の第一(1)ヒューズ(fuse)」でPF1なんじゃないかと。

さてでは修理。
しかしながら、代わりのヒューズを用意といってもチップ型なので、手元に無いし、近くには売ってないし、ハンダ付け難しそうだし…
とか悩んでしたら、ヒューズとしての機能さえあれば形状なんて関係ないなと考え(ちょっと違いますがこんなことをやってる人も)、 ブレードヒューズ(主に車用?)で代用。

近所のホームセンターで小さいブレードヒューズとコネクタに使えそうな部品を購入。
どちらも車用品売り場でした。
それぞれ128円と168円也。

コードを伸ばしてヒューズの両端にハンダ付け。

伸ばして伸ばして、開いているスペースに収納。

そして起動!!

この造りだと、再度ヒューズが飛んだ時も裏蓋開けるだけでアクセス出来るという利点あり。
不安点は取り付けたヒューズの定格が合っているのか否かということ。
最大消費電力65Wでバッテリの電圧は10.8V、ということは6A程流れる?という推測で7.5Aのものを取り付けてみましたが…イマイチ分からない。
(飛んでいたヒューズの7のマークは7Aを意味して、この選択は良いセン行っているのではなかろうかと想像)
もしもの時に飛ぶまでは、ヒューズって導線と変わらないんですよね?

しかし、修理がうまく行かなかったら心置き無く新しいPCを買える!と思っていたのですがね。
これじゃあ愛着が湧いちゃいますね。

そういえば前回、「バッテリそのものが問題のような気もする」と書いていましたね。
実は最初に買っちゃいました。
結局無駄になりましたが。
ebayにて31.99ドル也。
左が新しい方です。
よりマット、粒子が荒い感じ。
本体の質感とはミスマッチです。

そういえばもう一点、研究PCのグラボもうまく行きましたよ。

20121003

PC、不調。

どうも先日からノートPC(ThinkPad X100e)の調子がおかしい。
バッテリが挿さっていることは認識しているようなのですが、バッテリを挿したままでもプラグを抜いた途端、落ちる。
そして充電が80%ちょっといったところで止まります。

どうもバッテリそのものが問題のような気もするのですが、しかし買い換えて実は問題点が違っていたら嫌だなとバッテリ買えずにいます。
それにプラグ挿していれば動くわけでそんなに問題あるまい…

ただこの問題が発覚したその瞬間は、このノートPCを使ってのスライドによる口頭発表の順番待ちをしていた時でしたが。
次演者席から演台へ上がる、この時にバッテリで動く必要があったのですが、プラグを抜こうものなら強制シャットダウン。
復帰を待って発表なんて無理な話なので、結局プラグを抜かずに次演者席から発表しました。

う〜む、要所々々でバッテリを使うことになるのか…

いっそ新しくノートPC自体を買い換えたいという物欲が沸々と。
今のを買ったのは大体2年前。
しかし買い換えるとなると、6年間で4代目になってしまう…
初代、HP Pavilion tx 1000、二年半。
二代目、acer Aspire one、延命処置により一年。
三代目、ThinkPad X100e、二年。(しかし中古だから仕様がないという見方もアリ?)
ポンポン壊れる!ポンポン壊れるよ!!

もしも、もしもですが、買い換えるならばThinkPad X100eの後継機?のThinkPad X121eか、IdeaPad S110がいいな〜と考えております。



さて、上記は私用PCなのですが、研究に使っているデスクトップ(HPE-390jpのカスタム)もどうも調子が良くない。
しばらく点けていると、いつものまにやら画面が映らなくなってる。
しかしながら、電源自体は落ちてない。
そして、グラボから低い異音。
どうもグラボの冷却が巧く出来ていない?
で、しばらく経って熱くなってきたら機能しなくなる?
よく分からないのでかなり適当です。
ですがしかし、こちらは研究作業にクリティカルなので、異常に気付いたその日に早速グラボを購入。
N630GT-MD4GD3というヤツです。
もしも原因が違っていてもグラボを変えてやってみたいことがあったので、まあいいかなと。
いや、それはマズイか、結局映らないのだから。
まあとにかく早く届いてくれ、という気持ちです。

とか言ってたら、今日異音しなくなってたんですよね〜

20120921

神経科学大会4日目、帰ると扇風機点けっぱなしでした。

おおぉぅ…やっちまいました。

さて、最終日も朝から会場へ。
「BMI」「ニューロエンジニアリング」「学習理論」と何やら詰め込まれ気味なセッションを聴いてきました。
やっぱり神経工学の分野は大層楽しげに見え・聞こえます。

ポスターは聴きたいところに人が多かったり、演者が居なかったりとイマイチ聴けず。

午後は「神経集団」とかそんな感じのセッションをベストコンディションで聴くために仮眠を少々。
目当てのそのセッション自体も興味深い話でした。
理解出来ない話もそこそこありましたけどね。

今回の愛知土産はきしめんパイ。
いつもういろうなので、たまには違うものを、と。
研究室に持っていくの面倒、かさばります。

それと、駅のホームできしめんを食べました。
やっぱり平たいうどんです。

20120920

神経科学大会3日目、BMIセッションあったけど・・・

本日はBMIのセッションあり。
朝から出てきましたが、既に論文で知っている話があったりと少し残念。
学会ならもっとアップデートな話が聴けると期待していたのに...
でもECoGの新しい話は面白いですね。
午後は視覚のセッション。
OGの先輩や助教の先生のオーラルを聴いてきました。
え、先生、それ自分のポスターと被ってます、とハラハラ。
企業ブースも回り、実験装置の話を聴いたりも。
最近、無線式記録に興味があるのですが、なんと最安で120万円程だとか...
おいおいおいおい、そんな~
何故にそんなに高いの?
自分で何とか出来ないだろうか?
刺激呈示関連では14bit深度で呈示可能な外付け装置も気になったのですが、そちらも50-60万円とお高め。
お金が有り余っていたら欲しいですが...
そもそも研究費なんて持ってませんが。

20120919

神経科学大会2日目、ポスター発表終了!

本日はポスター発表。
多くの方に来ていただき感謝感激。
ありがとうございました。
いつもの客層+新しい人という具合でしたが、後者には自分が忘れている人も含み得ます。
英語圏の方も来てくれまして、仙台のリベンジとばかりに必死に説明。
相も変わらず単語を繋げただけのような拙い英語でしたが、コミュニケーションを行おうという姿勢は崩さず。
結果、理解してもらえたようでよかったです。
自分の出番が終わってスッキリしました。
明日は自分の大好きなBMIのセッションに行かねば。

20120918

神経科学大会1日目、まず飲み会。

今日から神経科学大会、21日まで。
会場は名古屋の国際会議場です。
そう、またもや愛知。
先月始めに行ったばかりです。
が、名古屋での神経科学大会自体は初めてです。
神戸や横浜の会場と異なり、ここはポスターとオーラルの場所が近く、行き来が楽でいいですね。
さて、自分の発表は明日、ポスターです。
実は先日の仙台のものとほぼ同じです。
タイトルを変えたり、ね。
しかし、紙面としてはほぼ同じでも、追加した解析の説明も準備しております。
なので、手抜きとかそんなことは全くありません。
第一、主張が同じなのだから、変わるのもおかしな話。
でしょう?

20120915

kindle購入。

ついに買っちゃったぜ!

ずっと欲しかったんですよ、主に論文読み用に。
A4用紙にブックレット印刷してよく読んでいるのですが、たまに印刷エラーになることがあって、その度に「うがぁ〜」
そこでkindleに目を付けていたのですがなかなか踏ん切りがつかず。
二ヶ月程前に「よし買うか」となったのですがそのあたりから新型(及び日本発売、Amazon.co.jpだと近日発売のままですが…)の話がネットに出だしたので我慢していました。

で、先日Amazonカンファレンスで発表になったコイツをすぐさまAmazon.comで発注。
昨日手元に届いた次第です。

ネットだとkindle fireやらpaperwhiteにばかり注目されている気がするのですが、自分は絶対$69 kindle(日本へも発送してくれるインターナショナル版は$89、送料込で8,434円でした)がオススメ。
kindle fireなんて単なるタブレットじゃん。
電子ペーパー使ってみたかったのです。
バックライト付き?普通にライト付ければいいじゃん。
それにタッチパネル方式は反応速度が不安だったので。
というか今回購入したもののほうが断然安いし、すでにリリースされてるし。

kindleで論文が読めるか否かが今回の購入の決め手だったのですが、自分は以下のページで決めました。
段組をばらす手法が紹介されていますが、面倒なのでPDF突っ込んで(PCにUSB接続でUSBメモリのように扱える)そのまま読むつもりです。

 論文1ページ全体を表示した場合。
デフォルトより一つ下と上のコントラスト設定。
書いてある文字が英数字だと分かっていれば、解読出来るレベル。

ページ送り。
旧版より15%速くなったそうな。

横向き表示の場合。
普段からブックレット印刷で小さな文字なので、コレは十分可読レベル。

モノクロ16階調なので分かりづらい図もアリ。
但し、自分が普段読む論文はグラフがメイン。

ミンティアとサイズ比較。

というわけで、皆も買おうぜ!



そういや、人に貸したらフリックやらピンチズームをしようとされたよ。
皆スマフォやらタブレットに毒されてるよ!

20120911

GE A1455購入。

壊れちゃったデジカメの代わりをついに買っちゃいました。
スマフォのカメラで何とかなるかな?と考えていましたが、電池の持ちやら画質やらを色々考えてたら買っちゃったほうが幸せ度が高いな、と。

購入したのは上の画像にあるGE A1455というヤツです。
自分の趣味で「単三もしくは単四仕様」という譲れない基準がありましたので、結構選択肢は狭まっちゃいました。
が、それでもいくらか残った内で、スペックやら実際の画像が自分には十分で且つ安い(自分が購入したときは送料込4,000円)コレに決めたというわけです。

なお、今まで使っていたのはUniden UDC-5M
上の画像もコレで撮りました。
この画像だとあまり壊れた感じがしませんが、それでも拡大すれば横縞が見えると思います。
光量が多いと白みが飽和したり色合いが変わったり(カメラ詳しくないので、こんな表現で正しいのか分かりません)。
因みに今回購入したGE A1455でUniden UDC-5Mを撮るとこんな具合。
あまり綺麗でないのは恐らく手ブレの所為。

Uniden UDC-5M -> GE A1455で変わらなかったのは単三電池仕様(eneloopもok)、露光やISOのマニュアル操作可能という点。
良くなったのは画素数、音声付き動画、光学ズーム(3 -> 5倍)。
悪くなったのは電池の持ち、グレア液晶である点。
電池の持ちについては、GE A1455は公式スペックによると「約340枚(単3形ニッケル水素電池)(CIPA規格に基づく)」、Uniden UDC-5Mは公式スペックによると「CIPA規格:550枚(三洋 eneloop NiMH充電池)」。
ただココによると、CIPA規格の電池寿命測定法には「30秒毎に光学電動ズームの望遠端と広角端で交互に撮影する」とあるので、光学ズームのレンジが広くなった分、この基準による電池寿命が低くなるのも当たり前なのかと。
詳しくは知りませんし、GE A1455をまだそんなに使っていませんので電池寿命を実感していません。
液晶画面については、自分はアンチグレアが好きなので、GE A1455がグレア液晶だったのは少し残念でした。
まあ何かしらアンチグレアシートでも付ければいいんですけど、そこまでしなくてもいいかなと。

他にも色々と比較出来る点があるのでしょうけど、それもまだそこまで使ってないので分かりません。
まあ、上であ〜だこ〜だと書きましたが、少し使った感じ、自分にとっては十分満足のいくデジカメです。

20120905

ヤツは去った2012夏

お土産貰ったよ!!


今回は一晩のみで帰っていっちゃいました。
ヤツの登山話や互いの近況報告やらをしたくらい。
まあ、それ以上何かすることがあるのか?といえば特に無し。
今朝(日付的には昨日)京都へ発ち、神戸からのフェリーで帰るんだとか。

旅行するってのも楽しそうですね。
そんなこと言っても、自分は結局しないでしょうけど。

20120902

ヤツが来る2012夏

今年の夏にもやって来る!!

というわけで、いつものヤツが今年もやって来ます、明日。
半年ほど前に来そうで来なかった時がありましたが、今回はどうでしょう?

人が来るときはいつも掃除しようと心がけているというか、掃除は人が来る時だけでいいやというか、とにかく少しばかり掃除進行中です。
水周りに出現するコバエみたいな虫、何度も出てきて困っております。
とりあえずパイプクリーナーの類で掃除していますが…

そういえば、前回ヤツが来た時から色々変わっていまして…
部屋の模様替えを行い、ベッド・デスクを処分し、xboxを購入し、刃物が増え…
ヤツがどういう反応を示すか楽しみ。

20120803

生理研5日目、最終日。


今日もPICプログラミング。
但しADなど発展的内容でした。
それとC言語そのものの復習も。
おかげでポインタの扱いに慣れたような気がします。
これで今度から色んなソースコードを眺めても大丈夫…かも。

それと、技術課のもう一つのコースも少し見学させてもらえました。
そっちはそっちで楽しそうな感じでした。
コース課題ではなく技術課の活動例として見せてもらったロボットハンドやマニピュレータも作ってみたいところですが…

お土産にはやっぱりういろうを購入して帰阪。
来週から大体通常運転です。

20120802

生理研4日目、PICプログラミング。

今日からPICを本格的に弄り始め。
LEDを光らせたり、ブザーを鳴らしたり、それらをスイッチで制御したり。
ちょこちょこちょこっと躓いちゃいましたが理解は出来ました。
明日はADといった発展的内容らしいです。
自分の目標は自由行動中の動物に装着して用いる装置(今のところ特に具体案は無し)なのですが、そんな物を作れるのでしょうか…?


20120801

生理研3日目、回路とC言語のお勉強。

今日の午前は電子回路の勉強。
トランジスタの理解が深まりました。
PNP型はこうやって使うんですね!、という感じ。

午後はC言語。
ポインタ・構造体の話までみっちりやってもらえたので助かりました。
引数としての構造体の扱い方がストレートじゃないのがいやらしい感じ。
あれってどうして?

その後はトレーニングコース全体の懇親会。
色々談笑してきました。


そういえば、消えた衣類が戻って来ました!
シーツetcと一緒に回収されてたみたいです。
サービスでクリーニングをかけてもらって儲けものです。


さて、明日から本コースのメイン、PICプログラミングがスタートです。
今日のサンプルプログラムで少し躓いちゃったけど…大丈夫でしょう。

20120731

生理研2日目、本格始動。

今日はPICのボードとライタの作成。
電子回路だけ渡されてユニバーサル基板に組んでいくのかと思いきや、回路パターンの書かれた基板に素子を付けていくキット化された物を組み立てていきました。
簡単でした、が、それでも自分の半田付けはあまり上手くなく、出来上がりは汚い。

明日はC言語の話がメインっぽいです。

で、話は変わりますが、ホテルに置いたままにしていた着替えが消えました…
掃除の時に処分されちゃった?
とりあえず、ホテルスタッフの方が清掃員に確認してくれるそうな。
まあ、元から洗いつつ使うつもりだったので、何とかなるかと楽観中。

20120730

生理研1日目、座学。

今日から生理研トレーニングコースが始まりました。
といっても、今日は座ってひたすら話を聴くだけ。
明日から本格開始です。

さて、特にすることも無い…本を持ってくれば良かったよ…
荷物が多くて諦めたんですよね。
寝ちゃうか。

20120729

包括脳4日目、ドライブ行ってきたよ!

最終日は教授、先輩らとドライブ。
南三陸町でウニ丼食べてきました。
うん、ほぼそんだけです。

夜はOBの先輩と牛タンを食べました。
今回2度目ですが美味しい物は美味しいですね。

そして土産にずんだまんじゅうを購入。
夜行バスで昨日朝に帰阪しました。
復路のバスは若干高めだったのですが、別に寝心地が良かったりはせず。
バスはバスでした。
空気枕がありましたが暑くて結局使わず。


そういやドライブの道中写真撮って、デジカメの調子がおかしいことに気付きました。
明るさ調節がうまく行ってない感じです。
サチってます。
新しいデジカメ探そうかな〜


この土日は出張報告etcの手続きを済ませたり、土産を研究室に持って行ったり、バイトに行ったり。
そして明日からは生理研です。
がっつりプログラミングしてきます。

20120726

包括脳3日目、ポスター発表。

本日はポスター発表。
コアタイム以外もほぼずっとポスター前で待機していましたが(たまに他のポスターを見に行ったりとウロウロ)、人が全く来ない寂しい時間帯も。
結局来てくれたのは10人くらいでしょうか。
最後に英語圏の方が来られたのですが、返答はかなりしどろもどろ…
あ〜も〜かなり悔しい!

因みに受賞は逃しました。

さてその後は懇親会参加。
まあ、「博士号取得者のアカデミック以外の道」という感じのセッションがポスター発表終了後懇親会開始までの間に開催されていましたが、出席せず一休み。
おかげで懇親会寝過ごしかけましたが。

更にその後は自ラボの教授etcと二次会。
色々と盛り上がっていました。

明日はOBの方と一緒に観光の予定です。
行くところ・運転全てお任せの気楽なドライブの旅です。

20120725

包括脳2日目、牛タン食べたよ!

ずんだ餅食べたよ!
それと、趣のある珈琲屋にも。

別ラボの先輩etcと一緒に仙台観光。
なるほど、これが学会の醍醐味ですか。

勿論ちゃんと学会自体にも参加。
メゾスコピック(ミクロとマクロの間らしい)と光生理学をキーワードとした発表会を聴いてきました。
自分でやろうとは思わないけれど話は面白い、とかそんな感じでした。

さて、明日はポスター発表日。
頑張って受賞すれば3万円貰えるそうな。
現金なのでヤル気上昇中です。

画像は今回暇なときに読むために持ってきた本。
トータル・リコールの原作を初めて読んだのですが、星新一のショート・ショートみたいでした。
シュワちゃんの目玉が飛び出る要素は皆無です。

20120724

包括脳1日目、眠かったです。

今日から包括脳。
9時半頃に仙台に到着し、そのまま会場へ。
午前は分子な話を聞き、午後は「さきがけ」の班会議を聴き…。
午後一は眠さピークでした。
夜行バスは寝心地やはりよろしくない。
が、喉元過ぎればなんとやらで、非日常感が楽しかったな〜とか考えています。
午後の西村先生の「外付け神経系(先生自身の表現にあらず)」という感じの話が物凄く面白かったですね。

20120722

今週来週忙し目。

お久しぶりです。
またもや結構空いちゃいました。
2ヶ月弱。
その間、遂に論文アクセプトという嬉しいイベントがありました!
しかしながら、思ったよりもテンション上がらない…
自分がファーストオーサーなのですが担当教官や教授や英文校正者に色々修正を貰ったので自分の文章は原型を留めていなかったり、初投稿(2011/08)からアクセプト(2012/06)まで期間が長かったりと、自分の手を離れてから起こったことが多く、どうにも「自分の論文感」が弱い所為でしょうか…

この教訓を現在執筆中の論文に活かさなければ!
「巧い文章をバリバリ書け」とかそんな言葉に集約されちゃいそう…

一応今回の論文の初投稿からアクセプトまでの流れを簡単に。

2011/08 Journal of Visionに投稿。

レビューで色々言われ修正、2011年末に送り返し。

2012年始、担当教官がジャーナルに返事を急かす。

Journal of Visionに蹴られちゃった…「新規性がない」etcという返事。

Neural Networksに投稿、この雑誌選定に担当教官の意図が強く反映されちゃったのも「自分の論文感」を弱めた要因の一つ。

担当教官がジャーナルに返事を急かす。

「マイナーな修正でOK」的な返事を貰い、修正後送り返し。

「マイナーな修正で…という割には返事が遅いじゃないか」etcと今度は教授がジャーナルを急かす。

そしてアクセプト。

初めての論文でよく勝手が分からないのですが、こんなにジャーナルを急かすものなのでしょうか…
何だかジャーナルに対して申し訳ない…
担当教官、教授は自分のためにしてくれたのでしょうし、感謝するべきなのでしょうが…


さて、話は変わって今後の予定。
今週は火曜から金曜まで仙台で学会。
包括脳ネットワーク夏のワークショップ」というヤツです。
ただ、夜行バスで移動するので月曜夜大阪発、土曜朝大阪着となります。
初めての夜行バス!
椅子に座りっぱなしで寝るという条件自体は去年のSfNで利用した飛行機と変わらないな、と考えております。
そして来週、月曜から金曜まで生理研トレーニングコース
去年参加したヤツです。
当選したコースは「生理学実験のための電気回路・機械工作・プログラミング(2)(C言語によるPICプログラミング)
C言語久々です。
普段はMATLAB、時々趣味でPythonなので、一々変数を定義しなきゃならないとか、コンパイルが必要とか面倒臭気。
でも楽しみ。

20120604

「越境する脳」読了。

BMI(Brain-Machine Interface、脳の感覚・中枢・運動機能を電気的人工回路で補綴・再建・増進することを目的とした技術)の研究で有名なミゲル・ニコレリス博士の著作。
読み終わるまでに結構時間がかかっちゃいました。

科学読み物ではありますが、博士の学生時代から現在までの思い出、研究のきっかけ、その裏側、思考、夢etcを綴ったエッセイという感想も持ちました。
将来、神経工学分野に進みたい(且つちょっとマッドな研究をしてみたい)と考えている自分にとっては興奮しっぱなしの内容でした。
Brain-to-Brain Interfaceって何それ!?
すんごく面白そう!!
このラボに移りたい!!

最終章で述べられていた、博士の持つ未来予想図はとても攻殻機動隊チック。
いいよね〜、それ。
どこかで本気で研究されてないだろうか?
今後、博士が研究しないだろうか?

20120528

腕時計落として風防割っちゃった…

どうもお久しぶりです。

ここ最近、グルーガンの先端で腕を火傷したり、ハンドドリルのギアで指を挟んで血豆作ったり、そしてExtreme IIを落として風防(という呼び名を今回初めて知ったよ!)を割ってしまったり…
どうにも駄目ですね。
疲れて注意散漫なのかしらん。

さてさて。
これを機にストックとして眠っていたこいつを使おうかなと思っています。
フィリップ・スタルクデザイン、フォッシル社の…名前忘れた。
液晶画面でアナログ針を表示する、という仕様です。
今は電池が入っていないので何も映っていませんが。

割ってしまって気付いたのですが、風防が球面だと出っ張ってしまって今回みたいに落とした場合にクリティカルな事態になっちゃうんですね。
平面か、もしくは周辺のほうが土手みたいに出っ張っているほうが自分みたいに荒っぽいヤツには向いていますね。

しかし、今回割っちゃったExtreme II、風防修理したいな、いつか自分で。

20120405

なんちゃってオシロスコープ

久しぶりのUSB-1608FSネタ。

前回LEDを点滅させた頃には、実は既に取り込み自体は出来てたんですよ。
SnoopyProの結果から「使用チャンネル: 0番、サンプリングレート: 1Hz、レンジ: 10V」で取り込む場合には、色々省略すると
USB1608FS.ctrl_transfer(0x21, 0x09, 0x0, 0x0, [0x43, 0x01])
USB1608FS.ctrl_transfer(0x21, 0x09, 0x0, 0x0, [0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00])
USB1608FS.ctrl_transfer(0x21, 0x09, 0x0, 0x0, [0x11, 0x00, 0x00, 0xc0, 0x03, 0x10, 0x00, 0x08, 0x95, 0x98, 0x04])
取り込みストップ、レンジ設定、チャンネル・サンプリングレート設定?した後に
USB1608FS.read(0x83, size, interface=1)
ただ、これで返ってくる値は
array('B', [238, 141, 240, 141, 240, 141, 239, 141, 239, 141, 239, 141, 239, 141, 239, 141, 239, 141, 239, 141, 240, 141, 87, 138, 203, 4, 117, 7, 171, 8, 248, 8, 129, 9, 42, 10, 161, 10, 219, 10, 99, 11, 33, 14, 0, 14, 159, 14, 9, 14, 133, 13, 99, 13, 170, 10, 143, 10, 8, 11, 11, 11, 134, 1])
例えばこんな感じで、どれが目的の値なのか分からない。
というのも、今回用いているUSB-1608FSは解像度?量子化レベル数?が16bitなもんで、2進数なら16桁、16進数なら4桁、10進数なら…まあ桁で表現しづらいですが0-65535の値を取り得る訳ですよ。
どうみても過剰な要素数(=64)の値が返ってきてるんですよ。


ここでSnoopyProに戻ると、値は異なりますが、先程の値に対応しそうな結果はこちら。


どうやら、個々の要素は16進数の2桁分みたい。
ということは、2個の要素をくっつければ1個分になるのではないかと。
それでも32個分のデータがあるわけですが…アナログ8チャンネル+デジタル8チャンネル…で、あ〜まだまだ余りますね。
よく分からないので、この点に関してはまた追々。


さてPythonの方に話を戻すと、目指すは、10進数*2要素→8bitの2進数*2要素に変換・結合→10進数(0-65535)→電位(V)。
10→2進数変換はbinを用いていい感じのヤツ作りました(下記のソースコードのdec2bin参照)。
2→10進数変換はPythonが勝手にやってくれる(0b10とか入力すると2とみなして処理してくれる)ので気にする必要はなし。
0-65535の値を電位に変換するにはサードパーティ製ドライバのソースコード(C言語)を参考に
Volt = (Decimal-32768)*10.0/32767
すると良さ気。
つまり32768(65535+1の半分)が0になるようにベースを調節してやって、レンジに合わせて1量子化レベルあたりの電位を掛けてやる、という具合。
図解するこんな具合。
公式の取扱説明書から拝借。


本当は、ソースコードでは更に補正値として1.17が掛けてあったのですが…まあとりあえず無視。


以上を踏まえ、サードパーティ製ドライバのソースコードを参考にしまくって作ってみたのが、タイトルにある「なんちゃってオシロスコープ」

usb1608fs_oscillo.py
import usb

def Initial():
     USB1608FS = usb.core.find(idVendor=0x09db, idProduct=0x007d)
     for i in range(7):
     if USB1608FS.is_kernel_driver_active(i):
          USB1608FS.detach_kernel_driver(i)
     USB1608FS.set_configuration()
     # ch0-0 1Hz 1sample 10V
     USB1608FS.ctrl_transfer(0x21, 0x09, 0x0, 0x0, [0x43, 0x01])
     USB1608FS.ctrl_transfer(0x21, 0x09, 0x0, 0x0, [0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00])
     USB1608FS.ctrl_transfer(0x21, 0x09, 0x0, 0x0, [0x11, 0x00, 0x00, 0xc0, 0x03, 0x10, 0x00, 0x08, 0x95, 0x98, 0x04])
     return USB1608FS

def dec2bin(decimal, digits):
     binary = bin(decimal)[2:]
     if len(binary) < digits:
          binary = '0'*(digits-len(binary))+binary
     return binary

USB1608FS = Initial()

i = 0
while True:
     PIPE = i%6+1
     O = USB1608FS.read(0x80+PIPE+2, 0x40, interface=PIPE, timeout=1000+100)
     V = (int(dec2bin(O[1],8)+dec2bin(O[0],8),2)-0x8000)*10.0/0x7fff
     Vdisp = int(round(V*5.0+50))

     print ' '*(Vdisp-1)+'|'

     i = i+1


取り込みで沢山返ってくる値の内の第1、第2要素だけを抜き出してきてます。
ただ、他の要素も大体連動して同じような値になるので、結局のところどの要素に着目すればいいのやら…
チャンネル数を増やして、別々の値を掛けて…とかすれば分かるのでしょうけれども…それもまた追々。


matplotlibとか使って見栄えよく作ろうとしたんですけどね…アニメーション化の方法分からない…
でも、これはこれでシンプルでいいですよね?
16bitを全く活かせていない、7bit程度で十分な感じですけど。
ただ、こうなると、横スクロールさせたくなってしまいます。

20120318

アドレス変更メール送ったら、MAILER-DAEMONさんが27通も返事をくれました。

最近携帯替えて、Gmailメインにしたんですよ。
そうして案内メール送ったら、こんな哀しい事態に。

ただこれは、27人全員からアドレス変更を教えてもらえていない、ということでは決してないはず。
相手がGmail等々を弾くように設定しているはず。
そう信じたい。
だって、姉からもmailer-daemonでしたから…


さて、これにどう対処しましょうか、って放っておきます。
メールが駄目なら電話?というのも面倒ですし…
とりあえず、新アドレスは自分のプロフィール(このページ下部のリンク参照)の「お問い合わせ メール」と同じです。
といっても、メールが届いてない27人の方の大半はこのブログを知らないでしょうから、無意味な告知なんですけどもね。

20120311

「天獄と地国」読了

無駄に設定が細かい気がするし、後味よろしくないですが、面白いです。
まあ「無駄に細かい設定」というところが好きなだけかもしれませんが。

「海を見る人」収録の同名短編作品を長編化したもの。
以前の短篇は今回の作品の第1節のみを書いたような感じです。

さて、ストーリーというか設定は上記画像のオレンジの小さな文字を読んでもらえば分かると思います。
そういえばAmazonで「エヴァのパロディ」という評価をしていた人がいましたが、巨大な、搭乗に不快感を伴うロボット的なもので戦うという点がそうなのでしょうね。

「後味よろしくない」と書きましたが、続編でも書いてくれればスッキリするかも。
あとがきの「……実はこの物語はまだ語り尽くされてはいないのである…物語の語られていない他の部分に関してもいつか執筆する機会があればと思うのである」に期待しています。

20120310

SNSS後記、細胞内でアレコレ。

最終日は貝渕先生によるセミナー。
例え日本語で発表されていても、理解度は同じだったでしょう。

二章構成の第1章は固有名詞の多さに辟易。
「タンパクAとBとCがくっついて何とかかんとか…」ってひとまとめにして「タンパクA'が…」じゃ駄目なんですかね?
駄目なんでしょうね。
そいつらが分かれてどうこうという議論をしていましたしね。
第2章では、ニューロン新生時に沢山できる突起の内の一本が軸索になり、他は樹状突起となる「運命」を決めるのは何か?という話。
コッチも結局固有名詞出まくりでしたが、テーマは好きでした。

この手の話を毛嫌いすべきではないのでしょうけれども…

さて、来年は誰が来るのでしょう?
Neuroengineeringの人も来てくれないでしょうか?

20120309

SNSS2日目、セミナー、懇親会。

今日はDrs. Ikegaya, Dan, and Halpain.
Dr. Ikegayaの話、以前別のセミナーで聴いたことありました。
unpublishが何とかかんとか2011や2012になってましたけど。
順調でいいですね。
Dr. Halpainの話は自分の苦手な系統でしたけれども不思議と眠くならず。
Dr. Danとは懇親会で話せて感激。
ポスター来てくれてまた感激。
まあ懇親会の時にお願いしたんですけれども。

さて明日は...こんなに夜更かししてマズイかも。

20120308

SNSS1日目、セミナー、ポスター、飲み会。

ゼブラフィッシュの恐怖条件付けやシミュレーションの話。
明日は特に聴きたい人が来る日。
しっかり寝なくては。


20120307

SNSS0日目、予習会と飲み会。

日付跨いだので昨日から、京都で行われているスプリングスクール、SNSS2012に参加中。
細胞内メカニズムとか理解出来無さ気で不安...
ではあるけれども、同時に楽しみ。
気楽にいきますかね。


20120225

Blink the LED!


前回に引き続きUSB-1608FSネタ。

あの後、取り込みを行おうと色々やってみても上手くいかなかったので、とりあえずより簡単そうな「LEDの点滅」でヒントを手に入れようと。
参考にしたのはSnoopyProの出力とUSB-1608FSのLinux向けサードパーティ製ドライバのソースコード(C言語)
それと、数々の先人達のページ等々(最後に列挙)。

SnoopyProは、PCとUSB機器の間で行われる通信を「嗅ぎ回る(snoop)」ソフトウェア。
上の画像のような結果が得られます。
因みにアイコンはスヌーピー。
ヘルプも読まず、しばらく使い方が分からずにいたのは自分です。
これは残念ながらLinuxでは使えなかったのでWindowsでsnoopしました。

ドライバのほうは、これを入れてしまえばPythonからC言語のライブラリを扱えるctypeで使うことが出来る、と踏んでいたのに上手いことインストール出来ず断念。
中でやっていることをPyUSB的に書き直す、という具合のことをやっております。

さて、USB-1608FSに付属のInstaCalでインジケータLEDを点滅させたところまでのsnoop結果が上の画像になります。
初期化云々で436パケット、その後のLED点滅で2パケット増加しましたので、その最後の2パケットに「LED点滅命令」が含まれているはず!
「TransferBuffer」のある227 out downが怪しいと考え、各種引数に対応する(と思う)値を代入して

USB1608FS.ctrl_transfer(0x22, 0x09, 0x40, 0x02, [0x40, 0x00])

しましたが

USBError: Input/output error

ここでまたもやしばらく悩むことに。
しかしながら何故か閃き

USB1608FS.ctrl_transfer(0x21, 0x09, 0x40, 0x02, [0x40, 0x00])

という具合に第1引数(bmRequestType)を227 out downに続く227 out upで使われている値に変更したところ、通った!点滅した!


よし、この勢いで取り込み!
とはいきません…


因みに

USB1608FS.ctrl_transfer(0x21, 0x09, 0x0, 0x0, [0x40, 0x00])



USB1608FS.ctrl_transfer(0x21, 0x09, 0x40, 0x02, [0x40])

でも点滅したので実際のところ重要なのは「0x21」「0x09」「[0x40]」っぽいです。
最後の引数はリストにしないと「繰り返し不可」みたいなエラーが返ってきます。



参考ページ

libusbについて - Linux工作室
技術資料 - C言語 演算子
libusb: Synchronous device I/O
libusb-1.0 – libUSBとは 技術解説 電子デバイス・半導体 : 富士通usb
Hacking the Kinect - How to hack USB device drivers

20120216

detach_kernel_driverしまくってやればset_configurationが上手くいく



久々に真面目な話。
現在進行中の作業を公にすれば途中で投げ出すこともなかろうと。
それと、作業中にリファレンスが少なくてうがぁぁぁぁ!!となったので、このログが誰かの参考になれば幸い。


ここ最近、新しい実験システムの構築に取り組んでおります。
”出来るだけ安く”を目標にUbuntu+Pythonで作ろうとしているのですが、データ取り込み・A/Dコンバータ操作でハマり気味。
因みに現在はWindows XP+MATLABで実験しています。
MATLABなんて大体の研究室にあるんじゃないの?なんて考えていますが、今後それのない研究室にも移ることの出来るように、先にフリーのプログラミング環境であるPythonの勉強をしておこうかと。
それと趣味。
まあいくら金をかけたくなくてもPCだったり、アンプだったり、モニタだったり、今詰まってるA/Dコンバータだったりは必要なわけですが。
そもそも、今後移る先が電気生理の研究室では無い可能性もありますが。
そんな時でも、どんな時でも、出来る事は多いに越したことはあるまい。


さて本題。
開発環境はUbuntu 11.10 64bit。
使用するA/DコンバータはMeasurement Computing USB-1608FS
USB接続のこいつには公式のUbuntu(というかLinux)用ドライバが存在しないので、PythonからUSBを操作するPyUSBを用いて

import usb
USB1608FS = usb.core.find(idVendor = 0x09db, idProduct = 0x007d)
USB1608FS.set_configuration()

なんてやるとまずはPermission Deniedになりましたので、/etc/udev/rules.d/に中身が以下の60-mcc-usb1608fs.rulesなるファイルを作ってやりました。

BUS=="usb", SYSFS{idVendor}=="09db", SYSFS{idProduct}=="007d", MODE="0666"

Measurement Computing社(SYSFS{idVendor}=="09db")のUSB規格(BUS=="usb")のUSB-1608FS(SYSFS{idProduct}=="007d")が接続されたら、そいつの読み書きを許可(MODE="0666")しますよ、ということらしいです。
この会社の装置用の、Linux向けドライバを作ってるところ(ココ)を参考、というか必要部分だけをわざわざ抜き出しただけなのであまり理解出来ておりません。
まあでも一応こういうサイトは読みました。
SYSFS{idVendor}=="09db", SYSFS{idProduct}=="007d"だけで装置は一意に定まるのでBUS=="usb"は不要な気はしますが試していません。

さて、このファイルを作ったらTerminalで

/sbin/udevadm control --reload-rules

をやって、rulesファイルを読み込ませてやって、再度

import usb
USB1608FS = usb.core.find(idVendor = 0x09db, idProduct = 0x007d)
USB1608FS.set_configuration()

で今度は

USBError: Resource busy

と言われ、数日ハマってしまいました。
ググッてみるとdetach_kernel_driver()すればいいということは分かったのですが、引数がよく分からない。
interfaceってそれなんぞや?
とりあえず適当に0を入れてみたら

USB1608FS.detach_kernel_driver(0)

回りはしたのですが、それでも依然Resource Busy。
set_configuration()と同じ引数(装置依存のbConfigurationValueなる値、USB-1608FSの場合は1だが、指定しなければ内部で適当な値を見繕ってくれる)を入れて回してもResource Busy。

じゃあ色々な値を引数に取り得るので、片っ端からdetachしてやろうじゃないかと。

for i in range(100):
    if USB1608FS.is_kernel_driver_active(i):
        USB1608FS.detach_kernel_driver(i)

0-99の引数でdetach。
この値のレンジに特別意味はありません。
if USB1608FS.is_kernel_driver_active(i):で元々detachされてる数字は除外。
これでResource Busyにならなくなりました!
因みに、どの引数でdetachされるのかを見るためにprint iをつけてみると

0
1
2
3
4
5
6

が出力されましたので、forループはrange(7)で良さ気?
そもそも、この中のどの値のせいでResource Busyだったのかは調べていません。
たぶんどれか一つでいいのでしょうね〜

さて、これで早速記録可能か!?と喜びも束の間、なかなか先に進めずにまたもや数日ハマっているのが現在の状況です…
うがぁぁぁぁ!!

20120214

ヤツは来ない2012冬

今朝メールがあって、やっぱり来ないんだそうな。
む〜ん残念。
まあ掃除を急ぐ必要が無くなって助かったか。

ヤツが来る2012冬

ここ数年、夏に遊びに来ていた高校時代の友人が今日来るそうな。
まあ連絡自体は先週末に受けていたのですが。

で、自分はといえばここ数週間少しずつやっていた掃除を、ヤツの来阪に間に合わせて終わらせようかと思いましたが、無理でした。
しかし、とりあえず、自分がこっちに来てから手付かずだった(つまりかれこれ5年程そのままだった)浴室の天井のカビは処理しておきました。
もう本当、気持ちいい感じ。
浴室の白成分が高くなりました。
他の部分は…ヤツが来るまでに出来る限り…

ところでヤツは寝床はどうするつもりなんでしょう?
毎年夏に来て、マットレスだけはあると思ってるでしょうけれども、実は最近寝袋買ったんですよね、趣味で。
そのことをヤツは知らないはず。
ヤツも寝袋を持ってきたりしたら面白いのだが…

20120119

明けてましておめでとう御座います。

今年もよろしくお願い致します。¥〜〜

¥〜〜 ←コレ、辰に見えないだろうか?
角と髭と細長い体。


まあ、ともかく、お久しぶりです。
前回からふた月近く経ってしまってるんですね。

研究室で学会報告会を行い
ジャーナルから返ってきた論文を修正し
12月末に送り返し(因みに未だに返事無し)
年末年始は実家にてダラダラとモンハンばかりやって過ごし
こっちに戻ってからは実験しetc...


話は変わりますが、
Amazonで買った荷物を受け取り損ねて今日で三日目、と思っていたら21時近くに届けに来てくれました。
配達員の方に受付時間ギリギリに電話をかけて出てもらえなかったから無理かと諦めてたんですけどね。
「再配達お願いします」と伝えてもいないのに来てもらえたということは、着信履歴だけで判断してくれたのか?
何度もお世話になってるから自分の番号覚えてくれてるのかな?
いやしかし、受付時間ギリギリに何としても電話に出てもらおうと思って、1分毎に3回かけたんですよね。
しつこいヤツと思われただろうな。
でも、届けてくれたのはかなり嬉しい。


まあ、こんな感じで今年もよろしくお願いしますね。