REDHAWK Release Notes - 2.0.7
The effort in REDHAWK 2.0.7 focused on:
- Resolving soft package dependency issue so DeviceManager resolves run time environment settings when deploying Devices and Services that have soft package dependencies.
- Resolving issue so that during Application release, calls to the Application object no longer result in misleading errors.
- Improving flexibility to ignore GPP threshold checks when determining if the GPP should go into a BUSY state.
- Resolving issue where processes with spaces in the names would cause the GPP to terminate.
- Resolving issue to allow for slow startup conditions of OmniNames service before starting OmniEvents service.
- Resolving issue with uninitialized data structures with BulkIO and SourceSDDS that inhibited BulkIO data transfers.
- Resolving issue with incorrect exception being thrown during allocateCapacity.
- Resolving issue when shutting down orb from Python resources.
- Providing a warning in the logs if a message is too large.
- Resolving issue with the code generators so they can be run on systems with FIPS enabled.
- Resolving issue so generated C++ FEI Devices do not leak memory when deallocating listeners. Existing Devices must be regenerated and recompiled to apply this fix.
- Resolving a memory leak in FrontendTunerDevice::create(). Existing Devices must be recompiled to apply this fix.
- Resolving issue so the functions returnRFInfoPkt transform all fields between types frontend::RFInfoPkt and FRONTEND::RFInfoPkt.
- Resolving issue so BulkIO input stream calls to read() and tryread() with a sample count do not segfault when their queue contains only an empty packet with EOS set.
- Providing an option in the IDE to perform a FrontEnd Device allocation in the background to aid developers who are debugging their FrontEnd Devices.
- Adding the Eclipse “TM Terminal” in the IDE, a full-featured terminal emulator that provides full ANSI cursor control, readline, and coloring.
- Fixing links in the IDE’s help contents so REDHAWK help now displays correctly when links within the help are selected.
- Resolving issue so Diagram shapes no longer stack if they are part of a feedback loop.
- Adding documentation for developing a logging configuration plug-in that will be used to resolve the LOGGING_CONFIG_URI parameter during deployment of Devices, Services and Components.
- Renaming the Generating Code section to Generating Code for Components and explaining the code generation process and what occurs in the IDE when the code is generated.
- Updating the REDHAWK User Manual with accessibility rules for all properties. Updating the REDHAWK ICD with the description of the new “property” kind.
REDHAWK Enterprise Integration
- Adding toString() method to RedhawkStruct object, ensuring the getAllocIds(RedhawkStruct s) return object is a List, and adding a helper method for retrieving allocIds called getAllocIds().
- Updating REDHAWK Driver to properly clean up driver-registered Device Managers on shutdown.
- Adding IDL source to appropriate Core Framework jars. Incorporated additional method to produce jar bundle with manifest built dynamically via the BnD Tools, source jar, and zip of XSDs.
- Updating REDHAWK Java Driver and REDHAWK REST to make it easier for users to access External Properties in Waveforms.
- Adding implementations of ConnectionManager, AllocationManager interfaces to REDHAWK Driver. Adding utility methods for programatically setting the log level of Domain, Application, Device, and Component Resources.
- Adding REST access to Event Channel Manager functionality.
- Updating REDHAWK Driver to have wrapper methods for retrieving state, connections, activeSRIs, and UsesPortStatistics from BULKIO objects. Updating REDHAWK REST to make connections, activeSRIs, UsesPortStatistics, and state available.
- Adding wrapper methods to RedhawkApplication and RedhawkComponent interfaces for easier access to aware(), componentDevices(), componentProcessIds(), and componentImplementations(). REST Responses for Component and Application now display componentDevice, aware, componentProcessId, and componentImplementation information.
- Adding ability to get and set adminState from REDHAWK Driver and REDHAWK REST. Adding ability to view usageState and operationalState from REDHAWK Driver and REDHAWK REST.
- Adding ability to registerRemoteDomain, unregisterRemoteDomains, get device implementation information and a deviceConfiguration profile via REDHAWK Driver and REDHAWK REST.
- Preconfiguring HTTPS and WSS in REDHAWK Enterprise Integration and adding Web Server Configuration section in REDHAWK Enterprise Integration User Guide.
The following IDE and Core Framework fixes were completed in REDHAWK 2.0.7.
Release notes for Core Assets are available on Github (https://github.com/RedhawkSDR/) in each Core Asset repository.
Core Framework Fixes
The following Core Framework bug fixes were completed in REDHAWK 2.0.7.
- The Python Sandbox DataSource always calculates per-packet time stamps using floating point arithmetic, avoiding truncation errors when given an integer value for the sample rate.
- Writing to a C++ BulkIO output stream configured for complex data with real data and a list of time stamps now interprets the time stamp offsets in terms of complex samples, preserving the integrity of the time stamps.
- On the GPP, when nic_usage is disabled, no message is generated when the usage threshold is exceeded.
- Resolved issue so now files_available and threads are checked for GPP BUSY state.
- Clarified logging message regarding reservations.
- The default implementation of runTest() for Python Components and Devices throws the correct CF.TestableObject.UnknownTest error.
- Changed run user for omniEvents to omniORB user.
- Initialized internal data structure for managing blocking state for input Ports.
- When nic_usage is set to 0 in the thresholds property of the GPP, the GPP will enter a BUSY state, irrespective of the overall NIC usage.
- Thread management in the Python Component/Device base class is updated to better utilize the processor.
- Added support to allow LOGGING_CONFIG_URI to be passed on the command line during Component deployment irrespective of whether it was defined by the Component.
- On CentOS 7, C++ LoadableDevices no longer throw a CORBA::COMM_FAILURE exception from load() when the file cannot be loaded.
- The severity of the log message when a C++ Device cannot connect to the IDM channel has been reduced from error to warning.
The following previously reported Known Issues have been closed in REDHAWK 2.0.7 with the following resolutions:
- Struct_from_props fails during allocate_capacity in python device - This behavior is not an error.
- Query behavior for Optional Elements in Structs - All elements in struct properties are handled as a single configuration item.
- Make sendChangedProperty events safe for structs that have had attributes added - This issue was rejected.
The following IDE bug fixes were completed in REDHAWK 2.0.7.
- Updated Java environment specification to Java 8 for the plotter and editor applications.
- Corrected some configuration data for the IDE plotter application.
- Corrected an issue that could cause the CORBA name browser to slow the entire UI.
- Resolved a code quality issue.
- Corrected context menu icons for simple and simple sequence Properties.
- Corrected some information missing from Properties when creating new FEI Devices.
- Corrected the remove button in the new FrontEnd Device wizard so that it is not enabled when a Property cannot be removed.
- Corrected an error where the Property table in the new FrontEnd Device wizard was too small to see Properties on RHEL 7 systems.
- Resolved ClassCastException when calling Expand All or Collapse All on a Waveform that includes a HostCollocation.
- Corrected the display of some spinner controls on RHEL 7.
- Resolved issue so Implementation tab now displays all usesdevice Property types.
- Ensured that some code intended only for debugging is not included in the IDE.
- Corrected the lightweight auto-refresh preference.
- Fixed NPE in FindComponentConstraint.
- Fixed error when terminating a C++ Component launched in debug mode.
- Corrected several internal configuration issues with the code generation menus/buttons for Components.
- Corrected an NPE that could occur when validating SAD or DCD files with references to non-existent struct sequence Properties.
- Corrected internal IDE code to properly indicate when XML validation problems are found.
- Updated SAD/DCD loggingconfig URI validation messages.
- Component usage name and naming service ID are now kept in sync after a graphical edit.
- Added missing icons in the DCD editor.
- Updated a missing environment specification to reflect the requirement for Java 8.
- The New Control Panel Project button is no longer displayed when editing a REDHAWK shared library project.
- Corrected an internal IDE issue that could prevent loading REDHAWK XML.
- Corrected a rare bug that could cause the content in the pages of an editor to become un-synchronized.
- The BULKIO SRI keyword CHAN_RF is now always preferred to COL_RF for center frequency when plotting.
- Corrected a code issue that could have suppressed Sandbox errors.
- The IDE no longer attempts to read Device files when browsing the Sandbox file manager.
- The release field in spec files created for Waveforms and Nodes is now correct.
- Corrected a potential code freeze when the IDE loses contact with a connected Domain.
- Corrected issues with UI themes in the REDHAWK Explorer product.
- A superfluous ODM event channel is no longer created when the display name differs from Domain name.
- Corrected some issues with product branding.
- Corrected an issue with CSS themes.
- Corrected a copyright notice about Eclipse software.
- Fixed issue with a ConcurrentModificationException occassionally occurring when using the “Monitor Ports” functionality.
- The icon for the PRF editor was corrected.
- Message is now always a selectable kind type for Struct Properties.
- Corrected a link in the REDHAWK help that was not working.
- Fixed issue where Waveforms with external Ports were not being removed from the REDHAWK Explorer view on terminate.
- Fixed issue where the IDL Selection Wizard filter stopped working when the Show all interfaces button was checked.
- The OSSIEHOME Eclipse variable should not be expanded in the IDL project’s .ecpproperties file.
- The connect wizard now works with Waveforms’ external Ports.
- When launching a Node on an existing Domain, the IDE now uses the Domain name instead of the Domain’s display name.
- Allocation IDs generated in the FEI usesdevice wizard of the SAD Diagram no longer contain user names.
- Removing a Device/Service instantiation removes the componentfile element from the DCD XML if it is not needed.
- Component project’s Generator combo box only displays applicable code generators.
- UsesDevice passes validation with any combination of accepted Properties.
- The Sandbox Chalkboard now shows as stopped if all Components in it are released or terminated.
- Improved how HostCollocations are handled by the diagram layout algorithm.
- A race condition was corrected that allowed a new project to be created with an invalid name.
The following previously reported Known Issues have been closed in REDHAWK 2.0.7 with the following resolutions:
- The IDE Help REDHAWK Content is not the released version of the documentation - The IDE Help REDHAWK Content includes the documentation during the IDE build process; therefore, the released version of the documentation cannot be included at that time.
- Hide the create control panel toolbar button for Shared Libraries (softpackage) projects - Duplicate of IDE-1958 (Control panel button shown when editing shared library in SPD editor).
The following documentation new features/improvements/fixes were completed in REDHAWK 2.0.7.
- Updated installation instructions to include RPM that installs the GPG key.
- Updated the Downloads page to support both LTS and Beta Series of REDHAWK.
- Added documentation for configuring the REDHAWK Integration assets with JacORB.
- Added domainName information to REDHAWK Connector and REDHAWK Camel documentation. Corrected base URI information, defined nameserver, and added connectionName information to REDHAWK REST documentation.
- Updated REDHAWK Enterprise Integration User Guide RedhawkPort and RedhawkApplication information for REDHAWK Driver and REDHAWK REST.
- Added remoteDomainManagers to the REDHAWK ICD.
- Added documentation about managing GPP BUSY state.
- Updated FEI Allocation Wizard Tuner Allocation dialog screenshot and revised text to include new Run in background checkbox.
- Updated REDHAWK Enterprise Integration User Guide to include Code Examples for ConnectionManager, Logging, and AllocationManager.
- Updated REDHAWK Enterprise Integration User Guide code examples of EventChannelListener functionality.
- Updated procedure, Using the FEI Wizard to Create an FEI Device, to include the Setup Code Generation dialog and added screenshot.
- Updated Host Collocation procedure and replaced screenshots to correctly display collocation name created when adding a collocation.
- Updated screenshot of SPD editor Properties to correctly display a drop-down for the “Kind”.
- Updated Converting Complex Data in C++ and BulkIO High-speed data sections of User Manual.
- Added information to explain that octave Component numerical properties are treated as complex.
- Corrected property definition shown in code for multi-out Ports by removing kind elements that were underneath the simple elements.
- Added BurstIO Section to the REDHAWK ICD.