问题标签 [redhawksdr]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
686 浏览

redhawksdr - 组件无法分配不是可执行设备的设备

我正在使用红鹰 1.9。我使用默认设置创建了一个 Redhawk 设备、组件、节点和波形。我对以上所有内容都使用 C++ 实现。问题是无法分配设备,因为它不是可执行设备。在代码部分的实现选项卡中,“类型”变量设置为“可执行”(默认值)。如果这是不正确的,那应该是什么?

注意:当我从可执行设备派生设备时,问题就消失了。

我能够重现虚拟设备和组件的问题,如下所示:我更新了组件,以便它将使用该设备。

我更新设备属性:

我将此处创建的虚拟设备添加到此处创建的虚拟节点中。我将虚拟组件添加到虚拟波形中。我启动了仅包含虚拟设备的虚拟节点 我启动了仅包含上述虚拟设备的虚拟波形。我收到以下错误消息:

  • 无法创建应用程序:DeviceOnlyTestWaveform_343_114533234 发生以下 CORBA 异常:创建应用程序时 InvalidCapacity IDL:CF/ApplicationFactory/CreateApplicationError:1.0*

域管理器(使用跟踪日志记录运行)显示以下内容:

在 ApplicationFactory_impl 中,代码似乎显示分配失败,因为设备不是从可执行设备派生的。代码部分的“类型”为 Executable(默认设置)。如果这不正确,那应该是什么?

0 投票
2 回答
203 浏览

redhawksdr - 错误:无法分配抽象类型“FRONTEND_RFInfo_In_i”的对象

使用:

Redhawk 1.9/CentOS 6.4(32 位)/C++ 实现

创建一个新的 FRONTEND::TUNER 设备

使用代码生成的默认设置

当我添加 FRONTEND Digital Tuner 所需的以下端口并重新生成代码时,会出现以下错误消息。

错误消息(问题窗口):

无法分配抽象类型“FRONTEND_RFInfo_In_i”的对象 TestFrontEndDevice_base.cpp /TestFrontEndDevice/cpp 第 50 行 C/C++ 问题

错误消息(控制台):

port_impl.h:56:注意:因为以下虚函数在 'FRONTEND_RFInfo_In_i' 中是纯函数:

/usr/local/redhawk/core/include/redhawk/FRONTEND/RFInfo.h:323:注意:虚拟 void FRONTEND::_impl_RFInfo::rf_flow_id(const char*)

/usr/local/redhawk/core/include/redhawk/FRONTEND/RFInfo.h:325:注意:虚拟 void FRONTEND::_impl_RFInfo::rfinfo_pkt(const FRONTEND::RFInfoPkt&)

make: * [TestFrontEndDevice-TestFrontEndDevice_base.o] 错误 1

0 投票
1 回答
165 浏览

redhawksdr - 使用默认从 IDE 创建 1.9 前端设备时出现链接器错误

使用:

Redhawk 1.9/CentOS 6.4(32 位)/C++ 实现

创建一个新的 FRONTEND::TUNER 设备

使用代码生成的默认设置。FRONTEND 数字调谐器需要以下端口并重新生成代码。

生成代码后,对 port_impl.h 和 port_impl.cpp 进行更新,以解决以下定义的问题: 错误:无法分配抽象类型 'FRONTEND_RFInfo_In_i 的对象

对 port_impl.h 和 port_impl.cpp 进行更新后,重新编译代码。它编译,但我们得到下面的链接器错误。

似乎无法在 bulkio 库中获取此方法。

0 投票
1 回答
652 浏览

redhawksdr - UHD 设备不会在 Redhawk 1.9.0 中构建

我正在尝试在 Redhawk 1.9.0 中构建 UHD 设备,最新提交 (c749987865c5e158b65f26b160e0435f34c71580),但收到多个构建错误(见下文)。在尝试构建最新版本的 UHD 设备 (v2.0.2) 时,我收到了类似的错误。

UHD 设备的自述文件并未指明构建设备的要求或提供任何其他说明。

我有 2 个问题:
1)我是否也需要安装 GNUHawk?
2)如果是这样,我想这意味着我需要降级到 Redhawk 1.8.4,因为 GNUHawk 据说不适用于 Redhawk 1.9.0(http://redhawksdr.github.io/Documentation/gnuhawk/mainli2.html) , 正确的?

如果问题与我的构建过程有关,我的步骤如下:
1)从 GitHub 下载 repo 的 zip 文件
2)将文件内容提取到 REDHAWK 工作区并导入项目
3)右键单击项目名称(USRP_UHD-develop-1.8 ),选择“构建项目”

0 投票
2 回答
458 浏览

redhawksdr - 波形生命周期

我想在启动时在 cpu 上启动 Redhawk Domain Mgr、Device Mgrs 和 Waveform,无需任何用户干预。然后我应该能够使用 IDE 连接到它。

我创建了一个执行以下操作的 python 脚本:

这将启动域管理器、设备管理器和消息波形。

