-
Notifications
You must be signed in to change notification settings - Fork 946
Migrate to SDRPlay v3 API #1188
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
|
The CI builds succeeded on macOS and Linux (https://github.com/stevenjoezhang/urh/actions/runs/18631182001/job/53116057036), but fail on Windows; I'm working on a fix: jopohl/sdrbuild#14. There's actually a circular dependency between URH and sdrbuild, so the checks didn't pass. To build & test URH with SDRplay support on Windows: Download and install SDRplay API v3.15 for Windows, then copy its dll Run the following commands in PowerShell to build and install the Python package with SDRplay support: git clone -b sdrplay-v3 https://github.com/stevenjoezhang/urh
$inc = 'C:\Program Files\SDRplay\API\inc'
$lib = 'C:\Program Files\SDRplay\API\x64'
python setup.py build_ext --with-sdrplay -I "$inc" -L "$lib"
python setup.py install --with-sdrplay
urh |

The purpose of this PR is to migrate the currently used SDRPlay API from v2 to v3. (Tested with v3.15.2)
Issue resolved: #783
Issue resolved: #1116
See also #1006
I have an SDRPlay RSP1 device, and I encountered crashes when using URH to open it on Apple Silicon macOS. I noticed that URH is still using the SDRPlay v2 API, which does not provide a macOS ARM64 library and relies on Rosetta, making it difficult to debug and fix. Therefore, I decided to migrate it to the SDRPlay v3 API.
Part of the migration was assisted by a large language model (mainly for defining data structures in
csdrplay.pxd, as v3 introduces many new structs). I tested the SDRPlay RSP1 with the migrated code on both macOS and Windows and confirmed it works correctly. Since I don't have other SDRPlay models, I couldn't test them. If any issues are found, I'm happy to help investigate and fix.Note: SDRplay v3 wraps some functionality into a system service. Users must manually install the SDRplay API (from https://www.sdrplay.com/) for their platform and start the API server before it can be used.
Screenshot on macOS:
Screenshot on Windows: