lutusp / PLSDR

Software-defined radio application written in Python
GNU General Public License v3.0
156 stars 21 forks source link

Gnu Radio 3.9 #16

Open srs4511351 opened 3 years ago

srs4511351 commented 3 years ago

I tried PLSDR with Gnu Radio 3.9. It runs for 1 second, then quits. I have to install pybind11 to be able to compile Gnu Radio 3.9 and the PLSDR errors below mention it.

$ ~/PLSDR/PLSDR.py gr-osmosdr 0.2.0.0 (0.2.0) gnuradio 3.9.2.0 built-in source types: file rtl_tcp uhd sdrplay hackrf rfspace soapy redpitaya [INFO] [UHD] linux; GNU C++ version 10.2.1 20210110; Boost_107400; UHD_4.1.0.HEAD-0-gd21735d5 Physical device count: 1 sdrplay=0,hwVer=255,label='SDRplay RSP1A 19110C0797' Traceback (most recent call last): File "/home/pi/PLSDR/PLSDR.py", line 566, in change_modes self.run_stop() File "/home/pi/PLSDR/PLSDR.py", line 560, in run_stop self.radio.initialize_radio(self.config) File "/home/pi/PLSDR/Radio.py", line 127, in initialize_radio self.configure_source_controls() File "/home/pi/PLSDR/Radio.py", line 287, in configure_source_controls rng = self.osmosdr_source.get_bandwidth_range().values() TypeError: Unable to convert function return value to a Python type! The signature was (self: osmosdr.osmosdr_python.meta_range_t) -> std::vector<double, std::allocator >

Did you forget to #include <pybind11/stl.h>? Or <pybind11/complex.h>, <pybind11/functional.h>, <pybind11/chrono.h>, etc. Some automatic conversions are optional and require extra headers to be included when compiling your pybind11 module. Aborted

----Steve

lutusp commented 3 years ago

On Tue, Jul 6, 2021 at 8:16 PM srs4511351 @.***> wrote:

I tried PLSDR with Gnu Radio 3.9. It runs for 1 second, then quits. I have to install pybind11 to be able to compile Gnu Radio 3.9 and the PLSDR errors below mention it.

You shouldn't have to compile GnuRadio 3.9 in order to use it, and the compilation process is very likely to be the reason for the failure. You need to find a precompiled GnuRadio release meant for your (unidentified) platform.

This issue with 99.9% probability results from the details of this one-off compilation. The error messages included in your message support this conjecture.

Also, there's no information about your platform or environment.

I hope this helps.

$ ~/PLSDR/PLSDR.py gr-osmosdr 0.2.0.0 (0.2.0) gnuradio 3.9.2.0 built-in source types: file rtl_tcp uhd sdrplay hackrf rfspace soapy redpitaya [INFO] [UHD] linux; GNU C++ version 10.2.1 20210110; Boost_107400; UHD_4.1.0.HEAD-0-gd21735d5 Physical device count: 1 sdrplay=0,hwVer=255,label='SDRplay RSP1A 19110C0797' Traceback (most recent call last): File "/home/pi/PLSDR/PLSDR.py", line 566, in change_modes self.run_stop() File "/home/pi/PLSDR/PLSDR.py", line 560, in run_stop self.radio.initialize_radio(self.config) File "/home/pi/PLSDR/Radio.py", line 127, in initialize_radio self.configure_source_controls() File "/home/pi/PLSDR/Radio.py", line 287, in configure_source_controls rng = self.osmosdr_source.get_bandwidth_range().values() TypeError: Unable to convert function return value to a Python type! The signature was (self: osmosdr.osmosdr_python.meta_range_t) -> std::vector<double, std::allocator >

Did you forget to #include <pybind11/stl.h>? Or <pybind11/complex.h>, <pybind11/functional.h>, <pybind11/chrono.h>, etc. Some automatic conversions are optional and require extra headers to be included when compiling your pybind11 module. Aborted

----Steve

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/lutusp/PLSDR/issues/16, or unsubscribe https://github.com/notifications/unsubscribe-auth/ADVTB4IMZK7WKC7VL4NEDOTTWPBHBANCNFSM475YHADA .

-- Paul Lutus http://arachnoid.com

srs4511351 commented 3 years ago

Have you run PLSDR on gnuradio 3.9?

There is a chance that it was the compile of gnuradio 3.9 that was a problem, but I have compiled gnuradio 3.8 many time successfully. One difference is that 3.9 required pybind11 . My computer is a Raspberry Pi with the 20210629_raspi_4_bullseye.img.xz Debian 11 Bullseye 64 bit image, I Installed lxde and lightdm.

I uninstalled gnuradio 3.9 and compiled/installed gnuradio 3.8 from source and PLSDR does work with audio. There is an audio issue, but that's a separate problem. I have gqrx running with good audio.

Finding packages of gnuradio for the raspberry pi is very hard to find especially 64 bit.

----Steve

srs4511351 commented 2 years ago

I now have an linux installation with GNU Radio 3.9 installed from Debian packages. The errors are the same. They complain about pybind11, which replaced swig, which was dropped in 3.9. Many OS distros now have GNU Radio 3.9. GNU Radio 3.9 has made some changes that make it difficult for ver 3.8 programs to work. My computer is a Raspberry Pi 4 with DietPi Debian 11 Bullseye 64 bit, lxde and lightdm.

If you want PLSDR to run on gnuradio 3.9, it is likely that changes will have to be made.

----Steve