2007年09月25日
10.4でのHID Utilities Source @ Mac
Mac OS X 10.3の時と10.4でHID Utilities Sourceを使ったプログラミングのやり方が若干違うようなので、そのメモです。
以下に手順を書いておきます。あくまでも自分用のメモなので、端折っている部分も有るかも。
先ずはADCからHID Utilities Sourceをダウンロードして、Xcodeで開き、ビルドします。
HID Utilities Source
>>関連リンク
次は、作業用のディレクトリーを何処かに作って、その中にFrameworksとbuildと言う名前でディレクトリーを作っておきます。ココでは以下の説明のため、作業用ディレクトリーはMyProjとしておきます。
今度は、ビルドして作ったlibHIDUtilities.aとlibHIDUtilities.dylibをMyProj/Frameworksへ入れておきます。それから、HID Utilities Sourceに入っているHID_Utilities_External.hをMyProjにコピーします。
例として、実験に使ったソースコードを書いておきます。以下のソースをhello_hid.cという名前でMyProjに保存します。
---8<---キリトリ---8<---キリトリ---8<---キリトリ---8<---
#include "HID_Utilities_External.h"
#include <Kernel/IOKit/hidsystem/IOHIDUsageTables.h>
#include <stdio.h>
int main(int argc,char **argv){
UInt32 num_devices;
printf("hello world\n");
UInt32 usagePage = kHIDPage_GenericDesktop;
UInt32 usage = kHIDUsage_GD_Joystick;
HIDBuildDeviceList(usagePage, usage);
//HIDBuildDeviceList( 0, 0 );
if (! HIDHaveDeviceList() ){
printf("error!!");
return 0;
}
num_devices = HIDCountDevices();
printf("Number of Devices = %d\n",num_devices);
return 0;
}
---8<---キリトリ---8<---キリトリ---8<---キリトリ---8<---
で、以下のコマンドを実行。
gcc -lHIDUtilities -o build/hello_hid hello_hid.c -L./Frameworks
これで、buildディレクトリーにhello_hidが出来ているはずなので、
./build/hello_hid
とすれば実行できます。
以上、10.4でのHID Utilities Sourceを使った開発のメモです。
どの程度参考になるかは分かりませんが、Macに対応していないUSB 機器でHID対応したモノを使いたい場合に多少参考になるかなと思います。例えば、USB-IOもHID対応なので、Macで使おうと思えば、使えます。Macの場合、情報が少ないので使っている人は少ないようですが・・・。
2007年9月28日修正
上のソースで一部具合悪いところがあったので修正しました。HIDBuildDeviceListの部分に関しては、IOHIDUsageTables.hを見て、それぞれ必要な値を渡してください。上記のソースではジョイスティックを想定して書いてあります。
関連日記
- 2006年10月09日 PythonでUSB-IO (6764)@ 電子工作
- 2007年09月28日 USB HID+MIDIプログラミング (3257)@ Mac
- 2007年09月23日 同じ事で填っている(T_T) (2828)@ Mac
- 2006年10月13日 HIDSetQueueCallback (2732)@ Mac
アマゾン広告
この日記ページは閲覧数などの条件に応じて、閲覧制限を行っています。他からリンクしていただいても、そのリンクから辿った閲覧者が当ページの内容をご覧頂けない場合があります。ご了承下さい。