宇田様
安藤@産総研です
御世話になります。
> OpenRTMコンポーネントのタイムスタンプの扱いについて教えて下さい。
>
> InPort/OutPortの型としてタイムスタンプ付きのデータ型が定義されて
> いるかと思いますが、このタイムスタンプの付け方について、RTMとして
> 何か統一的な取り決めはありますでしょうか?
>
> 例えばタイムスタンプの意味としては、
>
> (1) データの生成時刻
> (2) OutPortからの送出時刻
> (3) データの有効期限
>
> などが考えられますが、基本的には(1)と考えてよろしいでしょうか。
はい、基本的に(1)でよろしいと思います。
もう少し詳しく言いますと、OutPortAny の write() メソッドが呼ばれた
時刻が自動的に代入されます。
>
> またRTMBase.idlには
>
> struct Time
>
> {
>
> unsigned long sec; // sec
>
> unsigned long nsec; // nano sec
>
> };
>
>
> と定義されていますが、これは例えばUTC(協定世界時)をsec:nsec
> に直したものなど、何かご推奨の形式はありますでしょうか。
これは、clock_gettime(2) で取得した値が上記のタイミングで自動的に代入されます。
この辺はガイドでもあまり詳しく述べていませんでしたね。
次バージョンでは詳細に記述したいと思います。
タイムスタンプはどのようにお使いでしょうか?
もしよろしければどのように使っているかお教えくださいませんか?
いつも御世話になります。宇田@NECシステムテクノロジーです
OpenRTMコンポーネントのタイムスタンプの扱いについて教えて下さい。
InPort/OutPortの型としてタイムスタンプ付きのデータ型が定義されて
いるかと思いますが、このタイムスタンプの付け方について、RTMとして
何か統一的な取り決めはありますでしょうか?
例えばタイムスタンプの意味としては、
(1) データの生成時刻
(2) OutPortからの送出時刻
(3) データの有効期限
などが考えられますが、基本的には(1)と考えてよろしいでしょうか。
またRTMBase.idlには
struct Time
{
unsigned long sec; // sec
unsigned long nsec; // nano sec
};
と定義されていますが、これは例えばUTC(協定世界時)をsec:nsec
に直したものなど、何かご推奨の形式はありますでしょうか。