Project

General

Profile

機能 #3886

機能 #3779: (シ)データポートのPortProfile/ConnectorProfileのプロパティ拡張作業

[FSM4RTC] データポートのタイムスタンプ打刻機能

Added by win-ei over 5 years ago. Updated almost 5 years ago.

Status:
終了
Priority:
通常
Assignee:
Target version:
-
Start date:
01/25/2017
Due date:
% Done:

100%

Estimated time:

Description

[FSM4RTC] データポートのPortProfile/ConnectorProfileのプロパティ拡張作業に基づき、データポートにタイムスタンプの打刻機能を追加する。

Associated revisions

Revision 916 (diff)
Added by win-ei over 5 years ago

[FSM4RTC,incompat] Connector listeners intarfaces have been changed to modify info and data in the listeners and return its status. refs #3886

Revision 917 (diff)
Added by win-ei over 5 years ago

[FSM4RTC,incompat] Connector listeners intarfaces have been changed to modify info and data in the listeners and return its status. refs #3886

Revision 918 (diff)
Added by win-ei over 5 years ago

[FSM4RTC,incompat] Some callback points have been added. refs #3886

Revision 919 (diff)
Added by win-ei over 5 years ago

[FSM4RTC,incompat] Added ReturnCode. refs #3886

Revision 920 (diff)
Added by win-ei over 5 years ago

[FSM4RTC,incomapt] Timestamp class template has been added. Timestamp listeners have been added to InPort and OutPort. refs #3886

Revision 921 (diff)
Added by win-ei over 5 years ago

[FSM4RTC,bugfix]Fixed bugs. refs #3886

Revision 922 (diff)
Added by win-ei over 5 years ago

[FSM4RTC,bugfix]Fixed bugs. refs #3886

Revision 923 (diff)
Added by win-ei over 5 years ago

[FSM4RTC,bugfix]Fixed bugs. refs #3886

Revision 925 (diff)
Added by win-ei over 5 years ago

[FSM4RTC,bugfix]Fixed bugs. refs #3886

Revision 926 (diff)
Added by win-ei over 5 years ago

[FSM4RTC,bugfix]Fixed bugs. refs #3886

Revision 941 (diff)
Added by win-ei over 5 years ago

[FSM4RTC] Some sample components listener have been modified to follow ConnectorListener changes. refs #3886

History

#1 Updated by win-ei over 5 years ago

dataport.timestamp_policy=on_writeについて

on_writeは、ConnectorDataListenerのON_BUFFER_WRITEのコールバックリスナーでタイムスタンプ打刻をしています。
サブスクリプション型がflushの接続の場合は、バッファがなく、直接、InPortへデータをpushしますので、ON_BUFFER_WRITEのコールバックイベントは発生しません。
そのため、サブスクリプション型がflushの接続の場合は、「dataport.timestamp_policy=on_write」は無効です。

dataport.timestamp_policy=on_sendについて

on_sendは、ConnectorDataListenerのON_SENDのコールバックリスナーでタイムスタンプ打刻をしています。

  • データフロー型がPull接続の場合は、InPortでデータを取り込むために、ON_SENDのコールバックイベントは発生しません。
    そのため、データフロー型がPullの接続の場合は、「dataport.timestamp_policy=on_send」は無効です。
  • インターフェース型がdirect接続でデータフロー型がPush接続の場合、直接、OutPortは直接InPortへ書込むため、ON_SENDのコールバックイベントは発生しません。
    そのため、「dataport.timestamp_policy=on_send」は無効です。

dataport.timestamp_policy=on_readについて

on_readは、ConnectorDataListenerのON_BUFFER_READのコールバックリスナーでタイムスタンプ打刻をしています。

  • データフロー型がPull接続の場合は、OutPort側でバッファを保持するので、InPort側ではON_BUFFER_READのコールバックイベントは発生しません。
    そのため、「dataport.timestamp_policy=on_read」は無効です。
  • インターフェース型がdirect接続でデータフロー型がPush接続の場合、直接、OutPortは直接InPortへ書込むため、ON_BUFFER_READのコールバックイベントは発生しません。
    そのため、「dataport.timestamp_policy=on_read」は無効です。

