[Gainer] Perl用Device::Gainerモジュールを書いてみた

ActionScriptやRubyではGainerを使えるのに、Perlから使えないのは寂しい。
Device::Gainerモジュールを書いてみた。4時間くらいかかった。
とりあえず、Gainer の最低限の機能が一通り使えるようになりました。
テストやドキュメントは全く書いてないけど、とりあえずCodeReposに晒してみます。

http://svn.coderepos.org/share/lang/perl/Device-Gainer/trunk/lib/Device/Gainer.pm


基板上の配線は、trick7 寺井くん がやってくれたもの。先生ありがとう!
use Device::Gainer;
my $gainer = Device::Gainer->new( host => '192.168.1.xx' );
$gainer->on_pressed( sub { print "PRESS\n"; } );
$gainer->on_released( sub { print "RELEASE\n"; } );
$gainer->turn_on_led();
$gainer->turn_off_led();
みたいなコードで使えます。

Gainer の USB ドライバは別途、インストールが必要です。
gsp (GAINER serial proxy) も、起動しておいて下さい。
VMware (Debian) 上の Perl から、ホスト Windows 上の gsp を呼び出して試しました。
そのほか Gainer について詳しくは、こちら: http://gainer.cc/

メソッド名コマンド内容
turn_on_ledh*オンボードLED点灯
turn_off_ledl*オンボードLED消灯
digital_outputD____*デジタル出力(4ポート一括)
set_highH_*デジタル出力をhigh(ポートごと)
set_lowL_*デジタル出力をlow(ポートごと)
peek_digital_inputR*デジタル入力読取り(1回のみ)
analog_outputa___*アナログ出力(ポートごと)
peek_analog_inputI*アナログ入力読取り(1回のみ)
on_pressedN*オンボードボタンを押した時のコールバック
on_releasedF*オンボードボタンを離した時のコールバック

基本的に、ActionScript 版ライブラリの仕様を参考にしました。
上記以外の機能(連続読取りとか)は実装していません。
動作安定のため、初期化時など、とりあえず 0.1秒ずつウェイトを入れます。



Perlでもインタラクティブアートなインスタレーションでモテ!

ブログ気持玉

クリックして気持ちを伝えよう!

ログインしてクリックすれば、自分のブログへのリンクが付きます。

→ログインへ

なるほど(納得、参考になった、ヘー)
驚いた
面白い
ナイス
ガッツ(がんばれ!)
かわいい

気持玉数 : 0

この記事へのコメント

この記事へのトラックバック