-
Notifications
You must be signed in to change notification settings - Fork 13
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
[documentation] How to install python support for SoapySDR ? #118
Comments
BUMP!I managed to install suite after fixing a bunch of bugs, and adding a bunch of undocumented dependencies, but I don't know if it really runs, because I am not able to install the python packages. The GUI and config .exe's work, but the rest? NFI! I would appreciate if the Lime team could provide a pre-built working Windows package so at least we can have something to look at and compare with. There is no python packages or installer files, so how the heck is anyone supposed to be able to use this? How do you install the (Windows) python packages?
I want to see one running (Native Windows python) PoC code example on Windows. IDK if that is too much to ask? |
Hi, LimeSuiteNG project does not provide python bindings directly, it only produces C++ dynamic libraries, which can be loaded as plugins in other software. The log you posted is from SoapySDR project source build, it is not part of LimeSuiteNG, so I cannot really help with it. SoapySDR project utilizes SWIG to generate python bindings, in your case it's not found on your system The LimeSuiteNG itself only needs the SoapySDR's c++ headers/core library to build a plugin for it, the produced c++ shared library then should be installed into the SoapySDR plugins directory. Then SoapySDR would be able to locate the plugin, and you could use it through SoapySDR's python API. |
Hi Ricardas, Thank you for getting back to me. 👍 After having installed both Swig, Doxygen and fixed some bugs in your files causing compile errors. While LimeSuiteNG require you to already have a working SoapySDR, you are now saying that I need to compile LimeSuiteNG first, and then SoapySDR after? I opened ticket also on their repo... Also, what happened to |
The following 2 files need to be modified:
The diff --git a/src/FPGA/FPGA_common.cpp b/src/FPGA/FPGA_common.cpp
index 6dbc2d4b..28578136 100644
--- a/src/FPGA/FPGA_common.cpp
+++ b/src/FPGA/FPGA_common.cpp
@@ -11,6 +11,7 @@
#include <cmath>
#include <thread>
#include <vector>
+#include <chrono>
using namespace std;
using namespace std::literals::string_literals;
diff --git a/src/chips/LMS7002M/MCU_BD.cpp b/src/chips/LMS7002M/MCU_BD.cpp
index fb2b1e36..48be0772 100644
--- a/src/chips/LMS7002M/MCU_BD.cpp
+++ b/src/chips/LMS7002M/MCU_BD.cpp
@@ -18,6 +18,7 @@ using namespace std;
#include "comms/ISPI.h"
#include <functional>
#include <string_view>
+#include <chrono>
using namespace lime;
using namespace std::literals::string_literals; Also the Windows install path is wrong as the build is for You also wanna disable all the annoying deprecation warnings. IDK why nobody bothers to fix the files with the trivial cmake -B build -Wno-dev -Wno-deprecated --install-prefix 'C:\Program Files\SoapySDR'
|
There is a also a weird link warning: Creating library C:/xxxx/LimeSuiteNG/build/src/Release/limesuiteng.lib and object C:/xxxx/LimeSuiteNG/build/src/Release/limesuiteng.exp
LINK : warning LNK4098: defaultlib 'LIBCMT' conflicts with use of other libs; use /NODEFAULTLIB:library [C:\xxxx\LimeSuiteNG\build\src\limesuiteng.vcxproj]
|
No. First SoapySDR has to be already installed in the system, so that it could provide the necessary headers/libraries. Then building LimeSuiteNG project would detect it (Windows is terrible for dependencies search, so most likely need manually to set the root directory where to find SoapySDR), and use it to build a plugin. Then the installation process of LimeSuiteNG would copy that plugin into directory where SoapySDR is looking for dynamic libraries to load for usage (assuming the installed SoapySDR provides CMake config files, that specify where that directory is, otherwise it could be anywhere and the installation would have to be done manually).
It got replaced with
CMake nuance with Visual Studio, the project generation is complicated (due to possibility of having multiple configurations/architectures), if you would explicitly specify the architecture for CMake when configuring, then the install path would be set appropriately
Most of them are comming from external source files, so there is no way to omit them without patching the files after they are downloaded, that would make things more complicated. Because CMake depending on it's version handles some thing differently (there are cmake-policies ), simply increasing the minimum required version, has the possibility to break the project.
Seems to be the USB FX3 precompiled library was built with different compiler settings. |
Still sound awfully complicated. I would like to automate this whole process...
Where can I find the FW files?
Yes, I'm looking into this. I realize that the CLI (pwsh) VS Dev shell need to be set to use
Sure, but we should not use "old/embedded linux platforms" for anything. It's a huge security risk and also extremely inefficient use of the cpu resources. Most linux embedded HW can also handle updates.
I was checking the Cypress website and downlaoded the latest FX3 SDK.
|
Have filed the following issues at SoapySDR here: |
This behaviour is not in any way unusual and is typical for such plug-ins.
Classic Lime Suite downloads them and they are firstly organised by Lime Suite release: https://downloads.myriadrf.org/project/limesuite/23.11/ As you can see the last release was November 2023 and Lime Suite NG being much more recent should be fine used with the latest LimeSDR-USB gateware.
In an ideal world perhaps, but in any case we have no plans to force such breakage. |
Hi Andrew, @9600
There is no |
Ok, that is not going to work, because there are no I found the FW/GW files from your page here: Then the
I see that there have been some updates since I got my board back in 2019, so it would be great if you can actually provide the |
Depending on the FPGA, the gateware file extensions differ, so it's not necessarily FX3 controller firmware update is not yet added to limeFLASH, but it shouldn't be necessary, as the FX3 firmware did not had any updates since 2017 https://github.com/myriadrf/LimeSDR-USB_FX3/commits/master/ |
From this page you say that Lime
However, this is unclear and I don't see any support after compile.
How can I get a
SoapySDR
- or Python compatible Python API with this device?Or is it
PothosSDR
?When running install (Windows powershell), I get this:
Also, all those CMAKE deprecation warnings are very annoying.
What is the fix for those?
The text was updated successfully, but these errors were encountered: