Giter Club home page Giter Club logo

plsdr's People

Contributors

lutusp avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

plsdr's Issues

PLSDR can not start on Pi3B with the latest Pi OS

Installed the new version and dependencies as advised. In an attempt to start, UI shows for a fraction of a second, then disappears. From CMD:

pi@raspberrypi:~/PLSDR $ ./PLSDR.py
qt.qpa.xcb: could not connect to display
qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, xcb.

Aborted

audio_alsa_sink error

Linux 64bit

I can't get it to work. "A problem has come up while accessing the audio system: audio_alsa_sink"

Here is the output:

./PLSDR.py
QML debugging is enabled. Only use this in a safe environment.
linux; GNU C++ version 4.8.5; Boost_105400; UHD_003.008.005-0-unknown

gr-osmosdr v0.1.x-xxx-xunknown (0.1.5git) gnuradio 3.7.12.0
built-in source types: file osmosdr fcd rtl rtl_tcp uhd miri hackrf bladerf rfspace airspy soapy redpitaya freesrp
Using device #0 Realtek RTL2838UHIDIR SN: 00000001
Found Rafael Micro R820T tuner
[R82XX] PLL not locked!
[R82XX] PLL not locked!
len(audio_taps) = 231
INFO: Audio sink arch: alsa
ERROR: [plughw:0,0]: No such file or directory
<<

v2.0 crashes if no config file

PLSDR v2.0, Arch linux, rtl_sdr dongle

Troubleshooting another issue, removed ~/.PLSDR/config.ini file resulting in:

gr-osmosdr 0.2.0.0 (0.2.0) gnuradio 3.8.0.0
built-in source types: file rtl rtl_tcp uhd hackrf bladerf rfspace airspy soapy redpitaya 
Traceback (most recent call last):
  File "./PLSDR.py", line 566, in change_modes
    self.run_stop()
  File "./PLSDR.py", line 560, in run_stop
    self.radio.initialize_radio(self.config)
  File "/home/tim/bin/PLSDR/Radio.py", line 127, in initialize_radio
    self.configure_source_controls()
  File "/home/tim/bin/PLSDR/Radio.py", line 265, in configure_source_controls
    self.osmosdr_source = osmosdr.source( args="numchan=1 %s" % self.device_driver_name)
  File "/usr/lib/python3.8/site-packages/osmosdr/osmosdr_swig.py", line 946, in make
    return _osmosdr_swig.source_make(*args, **kwargs)
RuntimeError: Failed to open AirSpy device (-5) AIRSPY_ERROR_NOT_FOUND
Aborted (core dumped)

tried removing entire ~/.PLSDR directory, this would be the state in a fresh install I guess, results in same.

Tried moving the rtl_sdr to top of list in device_dict of PLSDR.py, same result

Gnu Radio 3.9

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

Python 3.10 errors: argument 1 has unexpected type 'float'

pyqt5 function calls cause "argument 1 has unexpected type 'float'" errors using Python 3.10. This is apparently caused by depreciated implicit conversion after python 3.10. Replacing the code below eliminates the errors.

MyCombo.py line 73: self.control.setCurrentIndex(int(self.index))

Waterfall.py line 65: self.colors.append(QColor.fromHsv(int(h),255,int(cn)))

FFTDisp.py line 254: qp.drawText(int(x-ssz),self.dh-16,s)

The PLSDR it does not open

when i double click the launch_PLSDR it opens the cmd and it writes:
Launching plsdr...
Gnu radio located \programfiles\GNU RADIO 3.8 , proceding...

and then it exits
What would be the problem?
P.S i used python 2.7 and 3.8 and it s the same problem

Python2 deprecated

Gnuradio 3.8 now supports Python 3 and will be the last version to support Python 2. Time to translate to Python 3?

plsdr will not start

This is the result of an command line start:

gene@go3:/usr/src/PLSDR# ./PLSDR.py
Traceback (most recent call last):
File "./PLSDR.py", line 32, in
from gnuradio import gr
ImportError: No module named 'gnuradio

gnuradio is installed. I need more clues.

Thanks for help

Support multiple devices of the same type

