GAINERをC++で扱うライブラリgainercxx v0.1をリリースしました.
詳細はgainercxx公式サイトをご覧下さい.
現在,和文ドキュメントを作っていないので時間を見つけて作りたいな-と思っています.
あと,いくつか未実装のAPIがあるのでその辺は追々実装したいところ.
というわけで,ソースコード,ドキュメントも置いてあるので
ツッコミ等があればコメント欄 or メールでお願いします.
それにしても地味に疲れたなー.主に英語ドキュメント作成が。。。orz
コメントなし »
GAINERをC++で扱うライブラリをごにょごにょと整理中.
昔自分で書いたコードがコールバック関数をセットしないと落ちるようになっていて泣いた。。。orz
とりあえず,GAINERについているボタン押したとき,離したときのイベント発行等を確認.
APIとしてはこちらのサイトにあるのに近いかなと.
基本的にはprocessingにあるGAINERのAPIに合わせるつもりです.
あとはドキュメント整備かな-.これから英語がさらに必要になりそうなのでドキュメントは
英語で書こうかと思っています.日本語での需要があれば後で書きます(多分)
#Doxygenで生成するドキュメントのローカライズってどうすれば効率良いんだろう??
というわけで,アルファ版的なものを今週末に(できたら)リリース予定です.
やる気の波が非常に激しいdandelionの頑張りにご期待下さい(苦笑)
#とか書くとなんか打ち切りフラグのよう(以下略)
コメントなし »
dandelion’s log » CV・ARに関する普通じゃない勉強会で発表した
GAINERをC++で扱うライブラリ(for Windows)の公開準備中です.
自由に使って欲しいのでMITライセンスで配布予定.
#公式サイト,README,COPYING,ChangeLogを途中まで作って疲れた(苦笑)
#英語面倒くさい。。。orz
あと,現在,自身の環境ではWindows Vistaでしか動作確認できないため,
GAINERをお持ちでWindows XP環境で動作確認して頂ける方がおられましたら,
までご連絡下さい.
準備ができ次第追って連絡させていただきます.
■サンプル動画
加速度センサの値をもとにティーポットを傾けるサンプルプログラム.
Get the latest Flash Player to see this player.
加速度センサの値をもとにウマウマ(゚∀゚)するサンプルプログラム.
コメントなし »
Macと戯れていたら,コンピュータビジョン・拡張現実感に関する普通じゃない勉強会が
近づいてきたので,そろそろ重い腰を上げてみようかと思います(苦笑)
スロースターターですみません。。。>関係者各位
さて,自分のネタですが,発表作品にGainerを使っているものがなさそうなので,
Gainerを絡めたものを出す予定.そのため,フォルダに長い間眠っていた
Gainer with C++ vol.0で自作したライブラリを引っ張り出してみる.
で,いざ使おうと思っていると,単一センサの値読み取り程度なら十分だけど,
いろいろ不備があることが判明したので,同時期に同じことをやっていた
mootoh.log – Gainer++ – GainerをC++から使うを参考に再設計することに.
#正確には上記のもののWindows移植作業+α と言った方が正しいかも。。。
Win32 APIのスレッド周りの知識が怪しいので,結構苦戦して3時間くらいかかったけど,
とりあえず動くものはできました.これでGainerをC++で簡単に扱えます!!
#他人のソースを読むと,こんな書き方ができるのかーと発見があって面白かった
ということで,ボタンを押すと「LED点灯 + ウィンドウ上への情報表示」を行うサンプルです.
相変わらずサンプルが適当だな。。。>自分
Get the latest Flash Player to see this player.
コメントなし »
(ホントに基本機能のみだけど)GainerをC++で扱えるようになったので,某動画サイトの流行に乗っかってみました.後悔はしていない.やってることは,加速度センサの値に応じて,画像を切り替えてるだけです(←俗に手抜きともいう).
今回,初めて某動画サイトへの動画投稿に挑戦しました.
叩かれそうで怖い。。。 まぁ,生暖かい目で(以下略)
2 コメント »
前回予告していたようにC++でGainerを扱うために行った処理を簡単に書いてみます.
もしかしたら,間違っていたり,こうした方が良い点などがあるかもしれないので,ご指摘お願いします.
ということで,今のところ最低限用意しているメソッドはこんな感じ.
(1)Gainer初期化
通信速度,パリティ等の設定(こちらを参考)
(2)リセットメッセージ送信
Gainerモジュールに文字列「Q*」 を送信.
(送信に成功したらGainer側からメッセージが送られるので受け取る)
(3)コンフィギュレーションの設定
Gainerモジュールに文字列「KONFIGURATION_1*」を送信.
(送信に成功したらGainer側からメッセージが送られるので受け取る)
(4)データの取得
Gainerモジュールに文字列「I*」を送信.
送信に成功したら,アナログ入力ain0~ain3のデータが文字列として
送られてくるので,その文字列を受信.
(5)文字列→数値変換
受信したアナログ入力のデータは,「Ixx…xx*」(※xx…xxがデータ部)
という構成の文字列なので,まずは入力分だけ文字列を分割.
また,値は16進なので10進に変換して利用.
(6)後処理
ポートのクローズ処理.
************************
あと,「プログラム風」に書くとこんな感じです.
※前回の記事ではこれらの処理に移動平均法の処理も加えています.
C++:
#include "MyGainer.h" //ヘッダのインクルード
MyGainer *gainer;
int main(int argc, char** argv)
{
//Gainerオブジェクト生成
//ここではCOM3を指定
gainer = new MyGainer(3);
//初期化
//(COMポートオープン、通信速度等設定)
gainer->initialize();
//コンフィギュレーションの設定(MODE1)
gainer->setConfiguration(1);
//キー値
int key = 0;
//ループ
while(1)
{
//データ取得
//(メッセージ送信 + データ受信 + 文字列→数値)
gainer->getAllAnalogInput();
//キー入力待ち(1msec)
key = getKeyInput();
//ESCキーが押されたら終了
if(key == 0x1b)
{
break;
}
}
//後処理(COMポート解放)
gainer->release();
delete gainer;
return 0;
}
1 コメント »
C++でGainerを扱う(といってもアナログ入力のみ)ライブラリを自作したので,早速OpenGLと組み合わせて実験.とりあえず,動いたー!!
でも,ソースが汚いです。。。_| ̄|○
ということで,公開はまだまだ先になりそう(コードがグダグダなのでしないかも。。。).
とりあえず,どんな感じでシリアル通信しているかを簡単に記述した擬似コードを後日記事にする予定.
Gainer with C++(加速度センサ)
Get the latest Flash Player to see this player.
2 コメント »
前回の記事で,
>C++でGainerを扱えるライブラリもあったら便利そうですが
とか言ってたけど,ちょっと探した感じだと無さそうなので自力でなんとか作ってみる.
まぁ,Gainerモジュールとはシリアル通信ができるので,Tutorial/Basic/Common/03/ja - GAINER.ccやSourceForgeに置いてある資料(シリアル通信の際のコマンド表),javaのソースなんかを参考にしながらゴリゴリと(自分用なのでエラー処理とか適当).
とりあえず,アナログ入力1~4までのデータ取得はできた感じなので,時間を見つけて簡単なアプリができたらなぁと.
以下はアナログ入力1~3の値(加速度センサのデータ)表示のスクリーンショット.

コメントなし »
blogを2か月放置してました。。。
あと,新年明けましておめでとうございます(遅)
今年もよろしくお願いします.
****
さてさて,だいぶ話はさかのぼりますがGainerの和書が出たということで,10月に
を買ったんです…が,肝心の
Gainerを入手できていなかったので,本を眺めながら「楽しそうだなぁ」とか思っている間に2008年が到来してしまいました。。。(苦笑)
これではいかんと,
TriggerDevice itemsのサイトを訪れてみると,念願のGainerモジュールが入荷されていたので
「今しかない!」と思い切って購入ボタンをポチっと(
注文した数日後には在庫切れになってました。。。恐るべしGainer人気).
注文から数日後届いたので早速Gainerで遊んでみて作業ログを
wikiの方にちょこちょこ書いてみました(だいぶやっつけ仕事ですが).それにしても,いろいろ制限はあるもののセンサなんかが手軽に扱えて楽しいなぁ(C++でGainerを扱えるライブラリもあったら便利そうですが).時間を見つけていろいろ遊んでみる予定.
#
Diffused Illuminationネタもやりたいけど材料が揃ってないので,とりあえず急死。。。
#じゃなくて休止中.
2 コメント »