[openrtm-users 02303] Re: バッファの初期化方法

Masayuki Shimizu masayuki.shimizu @ aist.go.jp
2011年 10月 28日 (金) 11:31:01 JST


静岡大の清水です。

InPortの場合ですが、私は以下のようにしてます。

onActivated()やonDeactivated()内で、

while(m_DataIn.isNew()) m_DataIn.read();

を実行して、バッファに溜まっている全データを読み出す。
最後に読み出したデータは、ポートにバインドされている変数に格納されているので、最新データが必要な場合は、その変数の値を見る。

以上、お役に立てれば。

清水
--- On Fri, 2011/10/28, urabe <k_urabe @ hi.is.uec.ac.jp> wrote:

> 電気通信大学大学院の占部と申します.
> 
> C++のプログラム上で,コンポーネントのバッファの値を初期化したいのです
> が,方法はあるのでしょうか?
> 
> 複数のコンポーネントを結合し実行させるたびに,異なる結果が出力されてしま
> います.同じコンポーネントを使用しているので,同じ結果になるはずです.
> 前回実行させた際のデータがバッファに残っていることが原因だと思います.
> そこで,コンポーネントがDeactivate状態になったときに,バッファの中身を空
> にするように記述することができれば問題が解決されると考えました.
> 
> ご存知の方いらっしゃいましたら,よろしくお願いします.
> _______________________________________________
> openrtm-users mailing list
> openrtm-users @ openrtm.org
> http://www.openrtm.org/mailman/listinfo/openrtm-users
> 


openrtm-users メーリングリストの案内