エラーメッセージ

  • Warning: file_put_contents(temporary://fileoMQ6ae): failed to open stream: "DrupalTemporaryStreamWrapper::stream_open" call failed file_unmanaged_save_data() (/var/www/html/openrtm/includes/file.inc ファイル 2024行).
  • ファイルを作成できませんでした。
  • Warning: file_put_contents(temporary://fileAmQWBh): failed to open stream: "DrupalTemporaryStreamWrapper::stream_open" call failed file_unmanaged_save_data() (/var/www/html/openrtm/includes/file.inc ファイル 2024行).
  • ファイルを作成できませんでした。

Where is the documentation of "data port(advanced)"?

3 個の投稿 / 0 new
最終投稿
Amigoshan
オフライン
Last seen: 9年 6ヶ月 前
登録日: 2011-12-01 14:18
Where is the documentation of "data port(advanced)"?

In this documentation, http://openrtm.org/openrtm/en/content/data-port-basic, it is said that there advanced introduction of the data port, which I can not find anywhere. Could anyone tell me where I can get this documentation? Thanks a lot!

未定義
Amigoshan
オフライン
Last seen: 9年 6ヶ月 前
登録日: 2011-12-01 14:18
[openrtm-users 02350] Where is the documentation of "data port(a

In this documentation, http://openrtm.org/openrtm/en/content/data-port-basic,
it is said that there advanced introduction of the data port, which I can not
find anywhere. Could anyone tell me where I can get this documentation?
Thanks a lot!

_______________________________________________
openrtm-users mailing list
openrtm-users@openrtm.org
http://www.openrtm.org/mailman/listinfo/openrtm-users

gbiggs
オフライン
Last seen: 6年 9ヶ月 前
登録日: 2010-08-02 07:51
[openrtm-users 02351] Where is the documentation of "data port(

Hi,

Unfortunately, it doesn't look like the advanced documentation has been
written yet. That page is also a little bit out of date.

There are two references to advanced documentation on that page. I'm not
sure which one you are interested in, so here's a brief description of both:

Custom data types
------------------

You can specify your own data types to be sent and received by data
ports. The data types are specified in IDL. This includes the data types
included with OpenRTM, which are specified in BasicDataTypes.idl and
ExtendedDataTypes.idl (note that we are currently re-thinking how we
distribute the extended data types, and we are open to comments on how
they can be improved).

To make your own data type, you first need to write it in IDL. This is
the language used by CORBA to specify data types, and is very powerful.
You then compile your IDL file using the IDL compiler (omniidl), and
specifying a backend for your chosen language. For example, if you are
working in C++ and have made a data type called "blurgle", you would
compile it with this command:

$ omniidl -bcxx blurgle.idl

For Python, specify -bpython for the backend. If you are using Java, you
need to use the Java IDL compiler.

This will produce some header files. You need to include these header
files in your component's header file. You can then use your data type
just like any other data type. Remember to specify namespaces (which
correspond to modules in the IDL) as necessary when you use your data type.

For an example of a custom data type, have a look at the RTCPCL components:

https://github.com/gbiggs/rtcpcl

The data type is specified in pointcloud.idl:

https://github.com/gbiggs/rtcpcl/blob/master/pc_type/pointcloud.idl

This is compiled by the build scripts into suitable C++ header files and
a library, which is linked to each component using the data type. The
components use it for their data ports, as you can see in each
component's header file.

A template for a C++ component that uses a custom data type is available
here:

https://github.com/gbiggs/templates/tree/master/rtc_cpp

Callbacks
---------

Functions such as setOnRead and setOnReadConvert are callbacks, used to
get notification of when various events occur. There are a number of
callbacks available for data ports. The complete list is not yet
documented outside the API documentation.

You can set a callback by using the addConnectorDataListener() function
on the port you want the callback on. Specify the event to register to,
and provide a functor object.

The best way to learn how to use the callbacks is to look at the
examples. The ConsoleOut example component uses a lot of callbacks,
illustrating how they work. Have a look in ConsoleOut.cpp at the
onInitialize() function, and in ConsoleOut.h for the definition of the
data listener functor.

Geoff

On 01/12/11 14:26, shanshan1370@sina.com wrote:
> In this documentation,
> http://openrtm.org/openrtm/en/content/data-port-basic,
> it is said that there advanced introduction of the data port, which I
> can not
> find anywhere. Could anyone tell me where I can get this documentation?
> Thanks a lot!
>
> _______________________________________________
> openrtm-users mailing list
> openrtm-users@openrtm.org
> http://www.openrtm.org/mailman/listinfo/openrtm-users
_______________________________________________
openrtm-users mailing list
openrtm-users@openrtm.org
http://www.openrtm.org/mailman/listinfo/openrtm-users

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

ダウンロード

最新バージョン : 2.0.1-RELESE

統計

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

Choreonoid

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

OpenHRP3

動力学シミュレータ

OpenRTP

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

産総研RTC集

産総研が提供するRTC集

TORK

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

DAQ-Middleware

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