View on GitHub
Documentation

REDHAWK MANUAL

VERSION 2.0.5

FEBRUARY 6, 2017

Contents
1 Introduction
 1.1 Benefits of Using REDHAWK
 1.2 What Systems May Benefit from Using REDHAWK?
 1.3 Relationship to the SCA
 1.4 Overview of this Document
2 Installation
 2.1 Introduction
 2.2 Installing REDHAWK from RPMs
 2.3 Configuring omniORB
 2.4 Configuring JacORB to Support the IDE
3 Components
 3.1 Introduction
 3.2 REDHAWK Core Assets
 3.3 Creating a Component Project
 3.4 Creating Octave Components
 3.5 Running a Component
 3.6 Sandbox
 3.7 Creating and Running a Hello World Component
4 Component Structure
 4.1 Introduction
 4.2 Auto-Generated Component Files
 4.3 Auto-Generated Component Methods
 4.4 Base Component Members
 4.5 Component Implementations
 4.6 Managing and Defining Properties
 4.7 Creating a REDHAWK Shared Library Project
 4.8 Including External Libraries
5 Connections
 5.1 Introduction
 5.2 The Connection Process
 5.3 Why Ports?
 5.4 Port Access
 5.5 Dynamic Connections
 5.6 Standardized Data Interfaces
 5.7 BulkIO
 5.8 BurstIO
 5.9 Messaging
6 Waveforms
 6.1 Waveform Editor
 6.2 Create and Deploy a Sample Waveform
 6.3 Waveform Deployment and Computing Resources
7 Working with Devices
 7.1 Using Devices to Interact with Hardware
 7.2 Associating a Waveform with an Front End Interfaces (FEI) Device
 7.3 Using Devices to Run Components
 7.4 Using Devices to Interface with Field-programmable gate arrays (FPGAs)
 7.5 Functions and Data Structures Provided by the FrontEnd Interfaces Library and Code Generators
 7.6 Miscellaneous FrontEnd Tuner Library Implementation Details
8 Services
 8.1 Introduction
 8.2 Management
 8.3 Files Defining a Service
 8.4 Service API
 8.5 Finding a Service
9 Nodes
 9.1 Introduction
 9.2 Running a Node
 9.3 Distributed Computing and RF Devices
10 Sandbox
 10.1 Introduction
 10.2 Python Sandbox
 10.3 IDE Sandbox
11 The Runtime Environment
 11.1 Overview
 11.2 The Domain Manager
 11.3 File System
 11.4 Applications
 11.5 The Application Factory
 11.6 The Device Manager
 11.7 The Allocation Manager
 11.8 The Connection Manager
 11.9 Events
 11.10 The Event Channel Manager
12 Runtime Environment Inspection
 12.1 Introduction
 12.2 REDHAWK Module
13 Logging
 13.1 Introduction
 13.2 Configuring Logging Capabilities
 13.3 Logging Within A Resource
 13.4 Adjusting Logging at Runtime
 13.5 Viewing Logging Events
14 Using the REDHAWK Integrated Development Environment (IDE)
 14.1 Launching the REDHAWK IDE for the First Time
 14.2 Configuring PyDev for REDHAWK Development
 14.3 The Workbench
 14.4 Editors and Views
 14.5 Creating REDHAWK Projects
 14.6 Adding/Changing/Removing REDHAWK Project Namespaces
 14.7 Debugging REDHAWK Components and Devices with Eclipse
 14.8 Deploying Projects to the SDRROOT
 14.9 Snapshot Tool
 14.10 Connect Wizard
 14.11 Using the Octave Wizard
 14.12 Plot Port Wizard
15 Sharing REDHAWK Projects With Others
 15.1 REDHAWK Project Metadata Files
 15.2 Exporting Projects as Source Code Archives
 15.3 Importing Existing Projects
 15.4 Importing Incomplete Projects
 15.5 Collaborative REDHAWK Development Using a Version Control System
 15.6 Exporting Projects as a Deployable REDHAWK Project
16 Exploring SDRROOT Using the REDHAWK IDE
 16.1 Browsing Installed Software-Defined Radio (SDR) Objects
 16.2 Browsing Installed Interface Description Language (IDL) Libraries
 16.3 Getting Details About Error Conditions
17 Exploring a Running Domain Using the REDHAWK IDE
 17.1 Connecting to a Domain
 17.2 Viewing the Contents of the Domain in the REDHAWK Explorer View
 17.3 Working with Waveforms on a Running Domain
 17.4 Plotting Bulk Input/Output (BulkIO) Ports
 17.5 Increasing the Bandwidth of BulkIO Connections
 17.6 Displaying Port Statistics
 17.7 Getting Details About Error Conditions
A REDHAWK Yum Repository and Packages
 A.1 REDHAWK Yum Repository
 A.2 Selective Installation
B External Dependencies
 B.1 Installing the EPEL Repository
 B.2 Runtime-only Dependencies
 B.3 Dependencies for Development and Building from Source
C Installing a Stand-alone IDE
D Building and Installing REDHAWK from Source
 D.1 Building the Framework
E Optimization
 E.1 Introduction
 E.2 Configuring omniORB
 E.3 Packet Transfer Size
 E.4 Messaging Latency
F FrontEnd Interfaces
 F.1 Introduction
 F.2 Types of Tuners
 F.3 Allocation
 F.4 Command and Control
 F.5 Data Flow
 F.6 Status
 F.7 RFSource Interface
G REDHAWK Persona Device Pattern
 G.1 Introduction
 G.2 Theory of Operation
 G.3 Code-Generation Support
 G.4 Persona Pattern Development
 G.5 When to Use the Persona Pattern
 G.6 Sharing Hardware Driver/API
H Troubleshooting
 H.1 Introduction
 H.2 Performing a Hard Reset Using the cleanomni Script
 H.3 Diagnosing Problems Using the rh_net_diag Script
 H.4 Performing a Soft Reset of omniNames and omniEvents
 H.5 Setting Omni Log Levels
 H.6 Common Causes for omniNames Failure
I List of Acronyms
Glossary
List of Figures
List of Tables

[next]


Creative Commons License
REDHAWK Documentation is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.