動作確認

別々のターミナルで ConsoleOut ConsoleIn を起動する。
rtcon でポートを接続する

on_received

  • [corba_cdr][push][flush]
    $ rtcon ./localhost/.host_cxt/ConsoleIn0.rtc:out ./localhost/.host_cxt/ConsoleOut0.rtc:in --property dataport.subscription_type=flush --property dataport.timestamp_policy=on_received
    
  • [corba_cdr][push][new][all]
    $ rtcon ./localhost/.host_cxt/ConsoleIn0.rtc:out ./localhost/.host_cxt/ConsoleOut0.rtc:in  --property dataport.subscription_type=new --property dataport.publisher.push_policy=all --property dataport.timestamp_policy=on_received
    
  • [corba_cdr][push][new][fifo]
    rtcon ./localhost/.host_cxt/ConsoleIn0.rtc:out ./localhost/.host_cxt/ConsoleOut0.rtc:in --property dataport.subscription_type=new --property dataport.publisher.push_policy=fifo --property dataport.timestamp_policy=on_received
    
  • [corba_cdr][push][new][skip]
    rtcon ./localhost/.host_cxt/ConsoleIn0.rtc:out ./localhost/.host_cxt/ConsoleOut0.rtc:in --property dataport.subscription_type=new --property dataport.publisher.push_policy=skip --property dataport.publisher.skip_count=1 --property dataport.timestamp_policy=on_received
    
  • [corba_cdr][push][new][new]
    rtcon ./localhost/.host_cxt/ConsoleIn0.rtc:out ./localhost/.host_cxt/ConsoleOut0.rtc:in  --property dataport.subscription_type=new --property dataport.publisher.push_policy=new --property dataport.timestamp_policy=on_received
    
  • [corba_cdr][push][periodic][all]
    rtcon ./localhost/.host_cxt/ConsoleIn0.rtc:out ./localhost/.host_cxt/ConsoleOut0.rtc:in --property dataport.subscription_type=periodic --property dataport.push_rate=1 --property dataport.publisher.push_policy=all --property dataport.timestamp_policy=on_received
    
  • [corba_cdr][push][periodic][fifo]
    rtcon ./localhost/.host_cxt/ConsoleIn0.rtc:out ./localhost/.host_cxt/ConsoleOut0.rtc:in --property dataport.subscription_type=periodic --property dataport.push_rate=1 --property dataport.publisher.push_policy=fifo --property dataport.timestamp_policy=on_received
    
  • [corba_cdr][push][periodic][skip]
    rtcon ./localhost/.host_cxt/ConsoleIn0.rtc:out ./localhost/.host_cxt/ConsoleOut0.rtc:in --property dataport.subscription_type=periodic --property dataport.push_rate=1 --property dataport.publisher.push_policy=skip --property dataport.timestamp_policy=on_received
    
  • [corba_cdr][push][periodic][new]
    rtcon ./localhost/.host_cxt/ConsoleIn0.rtc:out ./localhost/.host_cxt/ConsoleOut0.rtc:in --property dataport.subscription_type=periodic --property dataport.push_rate=1 --property dataport.publisher.push_policy=new --property dataport.timestamp_policy=on_received
    
  • [shared_memory][push][periodic][new]
    rtcon ./localhost/.host_cxt/ConsoleIn0.rtc:out ./localhost/.host_cxt/ConsoleOut0.rtc:in --property dataport.interface_type=shared_memory  --property dataport.timestamp_policy=on_received
    
  • [direct][push][new][][on_received]
    • ConsoleInのrtc.confに以下を追加してConsoleInを起動する。
      manager.modules.load_path:./RTMExamples/SimpleIO
      manager.modules.preload: ConsoleOut
      manager.components.precreate: ConsoleOut
      
    • rtcon でポートを接続する
      rtcon ./localhost/.host_cxt/ConsoleIn0.rtc:out ./localhost/.host_cxt/ConsoleOut0.rtc:in --property dataport.interface_type=direct  --property dataport.dataflow_type=push  --property dataport.timestamp_policy=on_received
      

