| Km2Netの汎用USB-IOを動かす |
|
この機器をUSBに差し込むと"uhid"で認識されるのですが、操作するために利用するlibusbが"ugen"でないと出来ないので"uhid"を無効にするためにカーネルの再構築を行います。
まずはカーネルの該当箇所を書き換えます。 "/usr/src/sys/i386/conf/GENERIC"
(色分け:書換、追記、コメント)
261: # USB support
(色分け:入力値、コマンドライン、コメント) # config GENERIC
カーネルの再構築が終われば次はlibusbをインストールします。
(色分け:入力値、コマンドライン、コメント) # portinstall libusb libusbに関するドキュメントはここに記載されています(かなり簡易で書かれていますので少し分かりづらいところもありますが)
あとは実際に動かすためのプログラムをCで書けば良いのですが全てを一から書くのはかなり難儀なことなので「バケさんの趣味の部屋」で公開されていたプログラムを活用させて貰っています。
ダウンロードしてくるファイルは「Linux(FC6,FC5)で汎用USB-IO(ビット操作)サンプル 」にある"musbiobase.h"と"usbio.c"の2つでこれを適当なディレクトリに保存します。 で、あとはこれをコンパイルするだけなのですが、その前にいくつか編集しないといけないのでまずそれを行います。 [musbiobase.hのダウンロードはここから出来ます] (改変したソースファイルは事前にバケさんの了解を得た上で公開しています) "musbiobase.h"
(色分け:書換、追記、コメント)
1: /* For TECHNO KIT */ gcc -o usbio usbio.c -I/usr/local/include -L/usr/local/lib -lusb 編集が終わればコンパイルを行います。
(色分け:入力値、コマンドライン、コメント) (実際には1行)
コンパイルが終われば、そのプログラムに必要なオプションを付けて実行することで取得したり出力したり出来ます。
■ヘルプの表示(引数を付けずに実行)
(色分け:入力値、コマンドライン、コメント) # ./usbio ■状態の取得
(色分け:入力値、コマンドライン、コメント) # ./usbio -i -p0 ちなみにKm2NetのUSB-IOではポート0(8ビット)+ポート1(4ビット)の12ビットが扱えます。 ■ポート0の3ビット目の状態を取得
(色分け:入力値、コマンドライン、コメント) # ./usbio -i -p0 -b3 ■Hi出力
(色分け:入力値、コマンドライン、コメント) # ./usbio -h -p0 |
| < 前へ |
|---|

尚、ここで記載している内容はKm2Netさんで販売されていた汎用USB-IO(写真)を前提にしています。
作成日:2008.7.11
更新日:2008.10.7