MLAB-project / pysdr

Spectral waterfall of live signals or recordings
28 stars 5 forks source link

Python3 incompatibility #12

Open kaklik opened 4 years ago

kaklik commented 4 years ago

$ python3 3dwf.py 10.1.1.132 Traceback (most recent call last): File "3dwf.py", line 33, in pybuf_from_memory = ctypes.pythonapi.PyBuffer_FromReadWriteMemory File "/usr/lib/python3.8/ctypes/init.py", line 386, in getattr func = self.getitem(name) File "/usr/lib/python3.8/ctypes/init.py", line 391, in getitem func = self._FuncPtr((name_or_ordinal, self)) AttributeError: python3: undefined symbol: PyBuffer_FromReadWriteMemory

kaklik commented 4 years ago

Zároveň to vypadá, že pyfits už nepodporuje python pod verzi 3. Takže teď zřejmě nejde použít pysdr-recviewer s FITS soubory

Protože buď:

$ python2 pysdr-recviewer 20200809082529162_SVAKOV-R12_raws.fits 
Traceback (most recent call last):
  File "pysdr-recviewer", line 5, in <module>
    main()
  File "/home/kaklik/repos/bolidozor/pysdr/pysdr/recviewer.py", line 165, in main
    sample_rate, signal = read_file(sys.argv[1])
  File "/home/kaklik/repos/bolidozor/pysdr/pysdr/recviewer.py", line 144, in read_file
    import pyfits
ImportError: No module named pyfits

Nebo

$ python3 pysdr-recviewer 20200809082529162_SVAKOV-R12_raws.fits 
Traceback (most recent call last):
  File "pysdr-recviewer", line 4, in <module>
    from pysdr.recviewer import main
  File "/home/kaklik/repos/bolidozor/pysdr/pysdr/recviewer.py", line 13, in <module>
    from pysdr.waterfall import *
  File "/home/kaklik/repos/bolidozor/pysdr/pysdr/waterfall.py", line 18, in <module>
    from pysdr.input import RawSigInput, JackInput
  File "/home/kaklik/repos/bolidozor/pysdr/pysdr/input.py", line 5, in <module>
    import pysdr.ext as ext
ImportError: /home/kaklik/repos/bolidozor/pysdr/pysdr/ext.cpython-38-x86_64-linux-gnu.so: undefined symbol:         PyString_FromStringAndSize
povik commented 1 year ago

Fixed in e1d4167f250c9

povik commented 1 year ago

While 3dwf.py should be Python 3 compatible, the remaining programs (pysdr-waterfall and -recviewer) don't seem to be. Reopening this issue.

kaklik commented 6 months ago

I fixed all obvious Python3 incompatibilities. But unfortunately, there arose a mistake somewhere in the code, because the spectrum waterfall is twice as fast as the overlay. The result is that there are gaps between the spectrum texture every ten seconds.