on_send

  • [corba_cdr][push][flush]
    rtcon ./localhost/.host_cxt/ConsoleIn0.rtc:out ./localhost/.host_cxt/ConsoleOut0.rtc:in --property dataport.subscription_type=flush --property dataport.timestamp_policy=on_send
    
  • [corba_cdr][push][new][all]
    rtcon ./localhost/.host_cxt/ConsoleIn0.rtc:out ./localhost/.host_cxt/ConsoleOut0.rtc:in --property dataport.subscription_type=new --property dataport.publisher.push_policy=all --property dataport.timestamp_policy=on_send
    
  • [corba_cdr][push][new][fifo]
    rtcon ./localhost/.host_cxt/ConsoleIn0.rtc:out ./localhost/.host_cxt/ConsoleOut0.rtc:in --property dataport.subscription_type=new --property dataport.publisher.push_policy=fifo --property dataport.timestamp_policy=on_send
    
  • [corba_cdr][push][new][skip]
    rtcon ./localhost/.host_cxt/ConsoleIn0.rtc:out ./localhost/.host_cxt/ConsoleOut0.rtc:in --property dataport.subscription_type=new --property dataport.publisher.push_policy=skip --property dataport.publisher.skip_count=1 --property dataport.timestamp_policy=on_send
    
  • [corba_cdr][push][new][new]
    rtcon ./localhost/.host_cxt/ConsoleIn0.rtc:out ./localhost/.host_cxt/ConsoleOut0.rtc:in --property dataport.subscription_type=new --property dataport.publisher.push_policy=new --property dataport.timestamp_policy=on_send
    
  • [corba_cdr][push][periodic][all]
    rtcon ./localhost/.host_cxt/ConsoleIn0.rtc:out ./localhost/.host_cxt/ConsoleOut0.rtc:in --property dataport.subscription_type=periodic --property dataport.push_rate=1 --property dataport.publisher.push_policy=all --property dataport.timestamp_policy=on_send
    
  • [corba_cdr][push][periodic][fifo]
    rtcon ./localhost/.host_cxt/ConsoleIn0.rtc:out ./localhost/.host_cxt/ConsoleOut0.rtc:in --property dataport.subscription_type=periodic --property dataport.push_rate=1 --property dataport.publisher.push_policy=fifo --property dataport.timestamp_policy=on_send
    
  • [corba_cdr][push][periodic][skip]
    rtcon ./localhost/.host_cxt/ConsoleIn0.rtc:out ./localhost/.host_cxt/ConsoleOut0.rtc:in --property dataport.subscription_type=periodic --property dataport.push_rate=1 --property dataport.publisher.push_policy=skip --property dataport.timestamp_policy=on_send
    
  • [corba_cdr][push][periodic][new]
    rtcon ./localhost/.host_cxt/ConsoleIn0.rtc:out ./localhost/.host_cxt/ConsoleOut0.rtc:in --property dataport.subscription_type=periodic --property dataport.push_rate=1 --property dataport.publisher.push_policy=new --property dataport.timestamp_policy=on_send
    
  • [shared_memory][push][periodic][new]
    rtcon ./localhost/.host_cxt/ConsoleIn0.rtc:out ./localhost/.host_cxt/ConsoleOut0.rtc:in --property dataport.interface_type=shared_memory --property dataport.timestamp_policy=on_send
    
  • [direct][push][new][][on_received]
    • ConsoleInのrtc.confに以下を追加してConsoleInを起動する。
      manager.modules.load_path:./RTMExamples/SimpleIO
      manager.modules.preload: ConsoleOut
      manager.components.precreate: ConsoleOut
      
    • rtcon でポートを接続する
      rtcon ./localhost/.host_cxt/ConsoleIn0.rtc:out ./localhost/.host_cxt/ConsoleOut0.rtc:in --property dataport.interface_type=direct --property dataport.dataflow_type=push --property dataport.timestamp_policy=on_send
      

