REDHAWK 2.2.4
The effort in REDHAWK 2.2.4 focused on:
- Enabling the SCA File Manager to return hidden files when requesting a directory listing from the
FileSystem
or theFileManager
. - Improving support when adding
RFInfo
,GPS
, andNavData
ports to a component. The generated implementation now supports the delegation pattern with the component rather than empty methods that require developer implementations. - Documenting how to overload BulkIO ports to implement out-of-band communications (for example, between components implemented on FPGA). Developer documentation is available at https://github.com/RedhawkSDR/core-framework/tree/2.2.4/docs/custom-transport.
- Updating
SoundSink
to detect and use the correct version ofgstreamer
to enableSoundSink
to work on both CentOS 6 and 7; and updating the External Dependencies in the REDHAWK Manual to include the appropriategstreamer
dependencies. - Correcting the blocking behavior when using an infinite queue size.
- Improving the shared memory subsystem to reduce total memory use and provide additional controls to system deployers.
- Modified behavior such that when BulkIO connections use shared memory for the transport, virtual memory mappings are reused across input connections to reduce the growth of the process' memory space.
- Changed the default behavior of the shared memory allocator to increase the reuse of shared memory and reduce the growth of heap files.
- Added runtime metrics to the shared memory allocator for observing and tuning the usage of shared memory on a system. Shared memory allocator metrics are disabled by default. Developer documentation is available at https://github.com/RedhawkSDR/core-framework/tree/2.2.4/docs/shared-memory/metrics.md.
- Added configurable settings to the shared memory allocator that are managed via environment variables. These options allow system deployers to tune the shared memory allocator for higher concurrency or lower memory footprint, depending on the expected usage. Developer documentation is available at https://github.com/RedhawkSDR/core-framework/tree/2.2.4/shared-memory/tuning.md.
- Updating
cleanes
to clean the appropriate log location based on the version ofomniEvents
. - Resolving issue with Python sandbox plotting of complex data.
- Modifying how the Device Manager deploys
SharedLibrary
devices. It no longer attempts to launchSharedLibrary
devices as if they areExecutable
devices. An error message is displayed and the device is not launched. - Updating the REDHAWK SCA Specification and the REDHAWK ICD Specification with the application launch sequence that includes
initializeProperties
. - Fixing a condition in which C++ BulkIO input ports could cause a crash during frequent SRI updates.
- Modifying behavior in
EventChannelManager
registerConsumer
andregisterPubslisher
methods. If the event channel in the registration request does not exist, the event channel is created to satisfy the request. - Resolving issue with Python components that use both the generic and specific message callbacks. These components no longer have values overwritten in the generic message callback invocation. When associating both a specific message callback and a generic message callback to a message input port, the generic message callback is populated with an id/value pair, where the value is of type
any
. - Adding Boost header includes to some files to allow building with later versions of Boost.
- Modifying the code generators to only allow persona devices to be created as
SharedLibrary
(notExecutable
). When attempting to generate code for a persona device with its xmlcode type
set toExecutable
, the code generators display an error.
Fixes
The following fixes were completed in REDHAWK 2.2.4:
Core Framework Fixes
- Updated
bluefile.py
to the latest version. - Updated BulkIO unit tests by replacing DataSource and DataSink with StreamSource and StreamSink except in cases where DataSource or DataSink itself was being tested. In such cases, the deprecation warnings were silenced.
- NodeBooter bash completion is installed in the Runtime install whereas previously, it was installed in the Devel rpm.
- Fixed issue when configuring properties and assigning non-boolean values in Java. The value defaults to false rather than throwing an exception.
- Fixed issue when using the same stream ID for multiple back-to-back streams into a single port; the SRI no longer gets corrupted.
- Fixed an issue with multi-domain allocations where the AllocationManager would attempt to allocate all of the original requests on subsequent remote domains, as opposed to only the requests that have not been satisfied.
- Resolved event channel connection issues when the Domain Manager and
omniEvents
reside on different hosts and the channel already exists. - Fixed issue with Python stream API to properly handle back-to-back streams.
- Resolved synchronization issues for
FrontendTunerDevice
'sallocateCapacity
anddeallocateCapacity
.
IDE Fixes
- Fixed the Event Channel processing to use persistent server connections.
Documentation Fixes
- Corrected parameter definition for sandbox Valgrind in Working with Components, Devices, and Services section of the REDHAWK Manual.
- Added
rh.MSDD
to the Basic Devices Section of the Core Assets release notes page and reordered the waveform information.
Special Resolution
The following previously reported Known Issues have been closed in REDHAWK 2.2.4 with the following resolutions:
Core Framework Special Resolutions
testExecute
in GPP can fail depending on num cpus - Cannot Reproduce
Documentation Special Resolutions
- Incorrect section numbers and page numbers in REDHAWK SCA Specification and ICD pdfs - Won't Fix - This issue was caused by the unoconv PDF conversion tool. The conversion tool is no longer being used.