RedHawk v2.1 Ошибка устройства IDL

Мы используем RedHawk v2.1 на Xynq7035 ARM COretex A9 с ядром Embedded Linux 3.14. Наше приложение SSB Tx/Rx SDR. Таким образом, сигналы состоят из 3 типов: один - SSB RX, два - SSB TX, три - CW TX. Устройство HW имеет 6 портов dataFloat и 6 портов dataUlong, каждый из которых имеет в общей сложности 12 портов. Процедура запуска приведена ниже.

#nodeBooter -D &
#nodeBooter -d /usr/lib/redhawk/sdr/dev/nodes/dev_trx_node/DeviceManager.dcd.xml &
#rh_start.py &

Код rh_start.py приведен ниже.

from ossie.utils import redhawk
import logging
logging.basicConfig()
domain_list = redhawk.scan()
dom = redhawk.attach(domain_list[0])
wave0 = dom.createApplication("/waveforms/rx_waveform/rx_waveform.sad.xml")
dom.devices[1].connect(wave0.comps[0], usesPortName='out_data_rx', providesPortName='in_data' )

Ошибка возникает при подключении устройства и порта сигнала. Код ошибки

ERROR:ossie.utils.model:Invalid port descriptor in scd for IDL:BULKIO/dataFloat:1.0
ERROR:ossie.utils.model:Invalid port descriptor in scd for IDL:BULKIO/dataFloat:1.0
ERROR:ossie.utils.model:Invalid port descriptor in scd for IDL:BULKIO/dataFloat:1.0
ERROR:ossie.utils.model:Invalid port descriptor in scd for IDL:BULKIO/dataUlong:1.0
ERROR:ossie.utils.model:Invalid port descriptor in scd for IDL:BULKIO/dataUlong:1.0
ERROR:ossie.utils.model:Invalid port descriptor in scd for IDL:BULKIO/dataUlong:1.0
ERROR:ossie.utils.model:Invalid port descriptor in scd for IDL:BULKIO/dataFloat:1.0
ERROR:ossie.utils.model:Invalid port descriptor in scd for IDL:BULKIO/dataFloat:1.0
ERROR:ossie.utils.model:Invalid port descriptor in scd for IDL:BULKIO/dataFloat:1.0
ERROR:ossie.utils.model:Invalid port descriptor in scd for IDL:BULKIO/dataUlong:1.0
ERROR:ossie.utils.model:Invalid port descriptor in scd for IDL:BULKIO/dataUlong:1.0
ERROR:ossie.utils.model:Invalid port descriptor in scd for IDL:BULKIO/dataUlong:1.0
ERROR:ossie.utils.model:Unable to find port description for IDL:CF/Port:1.0
ERROR:ossie.utils.model:Invalid port descriptor in scd for IDL:ExtendedEvent/MessageEvent:1.0enter code here

Ошибка на всех портах моего устройства и на всех портах GPP. Мое устройство создано с помощью RedHawk-IDE v2.1. GPP загружает v2.1 и кросс-компилирует. GPP.scd.xml не изменился. Файл scd.xml неправильный? наш раздел портов устройства в файле scd.xml находится ниже.