on_read

  • [corba_cdr][push][flush]
    rtcon ./localhost/.host_cxt/ConsoleIn0.rtc:out ./localhost/.host_cxt/ConsoleOut0.rtc:in  --property dataport.subscription_type=flush --property dataport.timestamp_policy=on_read
    
  • [corba_cdr][push][new][new]
    rtcon ./localhost/.host_cxt/ConsoleIn0.rtc:out ./localhost/.host_cxt/ConsoleOut0.rtc:in  --property dataport.subscription_type=new --property dataport.publisher.push_policy=new --property dataport.timestamp_policy=on_read
    
  • [corba_cdr][push][new][skip]
    rtcon ./localhost/.host_cxt/ConsoleIn0.rtc:out ./localhost/.host_cxt/ConsoleOut0.rtc:in  --property dataport.subscription_type=new --property dataport.publisher.push_policy=skip --property dataport.publisher.skip_count=1 --property dataport.timestamp_policy=on_read
    
  • [corba_cdr][push][new][all]
    rtcon ./localhost/.host_cxt/ConsoleIn0.rtc:out ./localhost/.host_cxt/ConsoleOut0.rtc:in  --property dataport.subscription_type=new --property dataport.publisher.push_policy=all --property dataport.timestamp_policy=on_read
    
  • [corba_cdr][push][new][fifo]
    rtcon ./localhost/.host_cxt/ConsoleIn0.rtc:out ./localhost/.host_cxt/ConsoleOut0.rtc:in --property dataport.subscription_type=new --property dataport.publisher.push_policy=fifo --property dataport.timestamp_policy=on_read
    
  • [corba_cdr][push][periodic][all]
    rtcon ./localhost/.host_cxt/ConsoleIn0.rtc:out ./localhost/.host_cxt/ConsoleOut0.rtc:in --property dataport.subscription_type=periodic --property dataport.push_rate=1 --property dataport.publisher.push_policy=all --property dataport.timestamp_policy=on_read
    
  • [corba_cdr][push][periodic][fifo]
    rtcon ./localhost/.host_cxt/ConsoleIn0.rtc:out ./localhost/.host_cxt/ConsoleOut0.rtc:in --property dataport.subscription_type=periodic --property dataport.push_rate=1 --property dataport.publisher.push_policy=fifo --property dataport.timestamp_policy=on_read
    
  • [corba_cdr][push][periodic][skip]
    rtcon ./localhost/.host_cxt/ConsoleIn0.rtc:out ./localhost/.host_cxt/ConsoleOut0.rtc:in --property dataport.subscription_type=periodic --property dataport.push_rate=1 --property dataport.publisher.push_policy=skip --property dataport.timestamp_policy=on_read
    
  • [corba_cdr][push][periodic][new]
    rtcon ./localhost/.host_cxt/ConsoleIn0.rtc:out ./localhost/.host_cxt/ConsoleOut0.rtc:in --property dataport.subscription_type=periodic --property dataport.push_rate=1 --property dataport.publisher.push_policy=new --property dataport.timestamp_policy=on_read
    
  • [shared_memory][push]
    rtcon ./localhost/.host_cxt/ConsoleIn0.rtc:out ./localhost/.host_cxt/ConsoleOut0.rtc:in --property dataport.interface_type=shared_memory --property dataport.timestamp_policy=on_read
    

