Project

General

Profile

機能 #3779

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

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:
(Total: 0.00 h)

Description

データポート間を接続する際には、それぞれのポートが持つPortProfileの各種情報を取得しポートがサポートしている機能の情報を取得したうえで、ConnectorProfileのフィールドに必要な情報をセットし、1か所のポートに対して引数と私notify()関数を呼ぶことでポート間の接続が確立される。FSM4RTCでは、PortProfile::properties, ConnectorProfile::properties にセットする値がOpenRTMで決められているものから変更されており、本実装では、この仕様に対応させる作業を実施する。
FSM4RTCでは以下の14種類の標準プロパティが定義されており、PortProfileでは、dataport.fsm_event_name を除くプロパティがセットされている。また、ConnectorProfileでは14種類すべての値に対して、振る舞いを変更するなどの対応が必要となる。

dataport.dataflow_type: {push, pull}
dataport.io_mode: {block, nonblock}
dataport.data_type: Data type in IFR
dataport.interface_type: Interface type in IFR
dataport.marshaling_type: marshaling type
dataport.timestamp_policy: {on_write, on_send, on_received, on_read, none}
dataport.write_buffer_length: int
dataport.write_buffer_full_policy: {overwrite, do_nothing, block}
dataport.write_buffer_timeout: [s]
dataport.read_buffer_length: int
dataport.read_buffer_empty_policy: {read_back, do_nothing, block}
dataport.read_buffer_timeout: [s]
dataport.read_buffer_queue_policy: {all, fifo, new}
dataport.fsm_event_name: イベント名

なお、実装するにあたり、過去のバージョンとの互換性のため、新旧両方のプロパティに対応させること。


Subtasks

機能 #3886: [FSM4RTC] データポートのタイムスタンプ打刻機能終了win-ei

Associated revisions

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

[FSM4RTC,compat,new prop] PortProfile/ConnectorProfile \"dataport.io_mode\" has been added. refs #3779

History

#1 Updated by win-ei over 5 years ago

dataport.io_mode の追加

動作確認

ConsoluOut と ConsoluIn で動作確認
別々のターミナルで ConsoleOut ConsoleIn を起動する。
rtcon でポートが接続する

$ rtcon ./localhost/.host_cxt/ConsoleIn0.rtc:out ./localhost/.host_cxt/ConsoleOut0.rtc:in --property dataport.subscription_type="new" 
$ rtact ./localhost/.host_cxt/ConsoleIn0.rtc
$ rtact ./localhost/.host_cxt/ConsoleOut0.rtc

$ rtcon ./localhost/.host_cxt/ConsoleIn0.rtc:out ./localhost/.host_cxt/ConsoleOut0.rtc:in --property dataport.subscription_type="flush" 
$ rtact ./localhost/.host_cxt/ConsoleIn0.rtc
$ rtact ./localhost/.host_cxt/ConsoleOut0.rtc

$ rtcon ./localhost/.host_cxt/ConsoleIn0.rtc:out ./localhost/.host_cxt/ConsoleOut0.rtc:in --property dataport.subscription_type="periodic" --property dataport.push_rate="1" 
$ rtact ./localhost/.host_cxt/ConsoleIn0.rtc
$ rtact ./localhost/.host_cxt/ConsoleOut0.rtc

$ rtcon ./localhost/.host_cxt/ConsoleIn0.rtc:out ./localhost/.host_cxt/ConsoleOut0.rtc:in --property dataport.io_mode="block" 
$ rtact ./localhost/.host_cxt/ConsoleIn0.rtc
$ rtact ./localhost/.host_cxt/ConsoleOut0.rtc

$ rtcon ./localhost/.host_cxt/ConsoleIn0.rtc:out ./localhost/.host_cxt/ConsoleOut0.rtc:in --property dataport.io_mode="nonblock" 
$ rtact ./localhost/.host_cxt/ConsoleIn0.rtc
$ rtact ./localhost/.host_cxt/ConsoleOut0.rtc

#2 Updated by n-ando almost 5 years ago

  • Status changed from 新規 to 終了

Also available in: Atom PDF