忍者ブログ
ロボット、千葉ロッテマリーンズについていいかげんなことを書きます。
[330]  [329]  [328]  [327]  [325]  [324]  [323]  [322]  [321]  [320]  [319
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

最近人は来るのに何故か全くコメントがつかない・・・

もしかして,ブログ記事から僕の暗黒臭が滲み出てるとかでしょうか・・・・

最近割と本気で運が悪いんで.




それはさておき,今回はデータポートのコールバックをやります.

とは言っても,OpenRTM-aistの公式サイトに説明,OpenRTM-aist-1.0.0-RELEASEにサンプルがあるので別にやる意味なかったり.

今回作成したサンプルはここからダウンロード出来ます.


まず,インポートのコールバックはOpenRTM-aistの公式サイトの実装例をヘッダーファイルにコピペして,


std::ofstream ofs("MyOnRead.txt");

m_inIn.setOnRead(new MyOnRead<TimedLong>(ofs));
m_inIn.setOnReadConvert(new MyOnReadConvert<TimedLong>);



といった感じ.

MyOnReadの引数にstd::ofstreamを設定することでファイルに出力をしています.

これで,読み込んだデータが入力されたデータの2乗となるはずです.

公式サイトの説明以上の説明ができないので意味とかは省略します.


アウトポートのコールバックもOpenRTM-aistの公式サイトの実装例をヘッダーファイルにコピペして,

std::ofstream ofs("MyOnWrite.txt");

m_outOut.setOnWrite(new MyOnWrite<TimedLong>(ofs));
m_outOut.setOnWriteConvert(new MyOnWriteConvert<TimedLong>);



だけ.

出力するデータがm_out.dataで設定したデータの2倍となるはずです.


・・・ただ,1つだけ疑問があって


virtual void operator()()

virtual void operator()(const T& value)


ではないかなと.
上でアウトポートのコールバックのプログラム作ってコンパイルが通った人っていますかね?





続いて,コネクタ・バッファのコールバックです.

OpenRTM-aist-1.0.0-RELEASEのサンプルの通りと言ってしまえばそれまでなんですが,

まず,ヘッダーファイルに


class DataListener
  : public ConnectorDataListenerT<RTC::TimedLong>
{
public:
  DataListener(const char* name) : m_name(name) {}
  virtual ~DataListener(){}

  virtual void operator()(const ConnectorInfo& info,
                          const TimedLong& data)
  {
    std::cout << "Data:          " << data.data    << std::endl;
  };
  std::string m_name;
};



と記述して,onInitializeで,


m_inIn.addConnectorDataListener(ON_BUFFER_WRITE, new DataListener("ON_BUFFER_WRITE"));



とするだけでバッファ書き込み時にデータが表示されます.

addConnectorDataListenerの1つめの引数はどの時に呼び出すかであり,他にON_BUFFER_OVERWRITE,ON_SEND等があります.





ちょっと今回は手抜きですが,今回はこれで勘弁してください.

次回は・・・・特に思いつかないなぁ.

今回手抜きなのも正直ネタ切れな気配がするからですからね.


次回はいままでこのカテゴリでやったプログラムをPythonで実装してみようかと思います.










にほんブログ村 科学ブログ ロボットへ
にほんブログ村のロボットのカテゴリから
全然人が来ない・・・

人気ブログランキングへ

PR
この記事にコメントする
お名前
タイトル
文字色
メールアドレス
URL
コメント
パスワード   Vodafone絵文字 i-mode絵文字 Ezweb絵文字
この記事へのトラックバック
この記事にトラックバックする:
カレンダー
04 2024/05 06
S M T W T F S
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
フリーエリア
最新CM
[08/31 ysuga]
[08/31 Nobu]
[08/31 ysuga]
[12/11 Nobu]
[12/11 Kanamura]
最新TB
プロフィール
HN:
Nobu
年齢:
35
性別:
男性
誕生日:
1988/09/22
職業:
あれ
趣味:
妄想、自堕落
バーコード
ブログ内検索
P R
カウンター
忍者ブログ [PR]