我正在嘗試使用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爲我們的硬件提供的任何方法,所以理想情況下我會重用這樣的實現(如果存在的話)。