[openrtm-users 00389] Re: 複数インスタンスの生成およびデータポート出力の分岐について
Masayuki Shimizu
masayuki.shimizu @ aist.go.jp
2008年 3月 15日 (土) 01:36:32 JST
安川電機 亀井樣、足立樣
産総研 清水です。
Java版ではないですが、C++版で同様の問題で困っている方もいるかと思うので、
C++版の場合の情報を流させて頂きます。
> 2. 1の実行結果から生成された2つのコンポーネントをRTCLink上に表示し、
> ジョイスティックコンポーネントのデータポートと接続する場合、1つの出力
> データポートから、上記2つのMyServiceコンポーネントの入力データポートに
> 分岐接続するようなことは可能でしょうか。現状、見た目は分岐しているのです
> が
> 実行すると片側のMyServiceコンポーネントにのみデータが渡されております。
現在のリリース版では、バッファまわりの問題のために、
一つの出力データを複数ポートに送ることができません。
この問題は、次期バージョンで修正されると思いますが、
現バージョンでも対処方法がいくつか考えられます。
一番簡単なのは、出力データのバッファリングが必要ない場合です。
この場合は、出力バッファをNullBufferにして、
すべてのデータポートの接続をFlushとするだけです。
この対処法でのソースレベルの変更は以下の一箇所だけです。
<変更部分>
(ヘッダファイル内の出力ポートの定義部)
OutPort<DataType> -> OutPort<DataType, NullBuffer>
(SimpleIOのConsoleInの例)
OutPort<TimedLong, NullBuffer> m_outOut;
以上、お役に立てれば幸いです。
清水
--------------------
Masayuki Shimizu
Postdoctoral Fellow
Task Intelligence Research Group
Intelligent Systems Research Institute
National Institute of
Advanced Industrial Science and Technology (AIST)
Central 2, 1-1-1, Umezono, Tsukuba, Ibaraki 305-8568, JAPAN
Tel: +81-29-861-5952
Fax: +81-29-861-5971
Email: masayuki.shimizu @ aist.go.jp
chaser @ ieee.org
URL: http://unit.aist.go.jp/is/taskint/
openrtm-users メーリングリストの案内