2008-02-18[n年前へ]
■新しいThinkpad にも対応した加速度センサ値取得プログラム
(新しいThinkpadにも対応したバージョンが「Thinkpad加速度センサ取得用C++クラスの手直しをしました」にあります)
新しいThinkpad(T61,X61など)にも対応(しているはず)の「加速度センサ値取得プログラム」を作成しました。少し前に、Thinkpad T60pで加速度センサ値が取得できない(意訳)」とメールが来たことをきっかけに調べてみたところ「 X61 Tablet で加速度センサを使ったアプリが動かない件」というような情報がありました。そこで、ShockMgrデバイスを直接開くのでなく、Sensor.dll中の"ShockproofGetAccelerometerData"を使うようにAccelerometerのC++クラスを書き換えました(C++ クラス ソース)。
使い方はこれまでと同じように
Accelerometer anAccelerometer;という具合になります。コマンドラインから傾斜(加速度)を取得するためのサンプルプログラムおよびソースも付けておきます。サンプルプログラムの使い方は、200msごとに100回計測を行う場合には、下記のようになります。 AccelerometerCommand.exe 200 100
anAccelerometer.GetAccelerometerData();
std::cout << pAccelerometer.X << ", ";
std::cout << pAccelerometer.Y << "\n";
これまで作った三次元画像表示プログラムなどは、順次新しいバージョンに作り直し・入れ替えなおしていこうかと思います。
2009-12-06[n年前へ]
■Thinkpad加速度センサ取得用C++クラスの手直しをしました
Lenovo(IBM) Thinkpad加速度センサ取得用C++クラス(関連記事・Thinkpad加速度センサ取得用C++クラス/新しいThinkpad にも対応した加速度センサ値取得プログラム)を少し手直ししておきました。動作は全く変わりませんが前回の修正の際に不要な部分が残っていたので、その点について直しました。
Thinkpad加速度センサ取得用C++クラスをまとめたヘッダファイルソース(Sensordll.h)、および、使用サンプルソース・バイナリ(sample.cpp・sample.exe)は、ここに置いておきました(古いバージョンは、サブディレクトリに置いてあります)。
サンプル・アプリケーション例では、よく意味がわらないままに、"Temprature"も出力するようにしてあります。
sample.exe 1000 10という風にコマンドラインからアプリケーションを実行すると、
0=x, 0=y,35=temp. 0=x, 0=y,35=temp. 0=x, 0=y,35=temp. 0=x, 0=y,35=temp. 1=x, 1=y,35=temp. -16=x, -3=y,35=temp. -1=x, -1=y,35=temp.とった具合に左右方向の傾斜と奥行き方向の傾斜(とtemprature)を出力します。