So-net無料ブログ作成
検索選択
ガウシアンビーム ブログトップ

ガウシアンビームの光学 - その5 [ガウシアンビーム]

仕事が忙しくなったせいで前回からずいぶん間が空いてしまった。何週間も空くと何をやってたのか忘れてしまいそうになる。

今日は前半の山場、前回導いた近軸波動方程式の特徴的な解を導く。

続きを読む


ガウシアンビームの光学 - その4 [ガウシアンビーム]

ソネットのサーバが軽い。編集が一度も失敗しないのは久しぶり。

それはどうでもいい。先日の続き。今日はガウシアンビームの基礎となる近軸波動方程式をある近似のもとで導く。波動方程式は味わい深いのでちんたらと、いろいろいじってきたけど、今日が前置き部分の山場。

続きを読む


ガウシアンビームの光学 - その3 [ガウシアンビーム]

今日は前回の続きをちょっとだけ。平面波じゃない解を作るための前準備。

ところで、読みましたよ、シーケンサ用の通信路透過なプロトコルの仕様書、というか取説。UDPとTCPを使う2通りがあって、どちらでも同じことができるらしい。TCPにはTCPそのもののコネクションに加えて、アプリケーション層でもコネクションの確立のような手順が加わっている。なんでそんなことしないといけないのかよくわからないし、めんどくさいのでUDP側の、しかも使うところの仕様だけを埋めるためのつまらない、いわゆるボイラープレートコード(ヘッダを作ってフレームにまとめてチェックサムを計算して等々)を大量に書いた。先週末シーケンサ屋につきあってもらってテストした。

やってみると、こちらからデータを送っても応答がない。だいたいこっちからシーケンサ側のポートに投げるとICMPのunreachableが帰ってくるので塞がっているように見えるんだけど、Windowsのライブラリを介した場合にはちゃんと通信ができる。なんで?

ぜんぜんわからなくて、結局動かないということだけわかった。もうどうしようもないと思って途方に暮れていたら、ターミナルを接続するためのRS-232Cのコネクタがシーケンサの本体にあって、その読み書きは簡単にできるとシーケンサ屋がいう。レガシーだから難しいことをしていないらしい。それを最初に言ってくれよ。

急遽、Mac miniで使えるUSB-RS232C変換ケーブルを自腹で手配してそれ用に書き換えていたところで時間切れでお互いお盆休みに突入してしまった。めちゃ消耗した。

ところで、USB-RS232C変換ケーブルはいろいろあるけどたいていWindows用のドライバしかなくてOS X用に正式に供給されているのは10年以上前からあるKeyspanのものぐらいしかない。しかし多くの変換器がFTDI社のUSB-UARTコンバータチップを使っていて、10.9にはなんとFTDIのドライバが標準で乗っている(/System/Library/Extensions/FTDIUSBSerialDriver.kext)。これが持っているinfo.plistに書き足すとデバイスファイルの名前を変えたりできるらしい。しかし今回はそんなことで遊んでいてはいられない。

変換器をUSBにぷす、と刺すと/dev/にtty.usbserialとcu.usbserialが現れて、引っこ抜くと消えてなくなる。わかりやすい。でもホットプラグには対応できないな、これでは。刺さったのを検出してオープンするというのはできるけど、引っこ抜かれたのを検出しても手遅れということが起こりえる。それも今回はどうでもいい。

デバイスファイルのあつかいは30年前からいやというほどやってるので、さくっと書こうとしたらtermio.hがない、とXcodeがいう。昔はこれにボーレートやパリティやXON/XOFFの設定のための定数が定義されていた。

ぐぐってみるとtermioはレガシー(OS Xにはmanページだけが残っている)でPOSIXに採用されず、そのかわりにtermios.hが作られてそれを経由してioctl()ではなく新しいライブラリコールを使うことになったらしい。ああ、知らなんだ。POSIXに採用されないようなコールをいつまでも使ってたんだ。みてみるとtermioよりスマートな書き方になっている。まあtermioはつぎたしつぎたしで膨らんでけっこうぐちゃぐちゃだったもんな。これは正しい。でももうRS-232Cなんて使うのはやめたいなあ....

続きを読む


ガウシアンビームの光学 - その2 [ガウシアンビーム]

こないだの続き。昨日はシーケンサ屋と一緒に休出してシーケンサに裸のUDPで光学データ計算用のMac miniと通信させようと悪戦苦闘した。丸一日費やして結局うまくいかない、ということだけはわかった。

シーケンサ屋はうんざりして、彼が普段常用しているホストとの通信プロトコルを使え、と言い出した。Windowsにはシーケンサメーカが供給するライブラリがあってそれを経由すればホストもシーケンサも通信経路透過(何で通信しているか気にする必要がない)になっている。とうぜんOS X用にそのライブラリはなく、そのかわりにプロトコルの仕様書を渡された。全部で100MBを超えるPDFファイルの束。今日一日眺めていた。

それはいいとして、前回の続き。まだ目新しいことはない。前回は波動方程式とその一般解を眺めてみた。今日はほんのちょっとだけ先に進んで、時間と空間の変数分離をしてみる....

続きを読む


ガウシアンビームの光学 - その1 [ガウシアンビーム]

急速に忙しくなっている。以前書いた装置のメカが上がってきて、担当したメカ屋電気屋シーケンサ屋たちが、「じゃあ、あとはよろしく」と言い残して去って行った。別に僕が最終的に仕上げる約束をした訳ではないのに、社内でさえ「これはあんたの仕事」という感じになっている。

カメラやフォトディテクタを使った光学的な検出は、単独ではだいたいできるようになってきた。フォトディテクタのOPアンプ回路は結局自分でハンダ付けした。あとはシーケンサとのやりとりができないと全体を動かして確認することができないんだけど、シーケンサ屋が「専用のプロトコルがあるのでそれを使え」と言ってきた。その「専用のプロトコル」なるものはシーケンサメーカのアプリケーション層に対応するライブラリで、100BaseTXでつなぐとホストとシーケンサがネットワークを意識することなくデータのやり取りができるというもので、とうぜんホスト側ライブラリはOS Xなんて対応していない。プロトコルそのものは非公開でそのライブラリと同じ動作をするものを書こうにもどうなっているのかわからない。Macなんて使うなよ、とシーケンサ屋が言う....

また、それとは別に仕事の関連で思うことがあって、その話を今日からしばらく続けようと思っている。装置のほうの進捗次第ではそれどころではないかもしれないんだけど...

ところで、今回から数式と図はレティナディスプレイに対応します。MacBook Proを持ってる人は見比べてみてください。これまでと違って見やすくなってるはずなので。

続きを読む


ガウシアンビーム ブログトップ
メッセージを送る