SDR Package #3

Merged
michael merged 22 commits from sdr into main 2025-10-03 13:34:25 -04:00
Owner

Description:

The PR adds a new package to the toolkit: SDR Package (ria_toolkit_oss.sdr). This package provides a unified interface for interacting with software-defined radios, including USRP, BladeRF, PlutoSDR, and bladeRF.

Additionally, this PR includes a major refactor the project documentation. New sections have been added for Examples and SDR Guides, and the actual API has been removed from the top level:

image

SDR system packages and drivers are not included in pyproject.toml, as they dependencies are often difficult to manage. Instead, set up instructions have been added to the SDR Guides in the project documentation. Example:

image

Outstanding Sub-Issues:

Hardware/Driver Requirements:

SDR hardware is required to test the code in the SDR Package (ria_toolkit_oss.sdr). Please refer to the relevant SDR Guide for set up instructions.

**Description:** The PR adds a new package to the toolkit: SDR Package (`ria_toolkit_oss.sdr`). This package provides a unified interface for interacting with software-defined radios, including [USRP](https://www.ettus.com/products/), [BladeRF](https://www.nuand.com/), [PlutoSDR](https://www.analog.com/en/resources/evaluation-hardware-and-software/evaluation-boards-kits/adalm-pluto.html), and [bladeRF](https://www.nuand.com/bladerf-1/). Additionally, this PR includes a major refactor the project documentation. New sections have been added for _Examples_ and _SDR Guides_, and the actual API has been removed from the top level: <img width="950" alt="image" src="/attachments/b02df36d-49c2-492f-b11c-1fcb492a863f"> SDR system packages and drivers are not included in `pyproject.toml`, as they dependencies are often difficult to manage. Instead, set up instructions have been added to the _SDR Guides_ in the project documentation. Example: <img width="959" alt="image" src="/attachments/56e87243-2d96-4db5-a7e7-058a872192e9"> **Outstanding Sub-Issues:** - Support for [RTL-SDR](https://www.rtl-sdr.com/), [HackRF](https://greatscottgadgets.com/hackrf/), and [thinkRF](https://thinkrf.com/) **Hardware/Driver Requirements:** SDR hardware is required to test the code in the SDR Package (`ria_toolkit_oss.sdr`). Please refer to the relevant SDR Guide for set up instructions.
michael added 21 commits 2025-10-03 11:24:41 -04:00
rtl.rst removed until further notice
All checks were successful
Build Sphinx Docs Set / Build Docs (pull_request) Successful in 12s
Test with tox / Test with tox (3.12) (pull_request) Successful in 28s
Test with tox / Test with tox (3.11) (pull_request) Successful in 31s
Test with tox / Test with tox (3.10) (pull_request) Successful in 41s
Build Project / Build Project (3.10) (pull_request) Successful in 47s
Build Project / Build Project (3.12) (pull_request) Successful in 46s
Build Project / Build Project (3.11) (pull_request) Successful in 49s
e88148c312
Merge pull request 'sdr_guides-updates' (#2) from sdr_guides-updates into sdr
Reviewed-on: #2
Reviewed-by: madrigal <madrigal@qoherent.ai>
37f3ce715f
- Updating README with list of supported SDR devices
- Adding note to installation instructions (both in the README and project docs) that SDR drivers must be installed separately
All checks were successful
Build Sphinx Docs Set / Build Docs (pull_request) Successful in 12s
Test with tox / Test with tox (3.11) (pull_request) Successful in 31s
Test with tox / Test with tox (3.12) (pull_request) Successful in 30s
Test with tox / Test with tox (3.10) (pull_request) Successful in 40s
Build Project / Build Project (3.11) (pull_request) Successful in 47s
Build Project / Build Project (3.10) (pull_request) Successful in 49s
Build Project / Build Project (3.12) (pull_request) Successful in 47s
9cbb9716af
madrigal requested changes 2025-10-03 13:14:32 -04:00
madrigal left a comment
Member

I think that rtlsdr needs to be removed from autodoc_mock_imports in conf.py, although otherwise everything looks good!

I think that `rtlsdr` needs to be removed from `autodoc_mock_imports` in `conf.py`, although otherwise everything looks good!
@ -40,0 +41,4 @@
# separately (often with system-level drivers or vendor packages).
# We mock them here so Sphinx can build the documentation without requiring
# the actual hardware libraries to be present.
autodoc_mock_imports = ['uhd', 'adi', 'iio', 'rtlsdr', 'bladerf']
Member

Shouldn't we remove rtlsdr from this?

Shouldn't we remove rtlsdr from this?
Author
Owner

Good catch! Mock import removed

Good catch! Mock import removed ✅
michael marked this conversation as resolved
michael added 1 commit 2025-10-03 13:19:11 -04:00
Removing RTL-SDR mock import, as the RTL-SDR is not yet supported by the SDR package
All checks were successful
Build Sphinx Docs Set / Build Docs (pull_request) Successful in 14s
Test with tox / Test with tox (3.11) (pull_request) Successful in 31s
Test with tox / Test with tox (3.12) (pull_request) Successful in 29s
Test with tox / Test with tox (3.10) (pull_request) Successful in 40s
Build Project / Build Project (3.10) (pull_request) Successful in 47s
Build Project / Build Project (3.11) (pull_request) Successful in 47s
Build Project / Build Project (3.12) (pull_request) Successful in 46s
3a27515a96
michael merged commit 43068c153d into main 2025-10-03 13:34:25 -04:00
michael deleted branch sdr 2025-10-03 13:34:25 -04:00
Sign in to join this conversation.
No reviewers
No Milestone
No project
No Assignees
2 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: qoherent/ria-toolkit-oss#3
No description provided.