<ports>
  <provides repid="IDL:BULKIO/dataFloat:1.0" providesname="in_data_cw">
    <porttype type="data"/>
  </provides>
  <uses repid="IDL:BULKIO/dataFloat:1.0" usesname="out_data_cw">
    <porttype type="data"/>
  </uses>
  <provides repid="IDL:BULKIO/dataFloat:1.0" providesname="in_data_rx">
    <porttype type="data"/>
  </provides>
  <uses repid="IDL:BULKIO/dataFloat:1.0" usesname="out_data_rx">
    <porttype type="data"/>
  </uses>
  <provides repid="IDL:BULKIO/dataFloat:1.0" providesname="in_data_tx">
    <porttype type="data"/>
  </provides>
  <uses repid="IDL:BULKIO/dataFloat:1.0" usesname="out_data_tx">
    <porttype type="data"/>
  </uses>
  <provides repid="IDL:BULKIO/dataUlong:1.0" providesname="in_cnt_cw">
    <porttype type="data"/>
  </provides>
  <uses repid="IDL:BULKIO/dataUlong:1.0" usesname="out_cnt_cw">
    <porttype type="data"/>
  </uses>
  <provides repid="IDL:BULKIO/dataUlong:1.0" providesname="in_cnt_rx">
    <porttype type="data"/>
  </provides>
  <uses repid="IDL:BULKIO/dataUlong:1.0" usesname="out_cnt_rx">
    <porttype type="data"/>
  </uses>
  <provides repid="IDL:BULKIO/dataUlong:1.0" providesname="in_cnt_tx">
    <porttype type="data"/>
  </provides>
  <uses repid="IDL:BULKIO/dataUlong:1.0" usesname="out_cnt_tx">
    <porttype type="data"/>
  </uses>
</ports>

Само приложение работает, но не могли бы вы сообщить нам причину ошибки и обходной путь?

2 ответа

Решение

Похоже на то IDL:BULKIO/dataFloat:1.0 отсутствует в библиотеке IDL в соответствии со строкой 1266 модельного модуля init. Проверьте, существует ли библиотека IDL в пути: $OSSIEHOME/share/idl, также проверьте, есть ли в вашем файле scd что-то вроде:

<interface name="ProvidesPortStatisticsProvider" repid="IDL:BULKIO/ProvidesPortStatisticsProvider:1.0"/>
    <interface name="updateSRI" repid="IDL:BULKIO/updateSRI:1.0"/>
    <interface name="dataFloat" repid="IDL:BULKIO/dataFloat:1.0">
      <inheritsinterface repid="IDL:BULKIO/ProvidesPortStatisticsProvider:1.0"/>
      <inheritsinterface repid="IDL:BULKIO/updateSRI:1.0"/>
    </interface>

внутри тега интерфейсов.

Совет: порты могут использовать IDL базовой платформы, кроме IDL:BULKIO, ты можешь использовать IDL:CF/Resource управлять компонентом, IDL:CF/Device управлять устройством. Вы даже можете получить ссылку на домен, используя порты. Таким образом, вы можете создать единую форму сигнала для SSB (TX и RX), реализуя надлежащий контроллер сборки, чтобы диктовать, как работает ваша форма волны.

Вы используете ADRV9361 (Picozed SDR)? если так... вы могли бы оценить мое FrontEnd устройство AD936X_LIBIIO... как вы встраивали (кросс-компилировали) в Zynq REDHAWK?

Библиотека IDL существует в /usr/share/idl/ossie/BULKIO. Это не $OSSIEHOME/share/idl, но bio_daraUlog_idl.py и bio_dataFloat_idl.py находятся в $OSSIEHOME/lib/python/bulkio/bulkioInterface . Прошу прощения за то, что забыл дискриминировать "из объемного импорта. BulkioInterface BULKIO" . однако вышеупомянутые ошибки встречаются без этого описания импорта. Теги интерфейса моего файла scd:

<interfaces>
...............
    <interface name="dataFloat" repid="IDL:BULKIO/dataFloat:1.0">
      <inheritsinterface repid="IDL:BULKIO/ProvidesPortStatisticsProvider:1.0"/>
      <inheritsinterface repid="IDL:BULKIO/updateSRI:1.0"/>
    </interface>
    <interface name="ProvidesPortStatisticsProvider" repid="IDL:BULKIO/ProvidesPortStatisticsProvider:1.0"/>
    <interface name="updateSRI" repid="IDL:BULKIO/updateSRI:1.0"/>
    <interface name="dataUlong" repid="IDL:BULKIO/dataUlong:1.0">
      <inheritsinterface repid="IDL:BULKIO/ProvidesPortStatisticsProvider:1.0"/>
      <inheritsinterface repid="IDL:BULKIO/updateSRI:1.0"/>
    </interface>
</interfaces>

Я думаю, что в том числе ваш указал.

Другие вопросы по тегам