Closed Nobu19800 closed 4 years ago
上記の動作確認には以下にアップロードしたserializer_sample.zip
を使用する。
以上のように変更をお願いいたします。> @ga-sakamoto
@Nobu19800 様 サンプルRTCおよび実行用バッチファイルなどのご作成ありがとうございました. ただ,たいへん申し訳ございませんが,(B)の(1)に該当するサンプルがどれになるのかがわかりませんでした.
@Nobu19800 様 何度も申し訳ございません. もしも可能であれば,「コネクタプロファイル設定画面について」に記載のある「接続可能」「接続不可」が混在したサンプルにつきましてもご提供頂けませんでしょうか?
以下のようにサンプルを追加しました。
早速のご対応ありがとうございました.
Is your feature request related to a problem? Please describe.
Describe the solution you'd like ポートプロファイルの
dataport.marshaling_types
の値から特定のシリアライザを使うと通信可能かを判定して異なるデータ型のポートでも接続可能にする。Describe alternatives you've considered InPort、OutPortの接続について以下の5種類の状況が考えられる。
-(C) OutPort側で独自シリアライザが使える場合
-(D) OutPort、InPortの両方で独自シリアライザ、デシリアライザが使える場合
-(E) cdr以外のシリアライザを使用可能な場合
まず(A)については従来通りシステムダイアグラム上でデータ型を比較して接続可能にする。
(D)については、使用可能なシリアライザから以下の
シリアライザの種類
、符号化後のデータ型(複合前のデータ型)
が一致した場合に接続可能にする。シリアライザの命名規則を以下に示す。
OutPort側
InPort側
(B)についてはさらに2種類の状況が考えられる。
符号化後のデータ型(複合前のデータ型)
が含まれている場合この場合は(D)と同様に
シリアライザの種類
、符号化後のデータ型(複合前のデータ型)
を比較して判定する。符号化後のデータ型(複合前のデータ型)
が含まれていない場合この場合については
シリアライザの種類
の比較はできるが、符号化後のデータ型(複合前のデータ型)
の比較ができない。符号化後のデータ型(複合前のデータ型)
を省略している場合、ポートプロファイルから取得できるポートのデータ型と符号化後のデータ型(複合前のデータ型)
は同一であるため、ポートプロファイルから取得したデータ型と比較する。(C)についても同様に処理する。
(E)については(D)と同様に
シリアライザの種類
、符号化後のデータ型(複合前のデータ型)
を比較して判定する。接続するポートのシリアライザの名前を全て比較して、上記の方法で接続可能かを判定する。
コネクタプロファイルの設定画面でポートを通信可能にするシリアライザの名前のみ表示するのが理想であるが、例えば以下のように通信可能にするシリアライザが複数存在し、組み合わせ次第で通信可能できない場合に問題になる。
この場合に
OutPort Serializer
のコンボボックスで選択したシリアライザと対応するデシリアライザをInPort Serializer
に自動的に表示するという処理が必要になり難しくなるため、現行通り使用可能なシリアライザ、デシリアライザは全て表示するようにする。ただし、
Serializer Type
に表示する項目は現状ではシリアライザの種類
を比較してシリアライザの種類
をドロップダウンリストに表示するようになっているが、単純にInPortとOutPortのシリアライザの名前を比較して一致したものを表示するだけに変更する。Additional context この修正内容は@n-ando さんに確認を取っていないため、指示を受けてから作業を行う。