REDHAWK is a software-defined radio (SDR) framework designed to support the development, deployment, and management of real-time software radio applications. To support the design and development of software applications, REDHAWK provides tools that allow development and testing of software modules called "Components" and composition of Components into "Waveform Applications" that can be seamlessly deployed on a single computer or multiple network-enabled computers.
The REDHAWK integrated development environment (IDE) provides tools to support development of REDHAWK software. The development and deployment of REDHAWK Applications are aided by graphical editors and drag-and-drop Waveform construction. The IDE allows users to interact with and control multiple running REDHAWK instances and applications.
Release of REDHAWK 2.0.4 (December 30, 2016) - Download the new Core Framework, IDE, and documentation from our Downloads page. The effort in REDHAWK 2.0.4 focused on:
- Adding support for the CentOS 7 operating system.
- Updating the REDHAWK IDE to require Java 8.
- Adding support for two new Core Assets, SinkSDDS and SourceSDDS, which convert between SDDS and BulkIO data formats.
- Adding messages to indicate to the user the reason why the GPP is busy.
- Adding more IDE XML validation to help users catch issues sooner when designing projects.
- Correcting issues with Redhawk-generated build scripts that prevented errors from being displayed.
- Adding 'Connect' and 'Show Properties View' in the Graphiti diagram context menus.
- Adding GPP label to the Domain Manager log message when deploying Components or Waveforms to enable quick identification of which GPP the Domain Manager is attempting to launch Components on.
- Improving the REDHAWK Explorer product to use the new Graphiti diagrams introduced in the REDHAWK 2.0.0 IDE.
- Improving IDE namespace support to give users an error if they have multiple resources with conflicting IDs in the SDRROOT.
- Addressing numerous bug fixes.
For detailed information about the bug fixes included in this release, refer to the Release Notes.
Release of REDHAWK 2.0.3 (October 5, 2016) - REDHAWK 2.0.3 addresses the following:
- Improvements to GPP automatic resource monitoring caused a memory leak. - Fixed.
- Incorrect return type in the GPS interface implementation of FrontEnd Interfaces. - Fixed.
- Python Devices failed to launch when a logging config file is specified. - Fixed.
Release of REDHAWK 2.0.2 (September 1, 2016) - The effort in REDHAWK 2.0.2 focused on:
- Improving how error messages are displayed to the user in the IDE.
- Adding new abilities to interact with logging for Components and Devices in the IDE.
- Providing better awareness of resource utilization on the host computer.
- Adding better support for creating FEI Devices written in Python.
- Addressing numerous Discrepancy Reports (DRs).
Release of TuneFilterDecimate 2.0.1 for the REDHAWK 2.0 series (July 29, 2016) - TuneFilterDecimate 2.0.1 resolves the following issue:
- Fixed calculation of SRI keyword CHAN_RF for tuning mode NORM
Release of FileWriter 4.0.2 for the REDHAWK 2.0 series (July 5, 2016) - FileWriter 4.0.2 resolves the following issues:
- Fixed feature that starts a new file following a retune
- Fixed initial configuration of overridden property values
- Fixed several bugs with recording timer
Final Release of USRP_UHD 3.0.2 for the REDHAWK 1.10.0 series (May 11, 2016) - The effort in the USRP_UHD 3.0.2 release focused on resolving the following issues in the USRP_UHD.
- Fixed error causing invalid SRI to be sent for all allocations after the initial allocation.
- Added node-config script to the Device.
- Fixed error causing Ubuntu build failure.
Final Release of REDHAWK 2.0.1 (April 15, 2016) - The effort in REDHAWK 2.0.1 focused on:
- Enhancing the level of control that a system deployer has to customize the reservation schema used to manage computing resources.
- Adding Python operators and Java methods to simplify common arithmetic operations on BulkIO time stamps.
- Addressing numerous Discrepancy Reports (DRs).
Final Release of REDHAWK 2.0 (December 10, 2015) - The effort in REDHAWK 2.0 focused on improving system management, establishing a core set of REDHAWK assets, and enhancing the IDE user experience. This effort included:
- improving processing performance
- promoting consistency among core assets
- improving and focusing on a comprehensive set of core assets, including the addition of Waveforms
- providing an improved user experience by re-implementing IDE diagrams for Waveforms and Nodes
- adding IDE support for REDHAWK shared library projects
- adding IDE support for differentiating projects with namespaces
Within the Core Framework, system scalability was addressed by creating or expanding system managers (connections, allocations, and events), improving the dependency management structure for Components, and by further automating the process of distributing processing tasks. Processing performance improvements focused on NUMA balancing related to both processing and data ingest/egress. Finally, the burden on the component developer was reduced by making it easier to access system resources, simplifying properties, shifting BulkIO data management from packet-based to stream-based, and simplifying the structure of generated code.
In the IDE, diagrams were re-implemented to provide a refreshed look and a simplified, more slimlined display of diagram elements. New visualizations were added to help developers more quickly and easily create Waveforms and Nodes and monitor and debug them more easily at runtime. Shared library support was improved to enable developers to better share code between Components and Devices, while creating software that follows REDHAWK standards for easy reuse and deployment in REDHAWK systems. Namespaces were added to assist with upgrades, allowing multiple versions of a Component to be installed on the same system. Additionally, namespaces enable developers to more clearly differentiate development efforts like forked projects or contributions by different organizations.
For the REDHAWK assets, consistency was achieved by using common Port types for similar types of data and renaming Ports to establish a consistent naming convention. The set of assets was expanded to include two new assets for file I/O, a Component for decoding FM RBDS, a Component for PSK demodulation, an FEI Device simulator for generating FM RDS streams from audio files, and a set of Waveforms that collectively demonstrate the use of each Component. The set of assets was focused by removing deprecated Components (whitenoise, DataReader, DataWriter, freqfilter, medianfilter, unwrap, and BurstDeserializer). Core assets were used as examples of how to exercise new REDHAWK features. For example, domain awareness was leveraged by FileReader and FileWriter, the new BulkIO stream API was utilized by psd, sequences within struct properties were added to sinksocket, the updated shared library support was used to re-implement each shared library, and each asset was moved into the "rh" namespace.
REDHAWK consists of the Core Framework, development tools, libraries, and reusable building blocks. The Eclipse-based REDHAWK IDE can be used to aid in the development and deployment of REDHAWK Applications. Additional REDHAWK Eclipse-based products are built from a subset of the IDE plug-ins including the SCA Explorer.
For a full list of the git repositories, refer to the gitHub page.
For complete REDHAWK 2.0 documentation, refer to Documentation.
REDHAWK is built using the following technologies:
REDHAWK is licensed under a combination of the GNU Lesser General Public License (LGPL), the Eclipse Public License (EPL), the Apache (v.2.0) License, the Python Software Foundation (PSF) license agreement, Mozilla Public License (v.1.1), and the GNU General Public License (GPL). For more information, refer to the LICENSE file in the respective repositories. REDHAWK documentation is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License. To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0.
This work is protected by Copyright. For updated copyright information, refer to the Copyright File.