GnuHawk - кодоген из пользовательского компонента GNU Radio
Я пытаюсь сгенерировать компонент Redhawk из пользовательского компонента GNU Radio. Мне не удалось выяснить, как использовать плагин генератора кода GnuHawk. А именно, какова необходимая отправная точка и какие шаги в Eclipse необходимы?
Кажется, я должен создать компонент SCA с помощью мастера Eclipse и вручную добавить порты и свойства, чтобы соответствовать целевому компоненту GNU adio. Это правильно? Не существует автоматического способа сделать это, начиная с кода блока GNU Radio?
Когда я запускаю "rhgen" вручную для компонента SCA, кажется, он генерирует файлы cpp / h; Тем не менее, я не могу понять, как вызвать специфичный для GnuHawk плагин.. "gov.redhawk.ide.codegen.jet.cplusplus.gnuradio"
1 ответ
Gnuhawk находится в начальной стадии разработки. Эта версия поддерживает подмножество GnuRadio; Существуют функции, такие как сложные простые типы свойств, которые должны иметь базовая линия Redhawk и библиотека интеграции Gnuhawk для поддержки всего GnuRadio. Существует вероятность того, что любой блок, который вы пытаетесь интегрировать, не удастся построить правильно, поскольку в нем отсутствует какая-либо базовая функция. Первоначальный набор выпущенных блоков был выбран, потому что можно было предоставить все, что им было нужно.
rhgen - версия генераторов кода для командной строки. Предполагается взять существующий проект и сгенерировать связанные исходные файлы. В контексте Gnuhawk, rhgen используется для повторной генерации кода компонента, когда доступно обновление для генераторов, вместо того, чтобы делать это вручную через пользовательский интерфейс IDE.
Учитывая неструктурированную природу блоков GnuRadio, невозможно полностью автоматизировать процесс генерации. Разработчик должен создать необходимые порты и свойства и использовать их соответственно.
Использование Gnuhawk в качестве стабильной платформы интеграции в настоящее время не поддерживается. Поддержка в Redhawk ограничена выпущенными компонентами. Поскольку использование библиотеки интеграции для блоков, выходящих за пределы уже выпущенных, выходит за рамки поддержки, нет никаких гарантий того, что внутренний API Gnuhawk останется стабильным в будущих выпусках.