2016-06-15 5 views
0

私はRedHawk 2.0.1をcentos6.5 x64システムで使用しています。Redhawk rh.sourceVITA49コンポーネントの使用

from ossie.utils import sb 
dst= sb.launch("rh.SinkVITA49",execparams={"DEBUG_LEVEL":4}) 
dst.api() 
dst.network_settings.interface="eth3" 
dst.network_settings.enable=True 
dst.network_settings.ip_address="192.168.0.3" 
dst.advanced_configuration.force_transmit=True 
siggen = sb.launch("rh.SigGen") 
siggen.api() 
siggen.connect(dst,usesPortName="dataShort_out") 
sb.start() 

私はWiresharkの中のパケットをチェックすることで検証することができます。私はとうまくrh.SinkVITA49コンポーネントを起動することができます。しかし、受信者rh.SourceVITA49の場合、vita-49(w VRL)データソースはポート41001(wiresharkで確認済み)にありますが、データは受信できません。セットアップは次のとおりです。実行するように見えますが、何のデータの流れと状況が存在しない

from ossie.utils import sb 
src = sb.launch("rh.SourceVITA49",execparams={"DEBUG_LEVEL":4}) 
src.api() 
src.attachment_override.enabled=True 
src.interface="eth0" 
src.interface="eth1" 
src.attachment_override.ip_address="192.168.2.10" 
src.attachment_override.port=41001 
src.VITA49Processing_override.enable=True 
src.VITA49Processing_override.VRL_frames=True 
src.VITA49Processing_override.vector_size=1024 
src.advanced_configuration.vita49_packet_size=4136 
sb.IDELocation("/usr/local/redhawk/ide/2.0.1/") 
plot=sb.Plot() 
src.connect(plot,usesPortName="dataShort_out") 
sb.start() 
src.api() 

は次のとおりです。

>>> src.api() 
Component [rh.SourceVITA49]: 
Provides (Input) Ports ============== 
Port Name  Port Interface 
---------  -------------- 
dataVITA49_in IDL:BULKIO/dataVITA49:1.0 

Uses (Output) Ports ============== 
Port Name  Port Interface 
---------  -------------- 
dataUshort_out IDL:BULKIO/dataUshort:1.0 
dataChar_out IDL:BULKIO/dataChar:1.0 
dataDouble_out IDL:BULKIO/dataDouble:1.0 
dataFloat_out IDL:BULKIO/dataFloat:1.0 
dataOctet_out IDL:BULKIO/dataOctet:1.0 
dataShort_out IDL:BULKIO/dataShort:1.0 

Properties ============== 
Property Name     (Data Type)  [Default Value] Current Value 
-------------     -----------  --------------- ------------- 
interface      (string)  eth1   eth1 
attachment_override    (struct) 
    enabled      (boolean)  False   True 
    ip_address     (string)  127.0.0.1  192.168.2.10 
    vlan       (ushort)  0    0 
    use_udp_protocol    (boolean)  True   True 
    port       (long/SL/32t) 12344   41001 
connection_status    (struct) 
    input_enabled     (boolean)  None   True 
    data_throughput    (double/SD/64f) None   0.0 
    input_sample_rate    (double/SD/64f) None   0.0 
    input_port     (ushort)  None   41001 
    packets_missing    (ulong)   None   0 
    waiting_for_context_packet (boolean)  None   True 
    input_ip_address    (string)  None   192.168.2.10 
    input_vlan     (ushort)  None   0 
VITA49Processing_override  (struct) 
    VRL_frames     (boolean)  False   True 
    repeating      (ulong)   1    1 
    event_tag_size    (ulong)   0    0 
    channel_tag_size    (ulong)   0    0 
    data_item_format    (longlong)  3    3 (enum=DataType_int16) 
    vector_size     (ulong)   1    1024 
    processing_efficient   (boolean)  True   True (enum=processing_efficient) 
    enable      (boolean)  False   True 
    real_complex_type    (long/SL/32t) 1    1 (enum=complexCartesian) 
advanced_configuration   (struct) 
    vita49_packet_size   (ulong)   1500   4136 
    buffer_size     (long/SL/32t) 4096000   4096000 
    poll_in_time     (ulong)   100    100 
    corba_transfersize   (ulong)   0    0 

私はこの問題を推測している、それが起動する前に、コンテキストのパケットを待っています受け取る?私のストリームはコンテクストパケットを持っていないので、方法があればそれを強制する必要があります。ありがとう

+0

私のソースのvita-49ヘッダーは、コードが想定しているものとは逆のバイトになっていました。ヘッダーのエンディアンを指定するトップレベルのプロパティを追加しました。オプションで元の動作を復元することもできます。 –

答えて

0

私はあまりそのコンポーネントに精通していませんが、私はコンテキストパケットを待っているという前提で正しいと思います。 trueに設定され、内部で設定されreceivedContextPacketブールなしcanProcessDataPacket方法here

があるかのようにそれが表示されたコードを見ると、あなたの他のオプションがtrueにプロパティVITA49Processing_override.enableを設定すると、有効なSRIとの構成要素を提供することです押す。適切なSRIをVITA49コンポーネントにプッシュするか、REDHAWKサービスを介して、またはサンドボックス経由で行うことはできません。

+0

はい、SRIも答えの一部でした。コンポーネントは、SRIが受信されるまでデータの処理を開始しません。著者は、SRIを生成するためにコンテキストパケットが到着すると想定していると思います。ソースにコンテキストパケットがないので、SRIを強制する必要がありました。しかし、私の主な問題は、私のvita-49ソースヘッダは、コンポーネントが予期していたバイトスワップされているため、デコードできなかったことです。 –

関連する問題