Coder Social home page Coder Social logo

jvankatwijk / swradio-8 Goto Github PK

View Code? Open in Web Editor NEW
73.0 11.0 18.0 50.69 MB

shortwave receiver for use with sdrplay, hackrf, dabsticks and pmsdr

License: GNU General Public License v2.0

C++ 74.44% C 24.18% QMake 0.30% Makefile 0.61% CMake 0.40% Shell 0.02% Inno Setup 0.02% M4 0.01% Fortran 0.02%
sdr drm shirtwave sdrplay hackrf

swradio-8's People

Contributors

jvankatwijk avatar mdeous 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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

swradio-8's Issues

Audio output is muted on Ubuntu

I have started the swradio-9-x86_64.AppImage on Ubuntu 22.04. Unfortunately the audio output is muted ( setting "default" ). What could be the reason for this ?

Crashes at exit

I just installed the latest release (setup-swradio.exe) on Windows-10. But it crashed at exit:

swradio_8_0+0x1cb9
swradio_8_0+0x51512
swradio_8_0+0x115a
swradio_8_0+0x13d6
ntdll!RtlQueryPerformanceCounter+0x12b
KERNEL32!BaseThreadInitThunk+0x19
ntdll!__RtlUserThreadStart+0x2f
ntdll!_RtlUserThreadStart+0x1b

The offending instruction:

eax=00000000 ebx=00000001 ecx=9b467140 edx=00000000 esi=04086c70 edi=04085980
eip=00401cb9 esp=025efd60 ebp=025efe18 iopl=0         nv up ei pl nz na po nc
cs=0023  ss=002b  ds=002b  es=002b  fs=0053  gs=002b             efl=00210202
swradio_8_0+0x1cb9:
00401cb9 f0830201        lock add dword ptr [edx],1   ds:002b:00000000=????????

Locking something at [0] ?!

Building on a Mac using Qt Creator

Was able to build this in Qt Creator on a Mac in Catalina and the required packages from Homebrew.

  1. Modify swradio-8.pro's unix section (at the bottom) as follows:
    # LIBS += -L/usr/lib64
    # LIBS += -L/lib64
    INCLUDEPATH += /usr/local/include /usr/local/lib/qwt.framework/Headers
    QMAKE_LFLAGS += -F/usr/local/opt/qwt/lib -L/usr/local/lib
    LIBS += -framework qwt -lsndfile -lsamplerate -lportaudio -lusb-1.0 -lfftw3f -ldl

  2. Modify the radio handler to use 'dylib' instead of 'so', otherwise it won't recognise the radio, e.g. in rtlsdr-handler.cpp
    // Handle = dlopen ("librtlsdr.so", RTLD_NOW);
    Handle = dlopen ("librtlsdr.dylib", RTLD_NOW);

Should be a more elegant way of doing this using defines, but this works for now.

That said, am using an RTL-SDR v3 and it seems like it's not going into direct sampling for HF. Works in VHF, even though there's no WFM demodulator. I will look at setting direct sampling next.

Error building on Mac M1 Silicon. SampleRate.h .. file not found

I already had built fftw, and had it installed in /usr/local

Prior to trying to build this on a Mac M1 Silicon, using QT 6.3.1 I did the following

  • downloaded, compiled, installed libsound
  • downloaded and installed qwt Git >=6.2
    • This installed in /usr/local/qwt-6.2.0-dev/
    • Hence the .pro file looks at this location
  • Pointed the .pro file to the /usr/local/include (for fftw includes)

Build fails due to <SampleRate.h> not found.
Unsure which project supplies this.... can anyone suggest which project

'-DHAVE_PMSDR' breaks building

Building for PMSDR (yes, I have one of these) break the build big-time since radio.cpp has this:

#ifdef  HAVE_EXTIO
#include        "extio-handler.h"
#elif   HAVE_PMSDR
#include        "pmsdr-handler.h"
#else
#ifdef  HAVE_SDRPLAY
#include        "sdrplay-handler.h"
#endif
...