I have two RTL-SDR dongles attached to my system. They have different serial numbers, so that it's possible to tell which is which...except that PLSDR doesn't surface this information, nor does it provide any means of specifying which device is in use, which leads to two problems:

  1. I can't select the device I want to use, and
  2. I can't even tell which device PLSDR is using.

GQRX presents the devices like this:

image

And CubicSDR does it like this:

image

GQRX also allows one to specify a device manually by setting the RTL device number (e.g, rtl=0 or rtl=1). Possibly one of these options would work for PLSDR?

RTL SDR v3 dongle is not recognized

Hi.
I run PLSDR on Ubuntu 18.04 with RTL-SDR v3 dongle. But software does not recognize the dongle. I had to comment out all other options in order to make it working...

PLSDR not starting on either Windows OR Ubuntu 22.04

Ubuntu 22.04 after following instructions on website:

Traceback (most recent call last):
  File "/home/xgpt/PLSDR/./PLSDR.py", line 806, in <module>
    window = PLSDR(app)
  File "/home/xgpt/PLSDR/./PLSDR.py", line 225, in __init__
    self.sample_rate_control = MyCombo.Combo(self,self.config,self.sample_rate_combo,self.critical_change,'sample_rate')
  File "/home/xgpt/PLSDR/MyCombo.py", line 44, in __init__
    self.set_content(content)
  File "/home/xgpt/PLSDR/MyCombo.py", line 63, in set_content
    self.process_index()
  File "/home/xgpt/PLSDR/MyCombo.py", line 73, in process_index
    self.control.setCurrentIndex(self.index)
TypeError: setCurrentIndex(self, int): argument 1 has unexpected type 'float'

the same happens on Windows with the following output:

Traceback (most recent call last):
  File "C:\Users\TVH\PLSDR\PLSDR.py", line 806, in <module>
    window = PLSDR(app)
  File "C:\Users\TVH\PLSDR\PLSDR.py", line 225, in __init__
    self.sample_rate_control = MyCombo.Combo(self,self.config,self.sample_rate_combo,self.critical_change,'sample_rate')
  File "C:\Users\TVH\PLSDR\MyCombo.py", line 44, in __init__
    self.set_content(content)
  File "C:\Users\TVH\PLSDR\MyCombo.py", line 63, in set_content
    self.process_index()
  File "C:\Users\TVH\PLSDR\MyCombo.py", line 73, in process_index
    self.control.setCurrentIndex(self.index)
TypeError: setCurrentIndex(self, index: int): argument 1 has unexpected type 'float'

(base) C:\Users\TVH\PLSDR>

However, I did note that the linked binaries for gnu3.8 might have been compiled with python 2.7 in mind, so I downloaded and installed gnuradio with their recommended radioconda installer, and tried launching PLSDR within the conda prompt. However, I'm not quite sure what the traceback is complaining about on either of these. I have tried to triage the bug but I'm not even seeing the float being passed to setCurrentIndex...although I chalk that up to tired eyes.

Selecting RTL-SDR TCP causes a crash

There's not much else to say. other than i have to manually kill it. I haven't tested with the SDR connected directly to my computer, but I will try it later

This is the console output after i select TCP

lauro@ubuntu:~/Desktop/PLSDR$ ./PLSDR.py

gr-osmosdr v0.1.x-xxx-xunknown (0.1.5git) gnuradio 3.7.11
built-in source types: file osmosdr fcd rtl rtl_tcp plutosdr miri hackrf bladerf rfspace airspy airspyhf soapy redpitaya

FATAL: Failed to open AirSpy device (-5) AIRSPY_ERROR_NOT_FOUND

Trying to fill up 1 missing channel(s) with null source(s).
This is being done to prevent the application from crashing
due to gnuradio bug #528.

gr-osmosdr v0.1.x-xxx-xunknown (0.1.5git) gnuradio 3.7.11
built-in source types: file osmosdr fcd rtl rtl_tcp plutosdr miri hackrf bladerf rfspace airspy airspyhf soapy redpitaya

Crash with SDRPlay

I just discovered PLSDR and tried it with my own MSVC-2019 (32-bit) build of GnuRadio 3.9 (+Python 2.7). It works fine using osmo-sdr, but often (not always), it crashes when switching
to a SDRPlay device.

