先日開催されたMTM03ではPepperを用いたワークショップを開催しました。
http://funnel.cc/Workshops/MakeTokyoMeeting03
Windows Vista搭載のPCで参加された一部の方のところで認識はされるけれども通信ができないという問題はありましたが、小型で安価(かつ全てDIPで組立てられる)というのはとても素晴らしいと改めて思いました。現在公開しているFunnel
009 (r642)では、Pepperを使用した時に発生していた細かな問題などを修正したものになっています。
・・・
現在入手できるGainer互換機にはGinger(メカロボショップで販売中)、Pepper(MTMなどで販売)、Gainer
miniがあります。それぞれ、Gainerの互換機として扱うことができるものの、入出力の数が微妙に違っていたり、独自のモードを追加していたりという相違点があります。
ちょうどGainer miniのMODE8(サーボ用出力8系統+通常の入出力)のサポートを考えているところなのですが、こうした互換機用の定義も次のような感じで利用できるよう用意した方が良いでしょうか?
pepper = new Gainer(Pepper.MODE1);
gainerMini = new Gainer(GainerMini.MODE8);
※デメリットとしては、I/O側の仕様変更があった時にライブラリが対応しないと不整合が起きてしまう、というのがあります。しかし、いずれも頻繁に仕様を変更するものではないと思いますので、実際には大きな問題はならないかなと思っています。
※同様の問題として、Arduino用のFirmataもアップロードするファームによって機能が大きく異なります。現状ではArduino.FIRMATAで済ませていますが、Arduino.STANDARD_FIRMATA、Arduino.ANALOG_FIRMATAのように分ける必要が(本格的な利用が増えると)出てくるかなとは思っています。
今のところ直接的に要望としていただいたことはないのですが、もしご意見あればリプライをお願いします。:)
>pepper = new Gainer(Pepper.MODE1);
>gainerMini = new Gainer(GainerMini.MODE8);
これだと同じGainerライブラリの中で機種を判定しないといけないし、ユーザも機種を
意識する必要があります。そういう前提なら,いっそのことライブラリを別けても良い
のではないかと思います。
pp = new Pepper(Pepper.MODE1);
gm = new GainerMini(GainerMini.MODE8);
Pepper/GainerMiniのライブラリはGainerの派生クラスで実装すればコードを重複して
書かなくてすみそうです。
もう一つの課題としては、バージョンを聞かれたときにファームでどんな文字列を返す
かを決めておくのも必要だと思います。Pepperはまだベータの位置づけなので、適当な
文字のみでちゃんとバージョンとか反映していません。
くわた
Pepper等について言えば、バージョンを返すようにすることは簡単です。
次回、小林さんの案の仕様で返すように変更します。
>> {プロトコルバージョン}+{I/Oの機種}+{ファームウェアのバージョン}
>>
>> 例:1.0.0,Pepper,20090519
バージョンアップしたときに、返すバージョンもちゃんと変更するように、何かMakefi
leから呼び出すスクリプトを書いておけば、間違えが減って良いと思いました。
桑田
----- Original Message -----
>Date: Sat, 20 Jun 2009 10:50:47 +0900
>Subject: Re: Gainer互換機用の定義について
>From: takanori endo <sweeta...@gmail.com>
>To: funnel-de...@googlegroups.com
>
>
>
>遠藤です。
>
>バージョンを返すのは、GainerのようにCOMポートの自動設定ができるようになります
ので、
>ArduinoのFirmataでもできるとよいのですが、むずかしいでしょうか?
>
>Processing版はServerが自動設定になったせいか、よく設定ファイルを確認し忘れて
しまいます。
>>> Pepper/GainerMiniのライブラリはGainerの派生クラスで実装すればコードを重複
して
>>> 書かなくてすみそうです。
>>>
>>> もう一つの課題としては、バージョンを聞かれたときにファームでどんな文字列を
返す
>>> かを決めておくのも必要だと思います。Pepperはまだベータの位置づけなので、適
当な
>>> 文字のみでちゃんとバージョンとか反映していません。
>>>
>>> くわた
>>>
>>>
>>> >
>>>
>>
>> >
>>
>
>
>
>--
>endo takanori
>
>--‾--‾---------‾--‾----‾------------‾-------‾--‾----‾
>このメールは次の Google グループの参加者に送られています: funnel-dev-talk-ja
> このグループにメールで投稿: funnel-de...@googlegroups.com
> このグループから退会する: funnel-dev-talk...@googlegroups.com
> その他のオプションについては、次の URL からグループにアクセスしてくださ
>い。 http://groups.google.com/group/funnel-dev-talk-ja?hl=ja
>-‾----------‾----‾----‾----‾------‾----‾------‾--‾---
>
Pepperの新しいファームウエアをリリースしました。
Vista 上でFunnelが動作するように改良しました。
・Vistaでポーリング間隔が遅くても取りこぼし無いように、連続入力のインターバル
を遅くしました。全てのプラットフォームで影響します。
・V-USBを最新のものに入れ替え
・?*コマンドで1.0.0,Pepper,20090621を返すようにしました。
{プロトコルバージョン}+{I/Oの機種}+{ファームウェアのバージョン}
http://web.me.com/kuwatay/morecat_lab./Blog/%E3%82%A8%E3%83%B3%E3%83%88%E3%83%
AA%E3%83%BC/2009/6/21_Pepper%E3%81%AE%E3%83%95%E3%82%A1%E3%83%BC%E3%83%A0%E3%8
2%A6%E3%82%A8%E3%82%A2(20090621).html
桑田
小林です
お知らせありがとうございました。
※いろいろとたて込んでいて個人宛にお知らせいただいた際にリプライできなくて申し訳ありませんでした。
手持ちのファームを入れ替えてみたいと思います。また、?*コマンドに対して機種およびバージョン情報がついていた場合、それをFunnel
Serverで表示するようにしてみます。
2009/6/21 <kuw...@nifty.com>: