パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

ダニエルパウター」記事へのコメント

  • by Anonymous Coward on 2006年05月13日 16時39分 (#938453)
    すいませんお願いがあります。 このページを参考にいろいろいじりましたが usb-ioがうまく動いていません! usbマウス、キーボードのためだと思います。 その対策を施したソースを公開していただけないでしょうか? よろしくお願いいたします。困っています!
    • by g26a345 (7671) on 2006年05月14日 13時49分 (#938829) 日記
      状況がよく分からないけど、私がやってることは、
      USBIO経由でDS1620という温度計測ICをアクセス
      てな事ですが。

      ちょっと前のことなんで中身忘れてますが、ソースを ここ [geocities.jp]に置きました。参考までに。

      あと、ここ [srad.jp]も参考になるかな?

      てな感じで。
      親コメント
      • by Anonymous Coward
        参考リンク http://kkuma.sytes.net/Linux-usb/index22.html 早い話が 赤外線リモコンで操作できるリレー基板のON-OFF時に発生する5Vの電圧をUSB-IO基板で検出してその結果をもとにTita-2.1により、リレーをON-OFFする信号を発信させて制御しようというものです。 それとお知らせがおくれましたがTira-2.1の事についても このページを紹介しています。報告が遅れてしまいましたが ありがとうございます!これからもよろしくお願いいたします。 それで肝心の結果ですが教えていただいたソースで コンパイル後に実行するとデバイスが消えてしまいます
        • by g26a345 (7671) on 2006年05月14日 16時00分 (#938861) 日記
          ほとんど忘れている上に、実際に目の前で物見ないと分かりにくいので、的外れな回答だったらすみません。

          私はテクノキットのUSB-IOを使用してます。
          というわけで、VENDER-ID/PRODUCT-IOはここ [geocities.jp]の頭あたりに書いた値にしてますが、 テクノキットとKm2NetではUSB-IDが違うようです。
          ここあたり [bake-san.com]が参考になるかな?

          IDは合わせてありますか?(合わせてたら外してます。すみません)
          親コメント
          • by Anonymous Coward
            #define USB_VENDOR 0x1352 #define USB_PRODUCT 0x0100 km2netのIDにしてやってます。 ここを変えないでやるとセグメンテーション違反 になります。ちなみに hidデバイスの名前を表示するやはりこのブログで 紹介されていたプログラムは動作しています。 rio500での動作はだめでした。 ps 今バケさんとはメールでやりとりしていて共同開発?状態です(笑)
        • by g26a345 (7671) on 2006年05月14日 17時05分 (#938884) 日記
          当時何をやったかすっかり忘れているのですが・・・

          当方でもコンパイル&実行してみました。
          (実行したのはここ [geocities.jp]に書いたやつ)

          結果、問題なく実行出来たようですが、実行後、
          ls /dev/hid*
          しても、結果は、
          ls: /dev/hid*: No such file or directory
          ですね。
          libhidでないんで、/dev/hid*ではないのかもしれません。
          親コメント
      • by Anonymous Coward
        # ./usb_in 実行前後でdmesgをみるとこんな感じです... hiddev96: USB HID v1.00 Device [Km2Net Km2Net USB-IO Ver1.0] on usb-0000:00:1d.0-1 usb 1-1: usbfs: interface 0 claimed by usbhid while 'usb_in' sets config #1
        • by g26a345 (7671) on 2006年05月14日 17時26分 (#938890) 日記
          ここは同じような感じですね。

          USBデバイス挿入で
          usb 3-1: new low speed USB device using uhci_hcd and address 4
          hiddev96: USB HID v1.00 Device [Morphy Planning generic USB IO ver.2] on usb-0000:00:10.1-1
          プログラム実行で
          usb 3-1: usbfs: interface 0 claimed by usbhid while 'a.out' sets config #1
          USBデバイス抜去で
          usb 3-1: USB disconnect, address 4

          でも、USBデバイス挿入時であっても、
          # ls /dev/libhid*
          ls: /dev/libhid*: No such file or directory
          ですね...
          親コメント
          • by Anonymous Coward
            うーんどう確認すれば良いか?
            よくわかりません。困りました。
            すいませんが、もうちょっと教えてください。
            私の使用しているUSB-Anは
            usb-io + DAコンバーターという構成になっており
            伊藤さんのドライバー使用の時は(12bit)
            #初期化
            echo 111111111111 >/dev/usbio0
            #An0読取設定
            echo 001111111111 >/dev/usbio0
            #An0読取
            head -1 /dev/usbio0

            という感じで使用していたのですがこれをここHPを
            参考に(パクって)考えると単純に出力の部分
            (LEDすべて点灯の部分だけ)して入力のメインの部分を実行
            すれば12bitを読み取れるような気がしますが
            どんなもんでしょうか?

            • by g26a345 (7671) on 2006年05月14日 20時15分 (#938929) 日記
              私の場合、伊藤氏のドライバを使ってないですね。
              libusb [sourceforge.net]を使ってます。
              伊藤氏のドライバ(パッチ)を組み込んだ状態でlibusbがどう動くかはちょっと定かではないです。

              私が以前書いた内容(*1) [srad.jp]をベースにして、ここ [srad.jp]に書いたような修正も行って、
              ・ライト時はctl[0]にポート区別、ctl[1]に値をセットして書き込み。
              ・リード時は実行結果のctl[1]の値を見る。
              で出来そうな気もしますが、、、
              libusbを使った私のプログラムではPortAとPortB同時にアクセスはできませんが、繰り返すことで出来るはずです。

              実際、以前ここに書いた内容(*1)でも、MAINを見てもらえば分かると思いますが、
              ・ライト時
              1)PortAに書き込みコマンド(ctl[0]=0x01):ctl[1]=0x00を書いて全LED点灯
              2)PortAに書き込みコマンド(ctl[0]=0x01):ctl[1]=0xFFを書いて全LED消灯
              3)PortBに書き込みコマンド(ctl[0]=0x02):ctl[1]=0x00を書いて全LED点灯
              4)PortBに書き込みコマンド(ctl[0]=0x02):ctl[1]=0xFFを書いて全LED消灯
              ・リード時
              1)PortAのリードコマンド(ctl[0]=0x03)発行
              2)インタラプト転送でポートの値(ctl[1])を確認
              3)PortBのリードコマンド(ctl[0]=0x04)発行
              4)インタラプト転送でポートの値(ctl[1])を確認
              てな感じで、PortAとPortBを繰り返して実行してるだけです。

              やってることは単純なので、そのまま動くような気もしますが、ダメですかね・・・?
              親コメント
              • by Anonymous Coward
                /* ------------ */ /* MAIN */ /* ------------ */ int main(void) { int ret; int c,i,a; struct usb_bus *bus; struct usb_device *dev; usb_dev_handle *udev; unsigned char ctl[8]; bus = morphy_init(); dev = morphy_find(bus,dev); if( dev!=NULL ){
                • udev=morphy_open(dev); ctl[2]=ctl[3]=ctl[4]=ctl[5]=ctl[6]=ctl[7]=0; /* Port0 -> Write 00(LED On) */
                • ctl[0]=0x01; ctl[1]=0x00;
              • by g26a345 (7671) on 2006年05月14日 21時47分 (#938962) 日記
                すみません。。。せめて改行つけてもらえませんか。。。
                もしくはメッセージ形式で「ホントのテキスト形式」にするとか、お願いいたします。
                親コメント
              • by Anonymous Coward
                タグ入れの途中で投稿してしまいました。
                申し訳ないです。
                要は教えていただいたソースの必要と思
                われる部分を切り貼りしただけです。
                動くと思うのですが反応なし...
                しばらく頭を冷やして考えます。
                時間を取ってしまって申し訳ありませんでした。

                一応もう一度見やすいように投稿しようとしましたが
                自作自演がどうのこうのと空白が多いとかで却下に...

長期的な見通しやビジョンはあえて持たないようにしてる -- Linus Torvalds

処理中...