I have both a SDRPlay RSP1A and a RTL-SDR stick attached to my computer.

Details from WinDbg (my JIT debugger):

Access violation - code c0000005 (!!! second chance !!!)
eax=8c001ed6 ebx=00000000 ecx=3c8cdeac edx=15b0fa30 esi=0fee0000 edi=15b0fa28
eip=7753681a esp=009ed458 ebp=009ed4a4 iopl=0         nv up ei pl nz na pe nc
cs=0023  ss=002b  ds=002b  es=002b  fs=0053  gs=002b             efl=00210206
ntdll!RtlpFreeHeapInternal+0x2c2:
7753681a 8b7104          mov     esi,dword ptr [ecx+4] ds:002b:3c8cdeb0=????????

From the WinDbg module-list, the [exc+4] address looks illegal.
And the call-stack:

ntdll!RtlpFreeHeapInternal+0x2c2
ntdll!RtlFreeHeap+0x46
MSVCR100!free(void * pBlock = 0x15b0fa30)+0x1c
QtCore!initQtCore+0xf8add
QtCore!initQtCore+0xf8ee8
Qt5Core!QObject::event+0x95
Qt5Widgets!QApplicationPrivate::notify_helper+0x10b
Qt5Widgets!QApplication::notify+0x16fd
Qt5Gui!QGuiApplicationPrivate::processMouseEvent+0xa22
Qt5Core!QMetaProperty::writeOnGadget+0x342c
Qt5Core!QMetaType::typeInfo+0x6f

I guess PyQt5\QtCore.pyd is causing this somewhere (since it's using MSVC100.DLL while my normal Qt5 is using something newer).

BTW. It is really a cool program!

Edit:
Doing an !analyze -v in WinDbg showed:
FAILURE_ID_HASH_STRING: um:heap_corruption_c0000005_heap_corruption!python.exe
No shit Sherlock.

Raspberry Pi audio sink topology failure

Running PLSDR on the Raspberry Pi 3 with the default Audio Device setting produces the following error message:

gr::log :ERROR: audio_alsa_sink0 - [default]: set_channels failed: Invalid argument
Traceback (most recent call last):
File "PLSDR.py", line 545, in run_stop_event
self.run_stop()
File "PLSDR.py", line 558, in run_stop
self.start_process()
File "PLSDR.py", line 537, in start_process
self.radio.start()
File "/usr/lib/python2.7/dist-packages/gnuradio/gr/top_block.py", line 109, in start
top_block_start_unlocked(self._impl, max_noutput_items)
File "/usr/lib/python2.7/dist-packages/gnuradio/gr/runtime_swig.py", line 5654, in top_block_start_unlocked
return _runtime_swig.top_block_start_unlocked(r, max_noutput_items)
RuntimeError: check topology failed on audio_alsa_sink(49) using ninputs=1, noutputs=0
Aborted

This error is caused by the single input audio sink in PLSDR. The Raspberry Pi analog audio driver requires two input channels. A work around is changing the PLSDR Audio Device setting to hw:0,1. This uses the Raspberry Pi HDMI audio driver which accepts a single audio input channel. Changing the PLSDR code to add a second input to the audio sink would be a future solution to the problem.

Use the following PLSDR setup procedure:
Configure > Audio Device, enter: hw:0,1
Click quit (updates .PLSDR/config.ini file)
Restart PLSDR

If Raspberry Pi analog audio output is desired:
sudo raspi-config
Advanced Options > Audio > Force 3.5mm (‘headphone’) jack

Sdrplay with gnuradio 3.8 + gr-soapy + gr-fospher (Request)

Long title and it’s asking for multiple things, but I’m more than happy to assist any way possible. I’ve gotten sdrplay in Linux with api 3.x, gnuradio 3.8, and gr-soapy to work nicely with both my rsp1a and my rspduo. Wondering if this would help your project?

Also, would it be possibly to add gr-fospher option to replace the waterfall and spectrum oart of your program?

Lastly, I’d like to include your program in my DragonOS project all preinstalled and configured if that’s okay with you.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.