Note the #else part. No header past that point gets included. So is PMSDR support supposed to be built with no other devices?

AFAICS it should be:

--- a/radio.cpp 2022-08-26 11:58:26
+++ b/radio.cpp 2022-08-26 17:56:02
@@ -46,9 +46,10 @@
 #include        "filereader.h"
 #ifdef HAVE_EXTIO
 #include       "extio-handler.h"
-#elif  HAVE_PMSDR
+#endif
+#ifdef HAVE_PMSDR
 #include       "pmsdr-handler.h"
-#else
+#endif
 #ifdef HAVE_SDRPLAY
 #include        "sdrplay-handler.h"
 #endif

What a joke.

"Failed to open rtlsdr"

I really want to try this out, but when i start the program (windows 11) it opens and shows me the selection of sdr-devices.. if i choose rtlsdr the following error message will be shown in the command line window:
"Failed to open rtlsdr"

No further details.
I just installed it with the setup which is in the release.
In SDR-Console and sdr++ my sdr sticks are both working fine.

Any idea? :(

Newer Appimage Release? Easier than compiling.

I am having some problems with compiling, just like I mentioned on SDR-J-FM, this is hell to compile. It would be great if you can put out an appimage to ensure that there won't be problems on the many Linux distributions that are out there. In any case here is my error. (Ubuntu 20.04)

In file included from main.cpp:29:
radio.h:31:10: fatal error: fm-constants.h: No such file or directory
   31 | #include "fm-constants.h"
      |          ^~~~~~~~~~~~~~~~
compilation terminated.
make: *** [Makefile:2251: main.o] Error 1
make: *** Waiting for unfinished jobs....
In file included from various/popup-keypad.cpp:26:
./radio.h:31:10: fatal error: fm-constants.h: No such file or directory
   31 | #include "fm-constants.h"
      |          ^~~~~~~~~~~~~~~~
compilation terminated.
make: *** [Makefile:2430: popup-keypad.o] Error 1
output/upconverter.cpp: In member function ‘void upConverter::handle(DSPCOMPLEX*, int32_t)’:
output/upconverter.cpp:65:12: warning: unused variable ‘res’ [-Wunused-variable]
   65 |        int res       = src_process (src_converter, src_data);
      |            ^~~
bandplan.cpp: In member function ‘const QString bandPlan::getFrequencyLabel(uint32_t)’:
bandplan.cpp:17:20: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<bandElement>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
   17 |  for (int i = 0; i < labelTable. size (); i ++) {

Update Sdrplay compatibility to SDRPlay Latest 3.X API.

This looks like a super interesting program and I’d love to use it with sdrplay equipment. At a quick glance it appears maybe this is written for the older sdrplay api available a few years ago and not the more recent 3.X series API? Any chance that if this is the case you’d have time to update to use it?

swradio and Ubuntu 20.04 - 64 bit

Getting source from GIT repo swradio don't compile on Ubuntu 20.04 - 64 bit with this error:

/usr/lib/qt5/bin/moc -DGITHASH="9b775f9" -DHAVE_SDRPLAY -DHAVE_RTLSDR -DHAVE_AM_DECODER -DHAVE_SSB_DECODER -DHAVE_CW_DECODER -DHAVE_AMTOR_DECODER -DHAVE_PSK_DECODER -DHAVE_RTTY_DECODER -DHAVE_MFSK_DECODER -DHAVE_FAX_DECODER -DHAVE_DRM_DECODER -DESTIMATOR_1 -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_XML_LIB -DQT_CORE_LIB --include /mnt/Prog/ham/sdr-j/swradio-8/moc_predefs.h -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -I/mnt/Prog/ham/sdr-j/swradio-8 -I/mnt/Prog/ham/sdr-j/swradio-8 -I/mnt/Prog/ham/sdr-j/swradio-8/decimators -I/mnt/Prog/ham/sdr-j/swradio-8/filters -I/mnt/Prog/ham/sdr-j/swradio-8/various -I/mnt/Prog/ham/sdr-j/swradio-8/output -I/mnt/Prog/ham/sdr-j/swradio-8/scopes-qwt6 -I/mnt/Prog/ham/sdr-j/swradio-8/devices -I/mnt/Prog/ham/sdr-j/swradio-8/devices/filereader -I/mnt/Prog/ham/sdr-j/swradio-8/decoders -I/usr/include/qwt -I/mnt/Prog/ham/sdr-j/swradio-8/devices/sdrplay-handler -I/mnt/Prog/ham/sdr-j/swradio-8/devices/rtlsdr-handler -I/mnt/Prog/ham/sdr-j/swradio-8/decoders/am-decoder -I/mnt/Prog/ham/sdr-j/swradio-8/decoders/ssb-decoder -I/mnt/Prog/ham/sdr-j/swradio-8/decoders/cw-decoder -I/mnt/Prog/ham/sdr-j/swradio-8/decoders/amtor-decoder -I/mnt/Prog/ham/sdr-j/swradio-8/decoders/psk-decoder -I/mnt/Prog/ham/sdr-j/swradio-8/decoders/rtty-decoder -I/mnt/Prog/ham/sdr-j/swradio-8/decoders/mfsk-decoder -I/mnt/Prog/ham/sdr-j/swradio-8/decoders/fax-decoder -I/usr/include/fdk-aac -I/mnt/Prog/ham/sdr-j/swradio-8/decoders/drm-decoder -I/mnt/Prog/ham/sdr-j/swradio-8/decoders/drm-decoder/ofdm -I/mnt/Prog/ham/sdr-j/swradio-8/decoders/drm-decoder/signal-handling -I/mnt/Prog/ham/sdr-j/swradio-8/decoders/drm-decoder/signal-handling/eq-1 -I/mnt/Prog/ham/sdr-j/swradio-8/decoders/drm-decoder/support -I/mnt/Prog/ham/sdr-j/swradio-8/decoders/drm-decoder/parameters -I/mnt/Prog/ham/sdr-j/swradio-8/decoders/drm-decoder/msc -I/mnt/Prog/ham/sdr-j/swradio-8/decoders/drm-decoder/sdc -I/mnt/Prog/ham/sdr-j/swradio-8/decoders/drm-decoder/fac -I/mnt/Prog/ham/sdr-j/swradio-8/decoders/drm-decoder/data -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtWidgets -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtXml -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/c++/9 -I/usr/include/c++/9/x86_64-redhat-linux -I/usr/include/c++/9/backward -I/usr/lib/gcc/x86_64-redhat-linux/9/include -I/usr/local/include -I/usr/include radio.h -o moc_radio.cpp
usr/include/c++/9/bits/stl_relops.:67: Parse error at "std"
make: *** [Makefile:866: moc_radio.cpp] Errore 1

As you can see g++ is version is
g++ (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0
and moc is
moc 5.12.8

Compiling source from swradio-8-8.1.tar.gz (without errors) or using latest Appimage libmir_sdr.so is required:

error report libmir_sdr.so: impossibile aprire il file oggetto condiviso: File o directory non esistente

and there is no such library with API version 3.0.7

So 2 different problems:

  • how to compile swradio from GIT on Ubuntu 20.04
  • how to use swradio with SDRPlay API 3.0.7

Regards
Franco Spinelli
IW2DHW

build link problem ft8

building via cmake

ft8-decoder.cpp:461: undefined reference to `reporterWriter::addMessage(std::__cxx11::basic_string<char, std::char_traits, std::allocator >

ft8-decoder.cpp:468: undefined reference to `identityDialog::identityDialog(QSettings*, QWidget*)'

pack-handler.cpp:137: undefined reference to `vtable for packHandler'

git checkout failed.

Due to the file https://github.com/JvanKatwijk/swradio-8/blob/master/decoders/fax-decoder/:1,
a git clone https://github.com/JvanKatwijk/swradio-8.git . fails on Windows. It's illegal to have a : in a filename.

And I see this is really a .cpp source file which does not seems to be part of this project. Please delete it.
Or do you recommend all Windows users to switch to Linux?

Direct Sampling?

Is there a way to configure direct sampling for devices such as the RTL_SDR Blog v3?

Building 9 on QtCreator Mac

  1. Requires changes to swradio-8.pro similarly noted in #4:
#LIBS	+= -L/usr/lib64
#LIBS	+= -L/lib64
#INCLUDEPATH	+= /usr/include/qt5/qwt
INCLUDEPATH	+= /usr/local/include /usr/local/lib/qwt.framework/Headers
QMAKE_LFLAGS	+= -F/usr/local/opt/qwt-qt5/lib -L/usr/local/lib
#LIBS	+= -lqwt -lrt -lsndfile -lsamplerate -lportaudio -lusb-1.0 -lfftw3f -ldl
LIBS	+= -framework qwt -lsndfile -lsamplerate -lportaudio -lusb-1.0 -lfftw3f -ldl

Wondering if it just makes sense to add a macx{} and linux-*{} section with the Mac- and Linux-specific lines, keeping the common parts to both in the unix{} section as follows:

unix {
exists ("./.git") {
   GITHASHSTRING = $$system(git rev-parse --short HEAD)
   !isEmpty(GITHASHSTRING) {
       message("Current git hash = $$GITHASHSTRING")
       DEFINES += GITHASH=\\\"$$GITHASHSTRING\\\"
   }
}
isEmpty(GITHASHSTRING) {
    DEFINES += GITHASH=\\\"------\\\"
}

DESTDIR	= ./linux-bin
#CONFIG	+= sdrplay-v3
#CONFIG	+= sdrplay
#CONFIG	+= hackrf
CONFIG	+= rtlsdr
#CONFIG	+= pmsdr
#CONFIG	+= cardReader
CONFIG	+= am-decoder
CONFIG	+= ssb-decoder
CONFIG	+= cw-decoder
CONFIG	+= amtor-decoder
CONFIG	+= psk-decoder
CONFIG	+= ft8-decoder
CONFIG	+= rtty-decoder
CONFIG	+= fax-decoder
CONFIG	+= drm-decoder-fdk
#CONFIG	+= test-decoder
CONFIG	+= sdk_no_version_check
}

macx {
INCLUDEPATH	+= /usr/local/include /usr/local/lib/qwt.framework/Headers
QMAKE_LFLAGS	+= -F/usr/local/opt/qwt-qt5/lib -L/usr/local/lib
LIBS	+= -framework qwt -lsndfile -lsamplerate -lportaudio -lusb-1.0 -lfftw3f -ldl
}

linux-* {
LIBS	+= -L/usr/lib64
LIBS	+= -L/lib64
INCLUDEPATH	+= /usr/include/qt5/qwt
LIBS	+= -lqwt -lrt -lsndfile -lsamplerate -lportaudio -lusb-1.0 -lfftw3f -ldl
}
  1. Also had to add an include reference for QPen in the following sources in scopes-qwt6: audio-scope.cpp, scope.cpp, and spectrum-scope.cpp:
    #include <qpen.h>

  2. For reference, using qt@5 (v5.15.5) and qwt-qt5 (v6.2.0) from Homebrew.

fatal error:

Hi,
I tried to compile swradio-8, but got this error:

In file included from radio.h:37,
from main.cpp:29:
ui_newradio.h:23:10: fatal error: qwt_plot.h: Datei oder Verzeichnis nicht gefunden
23 | #include "qwt_plot.h"
| ^~~~~~~~~~~~
compilation terminated.
What to do?
Best greetings

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.