wiki:epics/bbb/debian/USBHID/USB_SP4T

Version 2 (modified by michkawa, 7 years ago) (diff)

--

drvAsynUSBHID (汎用USB HID用asynPortDriver)

mini-circuits社USB-SP4T-63をEPICSで制御するためのIOCをBBB上に作成することになった。
このデバイスは制御するためのIFがUSBしかなく、OSからはUSB HIDデバイスとして認識されるという代物だった。
帯名さんが事前にpython + HIDAPIを使って制御できることを確認してくれていたので、制御自体は簡単であることがわかっていた。
ちょうど、drvAsynI2Cを触ったこともあり、いっその事 USB HID デバイスで汎用的に使用できるものを asynPortDriver で作ってしまおうということになった。

ダウンロード

できたばかりなのでバグがあるかもしれませんが、ダウンロードできるようにしておきます。

drvAsynUSBHID 最新版(2017/0704)

概要

ドライバサポート名は、drvAsynUSBHID とした。

  • デバイスのオープンやデータの送受信は drvAsynUSBHIDで行う。
  • 送受信するデータは streamdevice を使って解析する。
  • データの送受信は 65 byte単位で行う。
  • USBデバイスへのアクセスには HIDAPI を使う。

何故、一回の送受信データが65byteなのか詳しくはわかりませんが、今回は深く突っ込みません(;)。

依存関係

drvAsynUSBHIDは、HIDAPIをasynPortDriverでラッピングしたものなので、HIDAPIをOSにインストールする必要があります。

  • EPICS base 3.14.12.5 以上
  • asynDriver 4-26 以上
  • HIDAPI

ここではBBBで使用していますが、普通のPCでも動くと思います。

インストール

BBB + Debian8 を前提にして説明します。

HIDAPI

まずはHIDAPIをインストール。

root@beaglebone:~# apt-cache search hidapi
libhidapi-dev - Multi-Platform library for communication with HID devices (development files)
libhidapi-hidraw0 - Multi-Platform library for communication with HID devices (hidraw backend)
libhidapi-hidraw0-dbg - Debugging symbols for libhidapi-hidraw0
libhidapi-libusb0 - Multi-Platform library for communication with HID devices (libusb backend)
libhidapi-libusb0-dbg - Debugging symbols for libhidapi-libusb0

libusb版とhidraw版がありますが、今回はhidraw版を使用。

root@beaglebone:~# apt-get install libhidapi-hidraw0 libhidapi-dev

これ以降の使い方は、ダウンロードファイルのREADME.mdに書いてあるのでそちらを参照。

参照HP

signal11/hidapi
HID API for Linux, Mac OS X, and Windows
HIDAPI:Signal11の罠

Attachments (1)

Download all attachments as: .zip