在这个 perl 脚本完成后,我会启动 IDE。我连接到域。我看到了设备,但波形不存在。当 perl 脚本完成时,波形似乎结束了。我希望波形不会消失,但我以后可以找回它。

我是否需要启动用于帮助保持波形活跃的服务?

0 投票
1 回答
498 浏览

redhawksdr - 在 Redhawk IDE Sandbox 中使用 Chalkboard 时出错

我正在尝试使用 REDHAWK IDE 测试沙盒中的组件,但每次将组件拖到黑板上时都会收到错误消息。

例如,当我尝试将内置的 SigGen 组件拖到黑板上时,我得到一个弹出窗口,说明:

在详细信息部分它说:

此外,控制台窗口中的错误取决于我启动的实现(弹出窗口中的错误保持不变)。对于 Java,控制台窗口中不会显示错误。C++ 和 Python 实现的错误如下。

C++

Python

SigGen 组件甚至不会显示在 IDE 的黑板上。

当我尝试在 REDHAWK_DEV 域中启动波形时,我没有遇到任何问题。

0 投票
0 回答
522 浏览

corba - 如何在 Fedora 20 上为 REDHAWK 1.9.0 正确配置omniORB 引导程序?

我正在尝试将 REDHAWK 1.9.0 移植到 Fedora 20。我(据我所知)成功地强制所有内容进行编译。但是,我无法让域正确实例化。选择域和设备管理器后,我收到以下消息:

OmniNames 和 OmniEvents 运行良好,但 REDHAWK 没有正确连接。

控制台提供了更多信息:

由于错误消息涉及端口 900,因此 Java 引导功能似乎存在一些问题。

我的 cfg 文件很简单:

我在配置文件中尝试了 bootstrapAgentHostname 和 bootstrapAgentPort 的各种排列,并禁用了 IPv6,但没有运气。

关于我可能做错了什么或配置文件中可能缺少哪些配置选项的任何建议?

0 投票
1 回答
354 浏览

redhawksdr - 将 USRP_UHD 与 IDE 黑板一起使用

我正在尝试编写一个简单的控制组件,它允许我通过黑板启动 USRP_UHD 设备。我目前的环境是 CentOS 6.4 和 Redhawk 1.9.0。

我编写的组件使用 DigitalTuner_out 端口,并且我在属性更改侦听器中编写了代码,以在通过我的自定义组件更改中心频率时调用 USRP_UHD 设备上的 setTunerCenterFrequency 函数。我可以使用 SCA 资源管理器中的端口连接它们。

问题是即使在我将 USRP_UHD 设备中的 update_available_usrp_seq 属性设置为 true 并让它完成加载之后,也没有分配调谐器。我知道我必须使用前端调谐器分配结构调用 USRP_UHD 设备 allocateCapacity 函数。我已经为 DeviceKind = FRONTEND 添加了分配属性依赖项。当我使用 USRP_UHD 添加依赖项时,只有设备类型和设备型号显示在列表中。

如何通过 IDE 执行对 allocateCapacity 函数的调用?如果这是可能的,那么我如何获取分配给控制组件使用的调谐器的 ID 字符串?我的猜测是我会使用 ConnectionID,它是 UsesConnection 结构的一部分,可以从调用 DigitalTuner_out->connections() 返回的 UsesConnectionSequence 中检索。

0 投票
2 回答
628 浏览

python - 什么不能从 python 运行 Redhawk HelloWorld?

我在 32 位 CentOS 5 虚拟机上加载了 Redhawk 1.9。我正在尝试运行此处描述的 Redhawk HelloWorld 组件:http ://redhawksdr.github.io/Documentation/mainch3.html 。我能够在 Eclipse 沙箱中启动和启动组件。我无法从 Python 运行它。我收到以下错误。

任何想法为什么它不起作用?

0 投票
1 回答
193 浏览

python - Cannot receive packet data over BullkIO port sent from Executable Device

I want to create data on a Device and send it over a BulkIO port to a Component running inside of a Waveform on the Device. I believe this is the correct way to create data flow from hardware into a Component.

I have a usesport on the Device:

I have a providesport on the Component running on the Device:

I am able to connect these ports programatically using this python snippet:

This all works great and is very similar to how I have connected the FrontEnd 2.0 DigitalTuner ports on the same Component/Device pair. Those FE 2.0 ports work well and pass all tests.

Now, I go ahead and start the device:

It is executing this code:

This prints out on the Dev Mgr:

This all seems good

Then I go ahead and start the waveform:

It is executing this code:

However, it never gets any of the packets/data from the dataChar port:

Am I doing something wrong? Is it possible to receive data over BulkIO from a Device? I am also trying to figure out how to monitor the BulkIO port(s) to figure out what is going wrong, but I cannot find out how to monitor the ports in the documentation.

I can receive data on the component in the Sandbox using this code:

I attempted to push the SRI before the packet data with no luck:

UPDATE: I can now answer this question myself. The problem lies in the format being sent to pushPacket(). It should be a string instead of an array of chars to be sent over a dataChar BulkIO port. Essentially this:

should be changed to this: