Создание исполняемого устройства в Java
Я пытаюсь создать исполняемое устройство с одной реализацией Java в REDHAWK 1.9.
В REDHAWK IDE я использую Файл > Создать > Проект устройства SCA и выбираю Исполняемый файл в раскрывающемся списке Устройство. Для языка я выбираю Java и генератор Java Code Generator, используя шаблон Pull Port Data.
Когда я создаю устройство и генерирую код в IDE, он только расширяется Device
который в свою очередь только реализует CF.DeviceOperations
, Я бы ожидал, что исполняемое устройство расширит что-то, что реализовано CF.ExecutableDeviceOperations
, Глядя на исходный код на github, похоже, нет реализации исполняемого файла Java.
Я могу запустить устройство Java в диспетчере устройств, но когда я пытаюсь запустить сигнал, диспетчер домена выводит сообщение об ошибке:
Device <id> is not loadable
Глядя на источник, это происходит в Application Factory, когда он пытается сузить устройство до загружаемого устройства. Насколько я понимаю, устройство должно быть загружаемым и исполняемым, чтобы запускать компонент, поэтому было бы разумно, если бы здесь не получилось реализовать эти методы.
Если я изменю реализацию на C++, сгенерированный код расширяет ExecutableDevice_impl
который реализует эти функции, и я могу использовать его для успешной загрузки и выполнения компонента из сигнала.
Все это заставляет меня поверить, что реализация исполняемого устройства на Java не была поставлена с REDHAWK 1.9. Это правильно? Один в настоящее время в разработке? Мне не нужно настраивать какие-либо методы, которые GPP предоставит для нашего оборудования, поэтому в идеале я бы использовал такую реализацию, если бы она существовала.
1 ответ
Ты прав. В настоящее время в REDHAWK 1.8 и 1.9 поддерживаются только базовые устройства Java. Однако загружаемые и исполняемые устройства поддерживаются как в Python, так и в C++.