2009年8月31日月曜日

FT232RL

GigaSt v5のUSBチップは、FTDI社のFT232RLというUSB-RS232Cチップが使われている。
よって、GigaSt v5のソフトウェアをインストール時に、このFT232RL用のドライバをインストールしている。
このチップは、結構あちこちで使われているようで、アプリケーション側はUSBがあることを意識しないで、シリアル通信をすることができるそうだ。

ruby-usbドライバが使えなかったので、シリアル通信をすることにしたのだが、どうもうまくデータが取れない。送信するデータは、SnoopyProで確認するとGigaStのオリジナルソフトとまったく同じ内容なのだけれど、なぜかUSBの挙動が違う。オリジナルソフトは、送信前にドライバーとUSBチップの間で何度かコントロールコードのやり取りがあって、そのあとGigaSt向けのデータを送っている。そのあと1秒以内に計測結果が返ってくるのだ。

rubyのシリアル通信用ライブラリがおかしいのか?

wincom.rbというものをつかっているのだが、ソースをざっと見たところ、Win32APIを呼び出している。

送信モードが何か違っているのかなぁ?バイナリーとアスキーがあるのか?

ruby-serialportがコンパイルできなかったので、rubyのDL2でDLLを直接呼び出すことになるのかなぁ。。。

1 件のコメント:

  1. FT232RL、もしかしてDirectDriverで使用してるのかも知れません 仮想COMポート(VCP)ドライバで動いているなら問題ないはずですが・・・不思議ですねぇ

    返信削除