on_write

  • [corba_cdr][push][new][all]
    rtcon ./localhost/.host_cxt/ConsoleIn0.rtc:out ./localhost/.host_cxt/ConsoleOut0.rtc:in --property dataport.subscription_type=new --property dataport.publisher.push_policy=all --property dataport.timestamp_policy=on_write
    
  • [corba_cdr][push][new][fifo]
    rtcon ./localhost/.host_cxt/ConsoleIn0.rtc:out ./localhost/.host_cxt/ConsoleOut0.rtc:in --property dataport.subscription_type=new --property dataport.publisher.push_policy=fifo --property dataport.timestamp_policy=on_write
    
  • [corba_cdr][push][new][skip]
    rtcon ./localhost/.host_cxt/ConsoleIn0.rtc:out ./localhost/.host_cxt/ConsoleOut0.rtc:in --property dataport.subscription_type=new --property dataport.publisher.push_policy=skip --property dataport.publisher.skip_count=1 --property dataport.timestamp_policy=on_write
    
  • [corba_cdr][push][new][new]
    rtcon ./localhost/.host_cxt/ConsoleIn0.rtc:out ./localhost/.host_cxt/ConsoleOut0.rtc:in --property dataport.subscription_type=new --property dataport.publisher.push_policy=new --property dataport.timestamp_policy=on_write
    
  • [corba_cdr][push][periodic][all]
    rtcon ./localhost/.host_cxt/ConsoleIn0.rtc:out ./localhost/.host_cxt/ConsoleOut0.rtc:in --property dataport.subscription_type=periodic --property dataport.push_rate=1 --property dataport.publisher.push_policy=all --property dataport.timestamp_policy=on_write
    
  • [corba_cdr][push][periodic][fifo]
    rtcon ./localhost/.host_cxt/ConsoleIn0.rtc:out ./localhost/.host_cxt/ConsoleOut0.rtc:in --property dataport.subscription_type=periodic --property dataport.push_rate=1 --property dataport.publisher.push_policy=fifo --property dataport.timestamp_policy=on_write
    
  • [corba_cdr][push][periodic][skip]
    rtcon ./localhost/.host_cxt/ConsoleIn0.rtc:out ./localhost/.host_cxt/ConsoleOut0.rtc:in --property dataport.subscription_type=periodic --property dataport.push_rate=1 --property dataport.publisher.push_policy=skip --property dataport.timestamp_policy=on_write
    
  • [corba_cdr][push][periodic][new]
    rtcon ./localhost/.host_cxt/ConsoleIn0.rtc:out ./localhost/.host_cxt/ConsoleOut0.rtc:in --property dataport.subscription_type=periodic --property dataport.push_rate=1 --property dataport.publisher.push_policy=new --property dataport.timestamp_policy=on_write
    
  • [shared_memory][push][periodic][new]
    rtcon ./localhost/.host_cxt/ConsoleIn0.rtc:out ./localhost/.host_cxt/ConsoleOut0.rtc:in --property dataport.interface_type=shared_memory --property dataport.timestamp_policy=on_write
    
  • [direct][push][new][][on_write]
  • [direct][pull][new][][on_write]
    • ConsoleInのrtc.confに以下を追加してConsoleInを起動する。
      manager.modules.load_path:./RTMExamples/SimpleIO
      manager.modules.preload: ConsoleOut
      manager.components.precreate: ConsoleOut
      
    • rtcon でポートを接続する
      rtcon ./localhost/.host_cxt/ConsoleIn0.rtc:out ./localhost/.host_cxt/ConsoleOut0.rtc:in --property dataport.interface_type=direct --property dataport.dataflow_type=push --property dataport.timestamp_policy=on_write
      

      rtcon ./localhost/.host_cxt/ConsoleIn0.rtc:out ./localhost/.host_cxt/ConsoleOut0.rtc:in  --property dataport.interface_type=direct --property dataport.dataflow_type=pull --property dataport.timestamp_policy=on_write
      
  • [corba_cdr][pull][new][][on_write]
    rtcon ./localhost/.host_cxt/ConsoleIn0.rtc:out ./localhost/.host_cxt/ConsoleOut0.rtc:in --property dataport.dataflow_type=pull --property dataport.timestamp_policy=on_write
    

#2 Updated by win-ei over 5 years ago

  • Assignee set to win-ei
  • % Done changed from 0 to 100

#3 Updated by n-ando almost 5 years ago

  • Status changed from 新規 to 終了

Also available in: Atom PDF