{"id":21186661,"url":"https://github.com/geontech/gr-redhawk_integration","last_synced_at":"2026-01-02T12:03:45.776Z","repository":{"id":146038846,"uuid":"173997793","full_name":"Geontech/gr-redhawk_integration","owner":"Geontech","description":"GNURadio - REDHAWK Integration Package (C++","archived":false,"fork":false,"pushed_at":"2019-07-15T14:48:43.000Z","size":108,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-01-21T12:48:43.986Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"CMake","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Geontech.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-03-05T18:17:24.000Z","updated_at":"2020-01-26T03:26:11.000Z","dependencies_parsed_at":null,"dependency_job_id":"727b0d19-351a-4dfb-b61a-c8e3e9676ef5","html_url":"https://github.com/Geontech/gr-redhawk_integration","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Geontech%2Fgr-redhawk_integration","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Geontech%2Fgr-redhawk_integration/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Geontech%2Fgr-redhawk_integration/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Geontech%2Fgr-redhawk_integration/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Geontech","download_url":"https://codeload.github.com/Geontech/gr-redhawk_integration/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243639557,"owners_count":20323511,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-20T18:25:05.430Z","updated_at":"2026-01-02T12:03:45.685Z","avatar_url":"https://github.com/Geontech.png","language":"CMake","readme":"# REDHAWK Integration Package\n\nThis OOT module for GNURadio provides the following blocks for integrating with a REDHAWK Waveform:\n\n 1. `rh_source_bulkio` -- Data coming from REDHAWK SDR\n 2. `rh_sink_bulkio` -- Data going to REDHAWK SDR\n\nEach is intended to replace any data streaming elements that may have been required in the Flow Graph that will be sourced (or sinked) from (or to) a Device in the REDHAWK Domain.  The blocks themselves take pointers to REDHAWK BULKIO Ports and use the Streaming API, using the `gr-component_converter`([link][converter]).\n\nThis package is based on a mix of the original `gr-redhawk_integration_python` and Rodrigo455's [Wideband FM examples][wbfm].  The `rh_sink/source_bulkio.h` files have been imported and converted to templates here, and then extended to use the BULKIO Streaming interface to provide performance features like shared address space.\n\n## Requirements\n\nThe supported framework versions at this time are:\n\n 1. REDHAWK SDR 2.2.1\n 2. GNURadio 3.7.13\n\n## Installation\n\nTo install the OOT module, run the install make target after configuring cmake:\n\n**Source or Package Manager Installations**\n\n```\nmkdir build \u0026\u0026 cd build\ncmake \u003cpath\u003egr-redhawk_integration\n[sudo] make install\n```\n\n**Pybombs Installations**\n\n```\nmkdir build \u0026\u0026 cd build\ncmake \u003cpath\u003egr-redhawk_integration\nsource \u003cyour prefix\u003e/setup_env.sh\nmake install\n```\n\n \u003e **Note:** Pybombs users (generally) do not need to be root to install the integration package since it's likely owned by one's own user.\n\n## Source\n\nThe `rh_source_bulkio` block represents an input (Provides) port in REDHAWK.  Using the [converter][converter], this block receives a reference to the surrounding Component's port.\n\n### Parameters\n\n| Key | End User | Required | Definition |\n| -------- | -------- | -------- | ---------- |\n| port | No | Yes | A BULKIO::InNumericPort\u003cT\u003e from the parent Component |\n| packet_depth | Yes | No | Number of BulkIO packets to allow to queue |\n\n\n### Special Notes\n\nThis block translates the incoming SRI, acquisition timestamp, and other details using into a stream tag.  These tags are then pushed only if the SRI changes (to reduce overhead).  The SRI contains a variety of information related to sample rate, subsize information (if the data is a matrix) as well as units for the data (Hz, seconds, dB, etc.).  Please refer to the [REDHAWK Documentation][redhawk-docs] for details on these structures.\n\n \u003e **Important Note:** In REDHAWK, every BULKIO Time Stamp is passed with almost no processing cost.  Because we can only pass that structure as a stream tag, which cannot be pushed constantly without a large penalty, the time stamp is only pushed if the SRI's information changes.\n\n## Sink\n\nThe `rh_sink_bulkio` block represents an output (Uses) port in REDHAWK.  Using the [converter][converter], this block receives a reference to the surrounding Component's port.\n\n### Parameters\n\n| Key | End User | Required | Definition |\n| -------- | -------- | -------- | ---------- |\n| port | No | Yes | A BULKIO::OutNumericPort\u003cT\u003e from the parent Component |\n| sri | Yes | No | The Signal Related Information (SRI, multiple parameters) |\n\n### Special Notes\n\nThis block **requires** that at least one [stream tag](#tag-utils) has been received to define the number of samples in a packet.  If none is provided the port will never empty the incoming buffer or push a packet.\n\n \u003e **Important Note:** Because conveying every timestamp change through stream tagging would carry a significant perfomance cost, the time stamp provided by this block to REDHAWK is created at the same time the packet is pushed (i.e., we're re-stamping time).\n\n \u003e **Important Note:** If no stream tag provides an SRI, the default SRI is used.  This will likely cause problems if there are downstream REDHAWK Components or Devices ingesting the data stream.  Please consider populating the SRI parameters on the block.\n\n\n[converter]: https://github.com/GeonTech/gr-component_converter\n[wbfm]: https://github.com/rodrigo455/gnuradio-nbfm\n[redhawk-docs]:  http://redhawksdr.github.io/Documentation/mainch5.html\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgeontech%2Fgr-redhawk_integration","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgeontech%2Fgr-redhawk_integration","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgeontech%2Fgr-redhawk_integration/lists"}