lutusp / PLSDR

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

PLSDR not starting on either Windows OR Ubuntu 22.04 #19

Closed xgpt closed 1 year ago

xgpt commented 1 year ago

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.

lutusp commented 1 year ago

On Thu, Mar 2, 2023 at 9:44 AM xgpt @.***> wrote:

Ubuntu 22.04 after following instructions on website:

Traceback (most recent call last): File "/home/xgpt/PLSDR/./PLSDR.py", line 806, in 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 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.

— Reply to this email directly, view it on GitHub https://github.com/lutusp/PLSDR/issues/19, or unsubscribe https://github.com/notifications/unsubscribe-auth/ADVTB4I7RVF4OZPABQNJPMTW2DMBJANCNFSM6AAAAAAVNV3AR4 . You are receiving this because you are subscribed to this thread.Message ID: @.***>

I looked into this, and it's basically a hopeless situation. PLSDR worked well for about ten years, but since then:

  1. New Python versions are more strict about what values they accept -- appropriately, I might add.

  2. The QT library is also much more strict about what arguments it's willing to accept, also with good reason.

  3. Gnuradio has gone through any number of major and minor revisions, with no concern about what programs they break.

  4. A certain essential driver named "osmosdr", critical to the functioning of the most common SDR sticks, and which was always somewhat dodgy, has now fallen off the world and is no longer compiled in a way that allows it to work with Python 3.

I discovered issue number 4 only after addressing the issue you brought to my attention and a dozen others, but when I saw what errors the osmosdr driver was creating, I realized I would have to take that project over and rewrite it to get my program to function, so instead I decided to give up.

Sorry. It's an open-source project -- anyone who wants to can try to get it work in spite of numerous conflicts with the four categories listed above.

-- Paul Lutus http://arachnoid.com

xgpt commented 1 year ago

I'm sorry to hear that, if you must give it up, I do ask that you please keep the source up here on GitHub at least in archive mode. Once I learn a little more about GnuRadio I intend to try and do some extensions to that base using some Python tricks I think I might be able to learn by studying this code. The PLSDR radio looks very slick/simplistic for the functionality it claims.

Thanks for releasing an open source project though!

lutusp commented 1 year ago

On Fri, Mar 3, 2023 at 12:34 PM xgpt @.***> wrote:

I'm sorry to hear that, if you must give it up, I do ask that you please keep the source up here on GitHub at least in archive mode.

Yes, absolutely. The fact that it's no longer functioning doesn't negate the value of the code itself and the methods I developed for it, in particular the single-sideband decoding method described here: https://arachnoid.com/PLSDR/index.html#Notes_on_Single_Sideband_Design https://arachnoid.com/PLSDR/index.html#Notes_on_Single_Sideband_Design .

In retrospect, my mistake was to rely too much on "easy solutions" like GnuRadio instead of more basic algorithms. This made my code especially fragile through reliance on a series of frequently-updated libraries. My having relied on the Qt environment was another mistake of the same kind -- the Qt people are famous for pulling the plug on developers as frequently as possible, to force them to buy more software from an indifferent corporation.

Once I learn a little more about GnuRadio I intend to try and do some extensions to that base using some Python tricks I think I might be able to learn by studying this code. The PLSDR radio looks very slick/simplistic for the functionality it claims.

Thanks for releasing an open source project though!

Wouldn't have it any other way. :)

— Reply to this email directly, view it on GitHub https://github.com/lutusp/PLSDR/issues/19#issuecomment-1454094125, or unsubscribe https://github.com/notifications/unsubscribe-auth/ADVTB4NFZR3PBG3W6RES7I3W2JIUBANCNFSM6AAAAAAVNV3AR4 . You are receiving this because you commented.Message ID: @.***>

-- Paul Lutus http://arachnoid.com