0

我正在尝试在 REDHAWK 1.9 中创建具有单个 Java 实现的可执行设备。

在 REDHAWK IDE 中,我使用File > New > SCA Device Project,然后在 Device 下拉列表中选择Executable。对于语言,我选择Java和使用模板Pull Port Data的生成器Java Code Generator

当我在 IDE 中创建设备并生成代码时,它只会扩展Device,而后者又只实现CF.DeviceOperations. 我本来期望一个可执行设备来扩展实现的东西CF.ExecutableDeviceOperations。查看github上的源代码,似乎没有 Java Executable 实现。

我可以在设备管理器中运行 Java 设备,但是当我尝试启动波形时,域管理器会打印错误:

Device <id> is not loadable

查看源代码,这似乎发生在应用程序工厂中,当它试图将设备缩小到可加载设备时。我的理解是,为了运行组件,设备必须是可加载和可执行的,所以如果实现实际上没有实现这些方法,那么它在这里失败是有道理的。

如果我将实现更改为 C++,生成的代码会扩展一个ExecutableDevice_impl实现这些功能的代码,我可以使用它从波形中成功加载和执行组件。

所有这一切让我相信,REDHAWK 1.9 没有提供可执行设备的 Java 实现。这个对吗?目前正在开发中吗?我不需要自定义 GPP 为我们的硬件提供的任何方法,因此理想情况下,如果存在这样的实现,我会重用它。

4

1 回答 1

0

你是对的。REDHAWK 1.8 和 1.9 目前只支持 Java 基本设备。但是,Python 和 C++ 都支持可加载和可执行设备。

于 2013-10-22T17:15:57.290 回答