From e90b6656c3172b5a0bd5009a0e954ddb50ad81c5 Mon Sep 17 00:00:00 2001 From: Ryzerth Date: Wed, 16 Dec 2020 01:45:17 +0100 Subject: [PATCH] Fixed airspy hf+ module bug --- CMakeLists.txt | 1 - airspyhf_source/src/main.cpp | 2 ++ core/src/dsp/routing.h | 5 +++++ root_dev/config.json | 10 +++++----- root_dev/soapy_source_config.json | 5 +++-- 5 files changed, 15 insertions(+), 8 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index fcb5827e..2b2bcc8d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -14,7 +14,6 @@ add_subdirectory("rtl_tcp_source") add_subdirectory("audio_sink") #add_subdirectory("rx888_source") add_subdirectory("plutosdr_source") -#add_subdirectory("demo") if (MSVC) set(CMAKE_CXX_FLAGS "-O2 /std:c++17 /EHsc") diff --git a/airspyhf_source/src/main.cpp b/airspyhf_source/src/main.cpp index ad8137c1..45a388ba 100644 --- a/airspyhf_source/src/main.cpp +++ b/airspyhf_source/src/main.cpp @@ -113,6 +113,8 @@ public: int n = sampleRates[0]; airspyhf_get_samplerates(dev, sampleRates, n); char buf[1024]; + sampleRateList.clear(); + sampleRateListTxt = ""; for (int i = 0; i < n; i++) { sampleRateList.push_back(sampleRates[i]); sprintf(buf, "%d", sampleRates[i]); diff --git a/core/src/dsp/routing.h b/core/src/dsp/routing.h index 71f9d94c..78815335 100644 --- a/core/src/dsp/routing.h +++ b/core/src/dsp/routing.h @@ -158,6 +158,7 @@ namespace dsp { int readCount = std::min(_keep + _skip, _keep); int skip = std::max(_skip, 0); int delaySize = (-_skip) * sizeof(complex_t); + int delayCount = (-_skip); complex_t* start = &buf[std::max(-_skip, 0)]; complex_t* delayStart = &buf[_keep + _skip]; @@ -165,6 +166,10 @@ namespace dsp { while (true) { if (delay) { memmove(buf, delayStart, delaySize); + for (int i = 0; i < delayCount; i++) { + buf[i].i /= 10.0f; + buf[i].q /= 10.0f; + } } if (ringBuf.readAndSkip(start, readCount, skip) < 0) { break; }; if (out.aquire() < 0) { break; } diff --git a/root_dev/config.json b/root_dev/config.json index f78641d5..d5e1d5fb 100644 --- a/root_dev/config.json +++ b/root_dev/config.json @@ -3,9 +3,9 @@ "bandPlanEnabled": true, "centerTuning": false, "fftHeight": 300, - "frequency": 7375000, - "max": -20.588237762451172, - "maximized": false, + "frequency": 7350000, + "max": -25.0, + "maximized": true, "menuOrder": [ "Source", "Radio", @@ -17,7 +17,7 @@ "Display" ], "menuWidth": 300, - "min": -54.41176986694336, + "min": -63.235294342041016, "moduleInstances": { "AirspyHF+ Source": "airspyhf_source", "Audio Sink": "audio_sink", @@ -43,7 +43,7 @@ "Radio": { "muted": false, "sink": "Audio", - "volume": 0.12755101919174194 + "volume": 0.13265305757522583 }, "Radio 1": { "muted": false, diff --git a/root_dev/soapy_source_config.json b/root_dev/soapy_source_config.json index dc359c3d..8e7495e4 100644 --- a/root_dev/soapy_source_config.json +++ b/root_dev/soapy_source_config.json @@ -1,5 +1,5 @@ { - "device": "", + "device": "AirSpy HF+ [c852435de0224af7]", "devices": { "": { "agc": true, @@ -39,7 +39,8 @@ "sampleRate": 8000000.0 }, "Microphone (Realtek High Definition Audio)": { - "sampleRate": 96000.0 + "agc": false, + "sampleRate": 44100.0 }, "PulseAudio": { "sampleRate": 96000.0