Создание исполняемого устройства в 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++.

Другие вопросы по тегам