[openrtm-users 00633] データポート接続の確認方法について

5 個の投稿 / 0 new
最終投稿
root
オフライン
Last seen: 1日 3時間 前
登録日: 2009-06-23 14:31
[openrtm-users 00633] データポート接続の確認方法について

OpenRTM MLの皆様
筑波大学の渡部と申します。

件名のとおりなのですが、InPort/OutPortの接続・未接続状態を
コンポーネント内部から確認する方法について、
ご存知の方いらっしゃいましたらご教示ください。

InPortであれば(相手からのデータ入力があれば)isNew()を使えば
確認できそうなのですが、データ入力がないとき、または
OutPortに対しての確認はどのように行えばよいのでしょうか。

未定義
root
オフライン
Last seen: 1日 3時間 前
登録日: 2009-06-23 14:31
[openrtm-users 00634] データポート接続の確認方法について

渡部様、

産総研 末廣です。
C++版をお使いでしょうか?

RTCのメインになる xxxComp.cpp に例があるのですが、
MyModuleInit関数の中で、自分のobject referenceを
取得することができます。それを使うと外部からと同じようにして
自身のRTCの情報を取得することができます。

そこからportlist、port_profile、connector_profilesとたどり、
connector_profilesを見ることで現在の接続が分かります。

Tsutomu Watanabe さんは書きました:
> OpenRTM MLの皆様
> 筑波大学の渡部と申します。
>
> 件名のとおりなのですが、InPort/OutPortの接続・未接続状態を
> コンポーネント内部から確認する方法について、
> ご存知の方いらっしゃいましたらご教示ください。
>
> InPortであれば(相手からのデータ入力があれば)isNew()を使えば
> 確認できそうなのですが、データ入力がないとき、または
> OutPortに対しての確認はどのように行えばよいのでしょうか。
>
>
>
>
>

root
オフライン
Last seen: 1日 3時間 前
登録日: 2009-06-23 14:31
[openrtm-users 00635] データポート接続の確認方法について

渡部様、

末廣です。
すみませんMyModuleInitの中でやると、RTCの方へは情報が渡せませんね。
RTCの方へは、生成時にmanagerが渡っていますので、RTCの方で
同じことをやって下さい。

Takashi Suehiro さんは書きました:
> 渡部様、
>
> 産総研 末廣です。
> C++版をお使いでしょうか?
>
> RTCのメインになる xxxComp.cpp に例があるのですが、
> MyModuleInit関数の中で、自分のobject referenceを
> 取得することができます。それを使うと外部からと同じようにして
> 自身のRTCの情報を取得することができます。
>
> そこからportlist、port_profile、connector_profilesとたどり、
> connector_profilesを見ることで現在の接続が分かります。
>
>
> Tsutomu Watanabe さんは書きました:
>> OpenRTM MLの皆様
>> 筑波大学の渡部と申します。
>>
>> 件名のとおりなのですが、InPort/OutPortの接続・未接続状態を
>> コンポーネント内部から確認する方法について、
>> ご存知の方いらっしゃいましたらご教示ください。
>>
>> InPortであれば(相手からのデータ入力があれば)isNew()を使えば
>> 確認できそうなのですが、データ入力がないとき、または
>> OutPortに対しての確認はどのように行えばよいのでしょうか。
>>
>>
>>
>>
>>
>
>

root
オフライン
Last seen: 1日 3時間 前
登録日: 2009-06-23 14:31
[openrtm-users 00636] データポート接続の確認方法について

渡部様、

末廣です。
考えられるもう一つの方法は、RTC自身が、RTC::RTObject_implの
サブクラスですから、自身(_thisでしたっけ?)に対して
get_portsなどをすれば、たどれるかもしれません。

前の方法はpythonでは試したのですが、こちらはまだ試していません。

Takashi Suehiro さんは書きました:
> 渡部様、
>
> 末廣です。
> すみませんMyModuleInitの中でやると、RTCの方へは情報が渡せませんね。
> RTCの方へは、生成時にmanagerが渡っていますので、RTCの方で
> 同じことをやって下さい。

root
オフライン
Last seen: 1日 3時間 前
登録日: 2009-06-23 14:31
[openrtm-users 00637] データポート接続の確認方法について

末廣様、

渡部です。

ご回答ありがとうございました。
教えていただいた方法で、接続の有無を確認することができました。

C++版で、自身に対してget_portsを行うことでたどることができました。

Takashi Suehiro さんは書きました:
> 渡部様、
>
> 末廣です。
> 考えられるもう一つの方法は、RTC自身が、RTC::RTObject_implの
> サブクラスですから、自身(_thisでしたっけ?)に対して
> get_portsなどをすれば、たどれるかもしれません。
>
> 前の方法はpythonでは試したのですが、こちらはまだ試していません。
>
> Takashi Suehiro さんは書きました:
>
>> 渡部様、
>>
>> 末廣です。
>> すみませんMyModuleInitの中でやると、RTCの方へは情報が渡せませんね。
>> RTCの方へは、生成時にmanagerが渡っていますので、RTCの方で
>> 同じことをやって下さい。
>>
>
>
>

コメントを投稿するにはログインまたはユーザー登録を行ってください

ダウンロード

最新バージョン : 2.0.1-RELESE

統計

Webサイト統計
ユーザ数:2195
プロジェクト統計
RTコンポーネント307
RTミドルウエア35
ツール22
文書・仕様書2

Choreonoid

モーションエディタ/シミュレータ

OpenHRP3

動力学シミュレータ

OpenRTP

統合開発プラットフォーム

産総研RTC集

産総研が提供するRTC集

TORK

東京オープンソースロボティクス協会

DAQ-Middleware

ネットワーク分散環境でデータ収集用ソフトウェアを容易に構築するためのソフトウェア・フレームワーク