我正在尝试使用REDHAWK 1.9中的单个Java实现创建可执行设备。使用Java创建可执行设备
从红鹰IDE我用文件>新>SCA设备项目,并在设备下拉菜单中选择可执行。对于我选择的语言Java和生成器Java代码生成器使用模板拉取端口数据。
当我创建设备并在IDE中生成代码时,它只扩展Device
,而这又只实现了CF.DeviceOperations
。我本来期望一个可执行的设备来扩展实现CF.ExecutableDeviceOperations
的东西。看看github的源代码,看起来似乎没有Java可执行文件的实现。
我可以在设备管理器中运行Java的设备,但是当我尝试推出一个波形的域管理器打印错误:
Device <id> is not loadable
望着这出现在Application Factory发生源时试图将设备缩小到可加载设备。我的理解是,为了运行组件,设备必须是可加载和可执行的,所以如果实现没有实际实现这些方法,那么它在这里失败是有道理的。
如果我将实现更改为C++,生成的代码确实会扩展实现这些函数的ExecutableDevice_impl
,我可以使用它来成功加载和执行波形中的组件。
所有这些让我相信REDHAWK 1.9并未附带可执行设备的Java实现。它是否正确?目前正在开发中吗?我不需要定制GPP为我们的硬件提供的任何方法,所以理想情况下我会重用这样的实现(如果存在的话)。