Я использую Redhawk 2.0.1 на системе centos6.5 x64. Я могу запустить компонент rh.SinkVITA49 просто отлично с: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.SourceVITA49 у меня есть источник данных vita-49 (w VRL), поступающий на порт 41001 (проверен с помощью wirehark), но я не могу получить никаких данных. Установка:
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
Я предполагаю, что этот вопрос он ждет контекстных пакетов, прежде чем начать Получать? Мой поток не имеет пакетов контекста, поэтому мне придется заставить это, если есть способ. Спасибо
Оказалось, что основная проблема заключалась в том, что заголовки vita-49 в моем источнике поменялись байтами относительно того, что ожидает код. Я добавил свойство верхнего уровня, чтобы указать endianess заголовков, чтобы я мог по желанию восстановить исходное поведение. –