kopia lustrzana https://github.com/f4exb/sdrangel
				
				
				
			Merge pull request #2245 from DreamNik/fix_warnings_and_android_issues
Fix warnings and android issuespull/2254/head
						commit
						d6773eafb3
					
				| 
						 | 
				
			
			@ -269,6 +269,14 @@ else()
 | 
			
		|||
endif()
 | 
			
		||||
set(INSTALL_PLUGINS_DIR "${INSTALL_LIB_DIR}/plugins")
 | 
			
		||||
set(INSTALL_PLUGINSSRV_DIR "${INSTALL_LIB_DIR}/pluginssrv")
 | 
			
		||||
 | 
			
		||||
if(ANDROID)
 | 
			
		||||
  set(PLUGINS_PREFIX    "sdrangel_plugins_")
 | 
			
		||||
  set(PLUGINSSRV_PREFIX "sdrangel_pluginssrv_")
 | 
			
		||||
else()
 | 
			
		||||
  set(PLUGINS_PREFIX    "")
 | 
			
		||||
  set(PLUGINSSRV_PREFIX "")
 | 
			
		||||
endif()
 | 
			
		||||
set(EXTERNAL_BUILD_LIBRARIES "${CMAKE_BINARY_DIR}/external")
 | 
			
		||||
 | 
			
		||||
# custom libraries
 | 
			
		||||
| 
						 | 
				
			
			@ -579,6 +587,7 @@ elseif(ANDROID)
 | 
			
		|||
      CACHE INTERNAL ""
 | 
			
		||||
    )
 | 
			
		||||
  endif()
 | 
			
		||||
  add_compile_definitions(ANDROID)
 | 
			
		||||
endif()
 | 
			
		||||
 | 
			
		||||
# When building a bundle on MacOS, we want to keep build paths in the library
 | 
			
		||||
| 
						 | 
				
			
			@ -659,6 +668,7 @@ if (BUILD_GUI)
 | 
			
		|||
        if (ENABLE_QT6)
 | 
			
		||||
            find_package(Qt6
 | 
			
		||||
                           REQUIRED COMPONENTS
 | 
			
		||||
                            Location
 | 
			
		||||
                            OpenGL
 | 
			
		||||
                            OpenGLWidgets
 | 
			
		||||
                            Quick
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -27,9 +27,14 @@ set_target_properties(soapysdrdevice
 | 
			
		|||
 | 
			
		||||
target_link_libraries(soapysdrdevice
 | 
			
		||||
    ${SOAPYSDR_LINK_LIBRARIES}
 | 
			
		||||
    ${SOAPYSDR_LIBRARIES}
 | 
			
		||||
    sdrbase
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
target_link_directories(soapysdrdevice PRIVATE
 | 
			
		||||
    ${SOAPYSDR_LIBRARY_DIRS}
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
if(SOAPYSDR_EXTERNAL AND NOT LINUX)
 | 
			
		||||
    add_dependencies(soapysdrdevice soapysdr)
 | 
			
		||||
endif()
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -85,8 +85,9 @@ struct FT8_API cdecode
 | 
			
		|||
// total transmission time is 12.64 seconds
 | 
			
		||||
 | 
			
		||||
// tunable parameters
 | 
			
		||||
struct FT8_API FT8Params
 | 
			
		||||
class FT8_API FT8Params
 | 
			
		||||
{
 | 
			
		||||
public:
 | 
			
		||||
    int nthreads;            // number of parallel threads, for multi-core
 | 
			
		||||
    int npasses_one;         // number of spectral subtraction passes
 | 
			
		||||
    int npasses_two;         // number of spectral subtraction passes
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -94,7 +94,7 @@ void HttpConnectionHandlerPool::cleanup()
 | 
			
		|||
            if (++idleCounter > maxIdleHandlers)
 | 
			
		||||
            {
 | 
			
		||||
                pool.removeOne(handler);
 | 
			
		||||
                qDebug("HttpConnectionHandlerPool: Removed connection handler (%p), pool size is now %i",handler,pool.size());
 | 
			
		||||
                qDebug("HttpConnectionHandlerPool: Removed connection handler (%p), pool size is now %i",handler,(int)pool.size());
 | 
			
		||||
                delete handler;
 | 
			
		||||
                break; // remove only one handler in each interval
 | 
			
		||||
            }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -35,7 +35,7 @@ StaticFileController::StaticFileController(QSettings* settings, QObject* parent)
 | 
			
		|||
    maxCachedFileSize=settings->value("maxCachedFileSize","65536").toInt();
 | 
			
		||||
    cache.setMaxCost(settings->value("cacheSize","1000000").toInt());
 | 
			
		||||
    cacheTimeout=settings->value("cacheTime","60000").toInt();
 | 
			
		||||
    qDebug("StaticFileController: cache timeout=%i, size=%i",cacheTimeout,cache.maxCost());
 | 
			
		||||
    qDebug("StaticFileController: cache timeout=%i, size=%i",cacheTimeout,(int)cache.maxCost());
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
StaticFileController::StaticFileController(const HttpDocrootSettings& settings, QObject* parent)
 | 
			
		||||
| 
						 | 
				
			
			@ -56,7 +56,7 @@ StaticFileController::StaticFileController(const HttpDocrootSettings& settings,
 | 
			
		|||
    maxCachedFileSize=settings.maxCachedFileSize;
 | 
			
		||||
    cache.setMaxCost(settings.cacheSize);
 | 
			
		||||
    cacheTimeout=settings.cacheTime;
 | 
			
		||||
    qDebug("StaticFileController: cache timeout=%i, size=%i",cacheTimeout,cache.maxCost());
 | 
			
		||||
    qDebug("StaticFileController: cache timeout=%i, size=%i",cacheTimeout,(int)cache.maxCost());
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void StaticFileController::service(HttpRequest& request, HttpResponse& response)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -239,7 +239,7 @@ constexpr T to_int(uint8_t v)
 | 
			
		|||
{
 | 
			
		||||
    constexpr auto MAX_LOCAL_INPUT = (1 << (n - 1));
 | 
			
		||||
    constexpr auto NEGATIVE_OFFSET = std::numeric_limits<typename std::make_unsigned<T>::type>::max() - (MAX_LOCAL_INPUT - 1);
 | 
			
		||||
    T r = v & (1 << (n - 1)) ? NEGATIVE_OFFSET : 0;
 | 
			
		||||
    T r = v & (1 << (n - 1)) ? (T)NEGATIVE_OFFSET : 0;
 | 
			
		||||
    return r + (v & (MAX_LOCAL_INPUT - 1));
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -34,12 +34,12 @@ if (NOT SERVER_MODE)
 | 
			
		|||
        beamsteeringcwmodgui.h
 | 
			
		||||
    )
 | 
			
		||||
 | 
			
		||||
    set(TARGET_NAME beamsteeringcwmod)
 | 
			
		||||
    set(TARGET_NAME ${PLUGINS_PREFIX}beamsteeringcwmod)
 | 
			
		||||
    set(TARGET_LIB "Qt::Widgets")
 | 
			
		||||
    set(TARGET_LIB_GUI "sdrgui")
 | 
			
		||||
    set(INSTALL_FOLDER ${INSTALL_PLUGINS_DIR})
 | 
			
		||||
else()
 | 
			
		||||
    set(TARGET_NAME beamsteeringcwmodsrv)
 | 
			
		||||
    set(TARGET_NAME ${PLUGINSSRV_PREFIX}beamsteeringcwmodsrv)
 | 
			
		||||
    set(TARGET_LIB "")
 | 
			
		||||
    set(TARGET_LIB_GUI "")
 | 
			
		||||
    set(INSTALL_FOLDER ${INSTALL_PLUGINSSRV_DIR})
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -155,8 +155,6 @@ private:
 | 
			
		|||
    BeamSteeringCWModBaseband* m_basebandSource;
 | 
			
		||||
    QMutex m_mutex;
 | 
			
		||||
    bool m_running;
 | 
			
		||||
    BasebandSampleSink* m_spectrumSink;
 | 
			
		||||
    BasebandSampleSink* m_scopeSink;
 | 
			
		||||
    BeamSteeringCWModSettings m_settings;
 | 
			
		||||
 | 
			
		||||
    QNetworkAccessManager *m_networkManager;
 | 
			
		||||
| 
						 | 
				
			
			@ -164,8 +162,6 @@ private:
 | 
			
		|||
 | 
			
		||||
    int64_t m_frequencyOffset;
 | 
			
		||||
    uint32_t m_basebandSampleRate;
 | 
			
		||||
    int m_count0;
 | 
			
		||||
    int m_count1;
 | 
			
		||||
 | 
			
		||||
   	bool handleMessage(const Message& cmd) final; //!< Processing of a message. Returns true if message has actually been processed
 | 
			
		||||
    void applySettings(const BeamSteeringCWModSettings& settings, bool force = false);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -38,12 +38,12 @@ if (NOT SERVER_MODE)
 | 
			
		|||
        doa2compass.cpp
 | 
			
		||||
    )
 | 
			
		||||
 | 
			
		||||
    set(TARGET_NAME doa2)
 | 
			
		||||
    set(TARGET_NAME ${PLUGINS_PREFIX}doa2)
 | 
			
		||||
    set(TARGET_LIB "Qt::Widgets")
 | 
			
		||||
    set(TARGET_LIB_GUI "sdrgui")
 | 
			
		||||
    set(INSTALL_FOLDER ${INSTALL_PLUGINS_DIR})
 | 
			
		||||
else()
 | 
			
		||||
    set(TARGET_NAME doa2srv)
 | 
			
		||||
    set(TARGET_NAME ${PLUGINSSRV_PREFIX}doa2srv)
 | 
			
		||||
    set(TARGET_LIB "")
 | 
			
		||||
    set(TARGET_LIB_GUI "")
 | 
			
		||||
    set(INSTALL_FOLDER ${INSTALL_PLUGINSSRV_DIR})
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -173,8 +173,6 @@ private:
 | 
			
		|||
    int64_t m_frequencyOffset;
 | 
			
		||||
    uint32_t m_deviceSampleRate;
 | 
			
		||||
    qint64 m_deviceCenterFrequency;
 | 
			
		||||
    int m_count0;
 | 
			
		||||
    int m_count1;
 | 
			
		||||
 | 
			
		||||
	bool handleMessage(const Message& cmd) final; //!< Processing of a message. Returns true if message has actually been processed
 | 
			
		||||
    void applySettings(const DOA2Settings& settings, bool force = false);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -264,7 +264,7 @@ bool DOA2Correlator::performFFTProd(
 | 
			
		|||
            m_fft[0]->out() + m_fftSize,
 | 
			
		||||
            m_dataj,
 | 
			
		||||
            m_invFFT->in(),
 | 
			
		||||
            [this](std::complex<float>& a, const std::complex<float>& b) -> std::complex<float> {
 | 
			
		||||
            [](std::complex<float>& a, const std::complex<float>& b) -> std::complex<float> {
 | 
			
		||||
                return (a*b);
 | 
			
		||||
            }
 | 
			
		||||
        );
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -44,9 +44,6 @@ private:
 | 
			
		|||
    int m_dataSize;
 | 
			
		||||
    int m_bufferSize;
 | 
			
		||||
    int m_dataStart;
 | 
			
		||||
 | 
			
		||||
    uint32_t m_log2Decim;
 | 
			
		||||
    uint32_t m_filterChainHash;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -36,12 +36,12 @@ if (NOT SERVER_MODE)
 | 
			
		|||
        interferometergui.h
 | 
			
		||||
    )
 | 
			
		||||
 | 
			
		||||
    set(TARGET_NAME interferometer)
 | 
			
		||||
    set(TARGET_NAME ${PLUGINS_PREFIX}interferometer)
 | 
			
		||||
    set(TARGET_LIB "Qt::Widgets")
 | 
			
		||||
    set(TARGET_LIB_GUI "sdrgui")
 | 
			
		||||
    set(INSTALL_FOLDER ${INSTALL_PLUGINS_DIR})
 | 
			
		||||
else()
 | 
			
		||||
    set(TARGET_NAME interferometersrv)
 | 
			
		||||
    set(TARGET_NAME ${PLUGINSSRV_PREFIX}interferometersrv)
 | 
			
		||||
    set(TARGET_LIB "")
 | 
			
		||||
    set(TARGET_LIB_GUI "")
 | 
			
		||||
    set(INSTALL_FOLDER ${INSTALL_PLUGINSSRV_DIR})
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -193,8 +193,6 @@ private:
 | 
			
		|||
    uint64_t m_centerFrequency;
 | 
			
		||||
    int64_t m_frequencyOffset;
 | 
			
		||||
    uint32_t m_deviceSampleRate;
 | 
			
		||||
    int m_count0;
 | 
			
		||||
    int m_count1;
 | 
			
		||||
 | 
			
		||||
    QList<int> m_localInputDeviceIndexes;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -555,7 +555,7 @@ bool InterferometerCorrelator::performFFTProd(
 | 
			
		|||
            m_fft2[0]->out() + m_fftSize,
 | 
			
		||||
            m_dataj,
 | 
			
		||||
            m_invFFT2->in(),
 | 
			
		||||
            [this](std::complex<float>& a, const std::complex<float>& b) -> std::complex<float> {
 | 
			
		||||
            [](std::complex<float>& a, const std::complex<float>& b) -> std::complex<float> {
 | 
			
		||||
                return (a*b);
 | 
			
		||||
            }
 | 
			
		||||
        );
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -44,9 +44,6 @@ private:
 | 
			
		|||
    int m_dataSize;
 | 
			
		||||
    int m_bufferSize;
 | 
			
		||||
    int m_dataStart;
 | 
			
		||||
 | 
			
		||||
    uint32_t m_log2Decim;
 | 
			
		||||
    uint32_t m_filterChainHash;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -26,7 +26,7 @@ include_directories(
 | 
			
		|||
	${Boost_INCLUDE_DIRS}
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
set(TARGET_NAME chanalyzer)
 | 
			
		||||
set(TARGET_NAME ${PLUGINS_PREFIX}chanalyzer)
 | 
			
		||||
set(INSTALL_FOLDER ${INSTALL_PLUGINS_DIR})
 | 
			
		||||
 | 
			
		||||
add_library(${TARGET_NAME} SHARED
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -33,12 +33,12 @@ if(NOT SERVER_MODE)
 | 
			
		|||
        channelpowergui.h
 | 
			
		||||
    )
 | 
			
		||||
 | 
			
		||||
    set(TARGET_NAME channelpower)
 | 
			
		||||
    set(TARGET_NAME ${PLUGINS_PREFIX}channelpower)
 | 
			
		||||
    set(TARGET_LIB "Qt::Widgets")
 | 
			
		||||
    set(TARGET_LIB_GUI "sdrgui")
 | 
			
		||||
    set(INSTALL_FOLDER ${INSTALL_PLUGINS_DIR})
 | 
			
		||||
else()
 | 
			
		||||
    set(TARGET_NAME channelpowersrv)
 | 
			
		||||
    set(TARGET_NAME ${PLUGINSSRV_PREFIX}channelpowersrv)
 | 
			
		||||
    set(TARGET_LIB "")
 | 
			
		||||
    set(TARGET_LIB_GUI "")
 | 
			
		||||
    set(INSTALL_FOLDER ${INSTALL_PLUGINSSRV_DIR})
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -49,7 +49,7 @@ ChannelPower::ChannelPower(DeviceAPI *deviceAPI) :
 | 
			
		|||
{
 | 
			
		||||
    setObjectName(m_channelId);
 | 
			
		||||
 | 
			
		||||
    m_basebandSink = new ChannelPowerBaseband(this);
 | 
			
		||||
    m_basebandSink = new ChannelPowerBaseband();
 | 
			
		||||
    m_basebandSink->setChannel(this);
 | 
			
		||||
    m_basebandSink->moveToThread(&m_thread);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -25,8 +25,7 @@
 | 
			
		|||
 | 
			
		||||
MESSAGE_CLASS_DEFINITION(ChannelPowerBaseband::MsgConfigureChannelPowerBaseband, Message)
 | 
			
		||||
 | 
			
		||||
ChannelPowerBaseband::ChannelPowerBaseband(ChannelPower *channelPower) :
 | 
			
		||||
    m_sink(channelPower),
 | 
			
		||||
ChannelPowerBaseband::ChannelPowerBaseband() :
 | 
			
		||||
    m_running(false)
 | 
			
		||||
{
 | 
			
		||||
    qDebug("ChannelPowerBaseband::ChannelPowerBaseband");
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -62,7 +62,7 @@ public:
 | 
			
		|||
        { }
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    ChannelPowerBaseband(ChannelPower *channelPower);
 | 
			
		||||
    ChannelPowerBaseband();
 | 
			
		||||
    ~ChannelPowerBaseband();
 | 
			
		||||
    void reset();
 | 
			
		||||
    void startWork();
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -20,8 +20,7 @@
 | 
			
		|||
 | 
			
		||||
#include "channelpowersink.h"
 | 
			
		||||
 | 
			
		||||
ChannelPowerSink::ChannelPowerSink(ChannelPower *channelPower) :
 | 
			
		||||
        m_channelPower(channelPower),
 | 
			
		||||
ChannelPowerSink::ChannelPowerSink() :
 | 
			
		||||
        m_channelSampleRate(10000),
 | 
			
		||||
        m_channelFrequencyOffset(0),
 | 
			
		||||
        m_lowpassFFT(nullptr),
 | 
			
		||||
| 
						 | 
				
			
			@ -41,7 +40,6 @@ ChannelPowerSink::~ChannelPowerSink()
 | 
			
		|||
void ChannelPowerSink::feed(const SampleVector::const_iterator& begin, const SampleVector::const_iterator& end)
 | 
			
		||||
{
 | 
			
		||||
    QMutexLocker mutexLocker(&m_mutex);
 | 
			
		||||
    Complex ci;
 | 
			
		||||
 | 
			
		||||
    for (SampleVector::const_iterator it = begin; it != end; ++it)
 | 
			
		||||
    {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -32,7 +32,7 @@ class ChannelPower;
 | 
			
		|||
 | 
			
		||||
class ChannelPowerSink : public ChannelSampleSink {
 | 
			
		||||
public:
 | 
			
		||||
    ChannelPowerSink(ChannelPower *channelPower);
 | 
			
		||||
    ChannelPowerSink();
 | 
			
		||||
    ~ChannelPowerSink();
 | 
			
		||||
 | 
			
		||||
    virtual void feed(const SampleVector::const_iterator& begin, const SampleVector::const_iterator& end);
 | 
			
		||||
| 
						 | 
				
			
			@ -65,7 +65,6 @@ public:
 | 
			
		|||
 | 
			
		||||
private:
 | 
			
		||||
 | 
			
		||||
    ChannelPower *m_channelPower;
 | 
			
		||||
    ChannelPowerSettings m_settings;
 | 
			
		||||
    ChannelAPI *m_channel;
 | 
			
		||||
    int m_channelSampleRate;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -59,12 +59,12 @@ if(NOT SERVER_MODE)
 | 
			
		|||
        osndb.h
 | 
			
		||||
    )
 | 
			
		||||
 | 
			
		||||
    set(TARGET_NAME demodadsb)
 | 
			
		||||
    set(TARGET_NAME ${PLUGINS_PREFIX}demodadsb)
 | 
			
		||||
    set(TARGET_LIB Qt::Widgets Qt::Quick Qt::QuickWidgets Qt::Positioning Qt::Location Qt::TextToSpeech)
 | 
			
		||||
    set(TARGET_LIB_GUI "sdrgui")
 | 
			
		||||
    set(INSTALL_FOLDER ${INSTALL_PLUGINS_DIR})
 | 
			
		||||
else()
 | 
			
		||||
    set(TARGET_NAME demodadsbsrv)
 | 
			
		||||
    set(TARGET_NAME ${PLUGINSSRV_PREFIX}demodadsbsrv)
 | 
			
		||||
    set(TARGET_LIB "")
 | 
			
		||||
    set(TARGET_LIB_GUI "")
 | 
			
		||||
    set(INSTALL_FOLDER ${INSTALL_PLUGINSSRV_DIR})
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -4991,7 +4991,7 @@ ADSBDemodGUI::ADSBDemodGUI(PluginAPI* pluginAPI, DeviceUISet *deviceUISet, Baseb
 | 
			
		|||
    m_azEl.setLocation(stationLatitude, stationLongitude, stationAltitude);
 | 
			
		||||
 | 
			
		||||
    // These are the default values in sdrbase/settings/preferences.cpp
 | 
			
		||||
    if ((stationLatitude == 49.012423) && (stationLongitude == 8.418125)) {
 | 
			
		||||
    if ((stationLatitude == (float)49.012423) && (stationLongitude == (float)8.418125)) {
 | 
			
		||||
        ui->warning->setText("Please set your antenna location under Preferences > My Position");
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -811,6 +811,8 @@ public:
 | 
			
		|||
    {
 | 
			
		||||
        m_aircraftRegExp.optimize();
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
    virtual ~ModelMatch() = default;
 | 
			
		||||
 | 
			
		||||
    virtual bool match(const QString &aircraft, const QString &manufacturer, QString &model)
 | 
			
		||||
    {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -79,7 +79,6 @@ void ADSBDemodSink::feed(const SampleVector::const_iterator& begin, const Sample
 | 
			
		|||
        for (SampleVector::const_iterator it = begin; it != end; ++it)
 | 
			
		||||
        {
 | 
			
		||||
            Complex c(it->real(), it->imag());
 | 
			
		||||
            Complex ci;
 | 
			
		||||
            c *= m_nco.nextIQ();
 | 
			
		||||
            processOneSample(complexMagSq(c));
 | 
			
		||||
        }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -33,12 +33,12 @@ if(NOT SERVER_MODE)
 | 
			
		|||
        aisdemodgui.h
 | 
			
		||||
    )
 | 
			
		||||
 | 
			
		||||
    set(TARGET_NAME demodais)
 | 
			
		||||
    set(TARGET_NAME ${PLUGINS_PREFIX}demodais)
 | 
			
		||||
    set(TARGET_LIB "Qt::Widgets")
 | 
			
		||||
    set(TARGET_LIB_GUI "sdrgui")
 | 
			
		||||
    set(INSTALL_FOLDER ${INSTALL_PLUGINS_DIR})
 | 
			
		||||
else()
 | 
			
		||||
    set(TARGET_NAME demodaissrv)
 | 
			
		||||
    set(TARGET_NAME ${PLUGINSSRV_PREFIX}demodaissrv)
 | 
			
		||||
    set(TARGET_LIB "")
 | 
			
		||||
    set(TARGET_LIB_GUI "")
 | 
			
		||||
    set(INSTALL_FOLDER ${INSTALL_PLUGINSSRV_DIR})
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -118,8 +118,6 @@ void AISDemodSink::feed(const SampleVector::const_iterator& begin, const SampleV
 | 
			
		|||
 | 
			
		||||
void AISDemodSink::processOneSample(Complex &ci)
 | 
			
		||||
{
 | 
			
		||||
    Complex ca;
 | 
			
		||||
 | 
			
		||||
    // FM demodulation
 | 
			
		||||
    double magsqRaw;
 | 
			
		||||
    Real deviation;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -37,12 +37,12 @@ if(NOT SERVER_MODE)
 | 
			
		|||
        amdemodssbdialog.h
 | 
			
		||||
    )
 | 
			
		||||
 | 
			
		||||
    set(TARGET_NAME demodam)
 | 
			
		||||
    set(TARGET_NAME ${PLUGINS_PREFIX}demodam)
 | 
			
		||||
    set(TARGET_LIB "Qt::Widgets")
 | 
			
		||||
    set(TARGET_LIB_GUI "sdrgui")
 | 
			
		||||
    set(INSTALL_FOLDER ${INSTALL_PLUGINS_DIR})
 | 
			
		||||
else()
 | 
			
		||||
    set(TARGET_NAME demodamsrv)
 | 
			
		||||
    set(TARGET_NAME ${PLUGINSSRV_PREFIX}demodamsrv)
 | 
			
		||||
    set(TARGET_LIB "")
 | 
			
		||||
    set(TARGET_LIB_GUI "")
 | 
			
		||||
    set(INSTALL_FOLDER ${INSTALL_PLUGINSSRV_DIR})
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -663,7 +663,7 @@ void AMDemodGUI::snapClicked()
 | 
			
		|||
    {
 | 
			
		||||
        applySnap();
 | 
			
		||||
 | 
			
		||||
        qint64 value;
 | 
			
		||||
        qint64 value = 0;
 | 
			
		||||
 | 
			
		||||
        if (m_settings.m_frequencyMode == AMDemodSettings::Offset) {
 | 
			
		||||
            value = m_settings.m_inputFrequencyOffset;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -44,12 +44,12 @@ if(NOT SERVER_MODE)
 | 
			
		|||
        aptdemodselectdialog.h
 | 
			
		||||
    )
 | 
			
		||||
 | 
			
		||||
    set(TARGET_NAME demodapt)
 | 
			
		||||
    set(TARGET_NAME ${PLUGINS_PREFIX}demodapt)
 | 
			
		||||
    set(TARGET_LIB "Qt::Widgets")
 | 
			
		||||
    set(TARGET_LIB_GUI "sdrgui")
 | 
			
		||||
    set(INSTALL_FOLDER ${INSTALL_PLUGINS_DIR})
 | 
			
		||||
else()
 | 
			
		||||
    set(TARGET_NAME demodaptsrv)
 | 
			
		||||
    set(TARGET_NAME ${PLUGINSSRV_PREFIX}demodaptsrv)
 | 
			
		||||
    set(TARGET_LIB "")
 | 
			
		||||
    set(TARGET_LIB_GUI "")
 | 
			
		||||
    set(INSTALL_FOLDER ${INSTALL_PLUGINSSRV_DIR})
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -55,7 +55,7 @@ APTDemod::APTDemod(DeviceAPI *deviceAPI) :
 | 
			
		|||
{
 | 
			
		||||
    setObjectName(m_channelId);
 | 
			
		||||
 | 
			
		||||
    m_basebandSink = new APTDemodBaseband(this);
 | 
			
		||||
    m_basebandSink = new APTDemodBaseband();
 | 
			
		||||
    m_basebandSink->moveToThread(&m_thread);
 | 
			
		||||
 | 
			
		||||
    m_imageWorker = new APTDemodImageWorker(this);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -26,8 +26,7 @@
 | 
			
		|||
 | 
			
		||||
MESSAGE_CLASS_DEFINITION(APTDemodBaseband::MsgConfigureAPTDemodBaseband, Message)
 | 
			
		||||
 | 
			
		||||
APTDemodBaseband::APTDemodBaseband(APTDemod *packetDemod) :
 | 
			
		||||
    m_sink(packetDemod),
 | 
			
		||||
APTDemodBaseband::APTDemodBaseband() :
 | 
			
		||||
    m_running(false)
 | 
			
		||||
{
 | 
			
		||||
    qDebug("APTDemodBaseband::APTDemodBaseband");
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -58,7 +58,7 @@ public:
 | 
			
		|||
        { }
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    APTDemodBaseband(APTDemod *packetDemod);
 | 
			
		||||
    APTDemodBaseband();
 | 
			
		||||
    ~APTDemodBaseband();
 | 
			
		||||
    void reset();
 | 
			
		||||
    void startWork();
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -23,8 +23,7 @@
 | 
			
		|||
#include "aptdemod.h"
 | 
			
		||||
#include "aptdemodsink.h"
 | 
			
		||||
 | 
			
		||||
APTDemodSink::APTDemodSink(APTDemod *packetDemod) :
 | 
			
		||||
        m_aptDemod(packetDemod),
 | 
			
		||||
APTDemodSink::APTDemodSink() :
 | 
			
		||||
        m_channelSampleRate(APTDEMOD_AUDIO_SAMPLE_RATE),
 | 
			
		||||
        m_channelFrequencyOffset(0),
 | 
			
		||||
        m_magsqSum(0.0f),
 | 
			
		||||
| 
						 | 
				
			
			@ -33,6 +32,7 @@ APTDemodSink::APTDemodSink(APTDemod *packetDemod) :
 | 
			
		|||
        m_imageWorkerMessageQueue(nullptr),
 | 
			
		||||
        m_samples(nullptr)
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
    m_magsq = 0.0;
 | 
			
		||||
 | 
			
		||||
    applySettings(m_settings, true);
 | 
			
		||||
| 
						 | 
				
			
			@ -129,8 +129,6 @@ void APTDemodSink::feed(const SampleVector::const_iterator& begin, const SampleV
 | 
			
		|||
 | 
			
		||||
void APTDemodSink::processOneSample(Complex &ci)
 | 
			
		||||
{
 | 
			
		||||
    Complex ca;
 | 
			
		||||
 | 
			
		||||
    // FM demodulation
 | 
			
		||||
    double magsqRaw;
 | 
			
		||||
    Real deviation;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -44,7 +44,7 @@ class APTDemod;
 | 
			
		|||
 | 
			
		||||
class APTDemodSink : public ChannelSampleSink {
 | 
			
		||||
public:
 | 
			
		||||
    APTDemodSink(APTDemod *packetDemod);
 | 
			
		||||
    APTDemodSink();
 | 
			
		||||
    ~APTDemodSink();
 | 
			
		||||
 | 
			
		||||
    virtual void feed(const SampleVector::const_iterator& begin, const SampleVector::const_iterator& end);
 | 
			
		||||
| 
						 | 
				
			
			@ -87,7 +87,6 @@ private:
 | 
			
		|||
        double m_magsqPeak;
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    APTDemod *m_aptDemod;
 | 
			
		||||
    APTDemodSettings m_settings;
 | 
			
		||||
    int m_channelSampleRate;
 | 
			
		||||
    int m_channelFrequencyOffset;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -26,7 +26,7 @@ include_directories(
 | 
			
		|||
    ${Boost_INCLUDE_DIRS}
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
set(TARGET_NAME demodatv)
 | 
			
		||||
set(TARGET_NAME ${PLUGINS_PREFIX}demodatv)
 | 
			
		||||
set(INSTALL_FOLDER ${INSTALL_PLUGINS_DIR})
 | 
			
		||||
 | 
			
		||||
add_library(${TARGET_NAME} SHARED
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -101,9 +101,6 @@ struct ATVDemodSettings
 | 
			
		|||
    static float getNominalLineTime(int nbLines, int fps);
 | 
			
		||||
    static float getRFBandwidthDivisor(ATVModulation modulation);
 | 
			
		||||
    static void getBaseValues(int sampleRate, int linesPerSecond, uint32_t& nbPointsPerLine);
 | 
			
		||||
 | 
			
		||||
private:
 | 
			
		||||
    int m_rfSliderDivisor;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
#endif /* PLUGINS_CHANNELRX_DEMODATV_ATVDEMODSETTINGS_H_ */
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -163,7 +163,6 @@ private:
 | 
			
		|||
    int m_hSyncErrorCount;
 | 
			
		||||
 | 
			
		||||
    float prevSample;
 | 
			
		||||
    int m_avgColIndex;
 | 
			
		||||
 | 
			
		||||
    SampleVector m_sampleBuffer;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -44,12 +44,12 @@ if(NOT SERVER_MODE)
 | 
			
		|||
        bfmdemodgui.h
 | 
			
		||||
    )
 | 
			
		||||
 | 
			
		||||
    set(TARGET_NAME demodbfm)
 | 
			
		||||
    set(TARGET_NAME ${PLUGINS_PREFIX}demodbfm)
 | 
			
		||||
    set(TARGET_LIB "Qt::Widgets")
 | 
			
		||||
    set(TARGET_LIB_GUI "sdrgui")
 | 
			
		||||
    set(INSTALL_FOLDER ${INSTALL_PLUGINS_DIR})
 | 
			
		||||
else()
 | 
			
		||||
    set(TARGET_NAME demodbfmsrv)
 | 
			
		||||
    set(TARGET_NAME ${PLUGINSSRV_PREFIX}demodbfmsrv)
 | 
			
		||||
    set(TARGET_LIB "")
 | 
			
		||||
    set(TARGET_LIB_GUI "")
 | 
			
		||||
    set(INSTALL_FOLDER ${INSTALL_PLUGINSSRV_DIR})
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -467,7 +467,6 @@ void RDSParser::decode_type0(unsigned int *group, bool B)
 | 
			
		|||
{
 | 
			
		||||
	unsigned int af_code_1 = 0;
 | 
			
		||||
	unsigned int af_code_2 = 0;
 | 
			
		||||
	unsigned int  no_af    = 0;
 | 
			
		||||
	double af_1            = 0;
 | 
			
		||||
	double af_2            = 0;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -534,7 +533,7 @@ void RDSParser::decode_type0(unsigned int *group, bool B)
 | 
			
		|||
            // @TODO: Find proper header or STL on OSX
 | 
			
		||||
			auto res = m_g0_alt_freq.insert(af_1/1e3);
 | 
			
		||||
			m_g0_af_updated = m_g0_af_updated || res.second;
 | 
			
		||||
			no_af += 1;
 | 
			
		||||
			// no_af += 1;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		if (af_2)
 | 
			
		||||
| 
						 | 
				
			
			@ -542,7 +541,7 @@ void RDSParser::decode_type0(unsigned int *group, bool B)
 | 
			
		|||
            // @TODO: Find proper header or STL on OSX
 | 
			
		||||
            auto res = m_g0_alt_freq.insert(af_2/1e3);
 | 
			
		||||
            m_g0_af_updated = m_g0_af_updated || res.second;
 | 
			
		||||
			no_af += 2;
 | 
			
		||||
			// no_af += 2;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		/*
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -48,12 +48,12 @@ if(NOT SERVER_MODE)
 | 
			
		|||
        ${chirpchat_HEADERS}
 | 
			
		||||
        chirpchatdemodgui.h
 | 
			
		||||
    )
 | 
			
		||||
    set(TARGET_NAME demodchirpchat)
 | 
			
		||||
    set(TARGET_NAME ${PLUGINS_PREFIX}demodchirpchat)
 | 
			
		||||
    set(TARGET_LIB "Qt::Widgets")
 | 
			
		||||
    set(TARGET_LIB_GUI "sdrgui")
 | 
			
		||||
    set(INSTALL_FOLDER ${INSTALL_PLUGINS_DIR})
 | 
			
		||||
else()
 | 
			
		||||
    set(TARGET_NAME demodchirpchatsrv)
 | 
			
		||||
    set(TARGET_NAME ${PLUGINSSRV_PREFIX}demodchirpchatsrv)
 | 
			
		||||
    set(TARGET_LIB "")
 | 
			
		||||
    set(TARGET_LIB_GUI "")
 | 
			
		||||
    set(INSTALL_FOLDER ${INSTALL_PLUGINSSRV_DIR})
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -38,12 +38,12 @@ if(NOT SERVER_MODE)
 | 
			
		|||
        dabdemodgui.h
 | 
			
		||||
    )
 | 
			
		||||
 | 
			
		||||
    set(TARGET_NAME demoddab)
 | 
			
		||||
    set(TARGET_NAME ${PLUGINS_PREFIX}demoddab)
 | 
			
		||||
    set(TARGET_LIB "Qt::Widgets")
 | 
			
		||||
    set(TARGET_LIB_GUI "sdrgui")
 | 
			
		||||
    set(INSTALL_FOLDER ${INSTALL_PLUGINS_DIR})
 | 
			
		||||
else()
 | 
			
		||||
    set(TARGET_NAME demoddabsrv)
 | 
			
		||||
    set(TARGET_NAME ${PLUGINSSRV_PREFIX}demoddabsrv)
 | 
			
		||||
    set(TARGET_LIB "")
 | 
			
		||||
    set(TARGET_LIB_GUI "")
 | 
			
		||||
    set(INSTALL_FOLDER ${INSTALL_PLUGINSSRV_DIR})
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -64,7 +64,7 @@ DABDemod::DABDemod(DeviceAPI *deviceAPI) :
 | 
			
		|||
{
 | 
			
		||||
    setObjectName(m_channelId);
 | 
			
		||||
 | 
			
		||||
    m_basebandSink = new DABDemodBaseband(this);
 | 
			
		||||
    m_basebandSink = new DABDemodBaseband();
 | 
			
		||||
    m_basebandSink->setMessageQueueToChannel(getInputMessageQueue());
 | 
			
		||||
    m_basebandSink->setChannel(this);
 | 
			
		||||
    m_basebandSink->moveToThread(&m_thread);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -28,8 +28,7 @@
 | 
			
		|||
 | 
			
		||||
MESSAGE_CLASS_DEFINITION(DABDemodBaseband::MsgConfigureDABDemodBaseband, Message)
 | 
			
		||||
 | 
			
		||||
DABDemodBaseband::DABDemodBaseband(DABDemod *packetDemod) :
 | 
			
		||||
    m_sink(packetDemod),
 | 
			
		||||
DABDemodBaseband::DABDemodBaseband() :
 | 
			
		||||
    m_running(false)
 | 
			
		||||
{
 | 
			
		||||
    qDebug("DABDemodBaseband::DABDemodBaseband");
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -60,7 +60,7 @@ public:
 | 
			
		|||
        { }
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    DABDemodBaseband(DABDemod *packetDemod);
 | 
			
		||||
    DABDemodBaseband();
 | 
			
		||||
    ~DABDemodBaseband();
 | 
			
		||||
    void reset();
 | 
			
		||||
    void startWork();
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -487,8 +487,7 @@ void DABDemodSink::processOneAudioSample(Complex &ci)
 | 
			
		|||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
DABDemodSink::DABDemodSink(DABDemod *packetDemod) :
 | 
			
		||||
        m_dabDemod(packetDemod),
 | 
			
		||||
DABDemodSink::DABDemodSink() :
 | 
			
		||||
        m_audioSampleRate(48000),
 | 
			
		||||
        m_dabAudioSampleRate(10000), // Unused value to begin with
 | 
			
		||||
        m_channelSampleRate(DABDEMOD_CHANNEL_SAMPLE_RATE),
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -43,7 +43,7 @@ class DABDemod;
 | 
			
		|||
 | 
			
		||||
class DABDemodSink : public ChannelSampleSink {
 | 
			
		||||
public:
 | 
			
		||||
    DABDemodSink(DABDemod *packetDemod);
 | 
			
		||||
    DABDemodSink();
 | 
			
		||||
    ~DABDemodSink();
 | 
			
		||||
 | 
			
		||||
    virtual void feed(const SampleVector::const_iterator& begin, const SampleVector::const_iterator& end);
 | 
			
		||||
| 
						 | 
				
			
			@ -106,7 +106,6 @@ private:
 | 
			
		|||
        double m_magsqPeak;
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    DABDemod *m_dabDemod;
 | 
			
		||||
    DABDemodSettings m_settings;
 | 
			
		||||
    ChannelAPI *m_channel;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -68,7 +68,7 @@ include_directories(
 | 
			
		|||
    ${CMAKE_SOURCE_DIR}/swagger/sdrangel/code/qt5/client
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
set(TARGET_NAME demoddatv)
 | 
			
		||||
set(TARGET_NAME ${PLUGINS_PREFIX}demoddatv)
 | 
			
		||||
set(INSTALL_FOLDER ${INSTALL_PLUGINS_DIR})
 | 
			
		||||
 | 
			
		||||
add_library(${TARGET_NAME} SHARED
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1096,12 +1096,12 @@ void DATVDemodSink::InitDATVS2Framework()
 | 
			
		|||
    p_vbitcount= new leansdr::pipebuf<int>(m_objScheduler, "Bits processed", BUF_S2PACKETS);
 | 
			
		||||
    p_verrcount = new leansdr::pipebuf<int>(m_objScheduler, "Bits corrected", BUF_S2PACKETS);
 | 
			
		||||
 | 
			
		||||
    bool commandFileValid = false;
 | 
			
		||||
    // bool commandFileValid = false;
 | 
			
		||||
 | 
			
		||||
    if (QFileInfo::exists(m_settings.m_softLDPCToolPath))
 | 
			
		||||
    {
 | 
			
		||||
        QFileInfo fileInfo = QFileInfo(m_settings.m_softLDPCToolPath);
 | 
			
		||||
        commandFileValid = fileInfo.isExecutable();
 | 
			
		||||
        // commandFileValid = fileInfo.isExecutable();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if (m_settings.m_softLDPC /*&& commandFileValid*/)
 | 
			
		||||
| 
						 | 
				
			
			@ -1195,11 +1195,6 @@ void DATVDemodSink::InitDATVS2Framework()
 | 
			
		|||
 | 
			
		||||
void DATVDemodSink::feed(const SampleVector::const_iterator& begin, const SampleVector::const_iterator& end)
 | 
			
		||||
{
 | 
			
		||||
    float fltI;
 | 
			
		||||
    float fltQ;
 | 
			
		||||
    fftfilt::cmplx *objRF;
 | 
			
		||||
    int intRFOut;
 | 
			
		||||
    int lngWritable=0;
 | 
			
		||||
    leansdr::s2_frame_receiver<leansdr::f32, leansdr::llr_ss> *objDemodulatorDVBS2 =
 | 
			
		||||
        (leansdr::s2_frame_receiver<leansdr::f32, leansdr::llr_ss> *) m_objDemodulatorDVBS2;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -333,8 +333,8 @@ private:
 | 
			
		|||
    Interpolator m_interpolator;
 | 
			
		||||
    Real m_interpolatorDistance;
 | 
			
		||||
    Real m_interpolatorDistanceRemain;
 | 
			
		||||
    static const int m_interpolatorPhaseSteps = 4;      // Higher than these two values will struggle to run in real-time
 | 
			
		||||
    static const int m_interpolatorTapsPerPhase = 3.5f; // without gaining much improvement in PER
 | 
			
		||||
    static constexpr int m_interpolatorPhaseSteps = 4;      // Higher than these two values will struggle to run in real-time
 | 
			
		||||
    static constexpr float m_interpolatorTapsPerPhase = 3.5f; // without gaining much improvement in PER
 | 
			
		||||
 | 
			
		||||
    bool m_blnInitialized;
 | 
			
		||||
    bool m_blnRenderingVideo;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -279,7 +279,11 @@ bool DATVideoRender::preprocessStream()
 | 
			
		|||
    m_metaData.Width = m_videoDecoderCtx->width;
 | 
			
		||||
    m_metaData.Height = m_videoDecoderCtx->height;
 | 
			
		||||
    m_metaData.BitRate = m_videoDecoderCtx->bit_rate;
 | 
			
		||||
#if LIBAVUTIL_VERSION_MAJOR < 59
 | 
			
		||||
    m_metaData.Channels = m_videoDecoderCtx->channels;
 | 
			
		||||
#else
 | 
			
		||||
    m_metaData.Channels = m_videoDecoderCtx->ch_layout.nb_channels;
 | 
			
		||||
#endif
 | 
			
		||||
    m_metaData.CodecDescription = QString("%1").arg(videoCodec->long_name);
 | 
			
		||||
    m_metaData.OK_VideoStream = true;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -305,8 +309,13 @@ bool DATVideoRender::preprocessStream()
 | 
			
		|||
        //m_audioDecoderCtx = m_formatCtx->streams[m_audioStreamIndex]->codec; // old style
 | 
			
		||||
 | 
			
		||||
        qDebug() << "DATVideoRender::preprocessStream: audio: "
 | 
			
		||||
#if LIBAVUTIL_VERSION_MAJOR < 59
 | 
			
		||||
        << " channels: " << m_audioDecoderCtx->channels
 | 
			
		||||
        << " channel_layout: " << m_audioDecoderCtx->channel_layout
 | 
			
		||||
#else
 | 
			
		||||
        << " channels: " << m_audioDecoderCtx->ch_layout.nb_channels
 | 
			
		||||
        << " channel_layout: " << m_audioDecoderCtx->ch_layout.u.mask
 | 
			
		||||
#endif
 | 
			
		||||
        << " sample_rate: " << m_audioDecoderCtx->sample_rate
 | 
			
		||||
        << " sample_fmt: " << m_audioDecoderCtx->sample_fmt
 | 
			
		||||
        << " codec_id: "<< m_audioDecoderCtx->codec_id;
 | 
			
		||||
| 
						 | 
				
			
			@ -625,10 +634,16 @@ void DATVideoRender::setResampler()
 | 
			
		|||
    }
 | 
			
		||||
 | 
			
		||||
    m_audioSWR = swr_alloc();
 | 
			
		||||
#if LIBAVUTIL_VERSION_MAJOR < 59
 | 
			
		||||
    av_opt_set_int(m_audioSWR, "in_channel_count",  m_audioDecoderCtx->channels, 0);
 | 
			
		||||
    av_opt_set_int(m_audioSWR, "out_channel_count", 2, 0);
 | 
			
		||||
    av_opt_set_int(m_audioSWR, "in_channel_layout",  m_audioDecoderCtx->channel_layout, 0);
 | 
			
		||||
    av_opt_set_int(m_audioSWR, "out_channel_layout", AV_CH_LAYOUT_STEREO, 0);
 | 
			
		||||
#else
 | 
			
		||||
    AVChannelLayout out_chlayout = AV_CHANNEL_LAYOUT_STEREO;
 | 
			
		||||
    av_opt_set_chlayout(m_audioSWR, "in_chlayout", &m_audioDecoderCtx->ch_layout, 0);
 | 
			
		||||
    av_opt_set_chlayout(m_audioSWR, "out_chlayout",  &out_chlayout, 0);
 | 
			
		||||
#endif
 | 
			
		||||
    av_opt_set_int(m_audioSWR, "in_sample_rate", m_audioDecoderCtx->sample_rate, 0);
 | 
			
		||||
    av_opt_set_int(m_audioSWR, "out_sample_rate", m_audioSampleRate, 0);
 | 
			
		||||
    av_opt_set_sample_fmt(m_audioSWR, "in_sample_fmt",  m_audioDecoderCtx->sample_fmt, 0);
 | 
			
		||||
| 
						 | 
				
			
			@ -637,10 +652,17 @@ void DATVideoRender::setResampler()
 | 
			
		|||
    swr_init(m_audioSWR);
 | 
			
		||||
 | 
			
		||||
    qDebug() << "DATVideoRender::setResampler: "
 | 
			
		||||
#if LIBAVUTIL_VERSION_MAJOR < 59
 | 
			
		||||
        << " in_channel_count: " <<  m_audioDecoderCtx->channels
 | 
			
		||||
        << " out_channel_count: " << 2
 | 
			
		||||
        << " in_channel_layout: " <<  m_audioDecoderCtx->channel_layout
 | 
			
		||||
        << " out_channel_layout: " <<  AV_CH_LAYOUT_STEREO
 | 
			
		||||
#else
 | 
			
		||||
        << " in_channel_count: " <<  m_audioDecoderCtx->ch_layout.nb_channels
 | 
			
		||||
        << " out_channel_count: " << 2
 | 
			
		||||
        << " in_channel_layout: " <<  m_audioDecoderCtx->ch_layout.u.mask
 | 
			
		||||
        << " out_channel_layout: " <<  out_chlayout.u.mask
 | 
			
		||||
#endif
 | 
			
		||||
        << " in_sample_rate: " << m_audioDecoderCtx->sample_rate
 | 
			
		||||
        << " out_sample_rate: " << m_audioSampleRate
 | 
			
		||||
        << " in_sample_fmt: " << m_audioDecoderCtx->sample_fmt
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -58,7 +58,7 @@ struct bitvect
 | 
			
		|||
        for (int i = 0; i < nw; ++i)
 | 
			
		||||
            v[i] = a.v[i];
 | 
			
		||||
        if (M < N)
 | 
			
		||||
            for (int i = a.NW; i < NW; ++i)
 | 
			
		||||
            for (size_t i = a.NW; i < NW; ++i)
 | 
			
		||||
                v[i] = 0;
 | 
			
		||||
        if (M > N)
 | 
			
		||||
            truncate_to_N();
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -458,6 +458,8 @@ struct s2_frame_transmitter : runnable
 | 
			
		|||
        std::complex<T> *pout
 | 
			
		||||
    )
 | 
			
		||||
    {
 | 
			
		||||
        (void)mcinfo;
 | 
			
		||||
        
 | 
			
		||||
        std::complex<T> *pout0 = pout; // For sanity check
 | 
			
		||||
        // PLHEADER: SOF AND PLSCODE
 | 
			
		||||
        // EN 302 307-1 section 5.5.2 PL signalling
 | 
			
		||||
| 
						 | 
				
			
			@ -2584,6 +2586,8 @@ struct s2_deinterleaver : runnable
 | 
			
		|||
    static inline void split_symbol(const llr_ss &ps,
 | 
			
		||||
                                    hard_sb accs[/*bps*/], int nacc)
 | 
			
		||||
    {
 | 
			
		||||
        (void)nacc;
 | 
			
		||||
        
 | 
			
		||||
        if (MSB_FIRST)
 | 
			
		||||
        {
 | 
			
		||||
            for (int b = 0; b < BPS; ++b) {
 | 
			
		||||
| 
						 | 
				
			
			@ -3833,10 +3837,6 @@ struct s2_fecdec_helper : runnable
 | 
			
		|||
    // Receive a finished job.
 | 
			
		||||
    void receive_frame(const helper_job *job)
 | 
			
		||||
    {
 | 
			
		||||
        // Read corrected frame from helper
 | 
			
		||||
        const s2_pls *pls = &job->pls;
 | 
			
		||||
        int iosize = (pls->framebits() / 8) * sizeof(ldpc_buf[0]);
 | 
			
		||||
 | 
			
		||||
        // Non blocking read - will do the next time if no adata is available
 | 
			
		||||
        if (job->h->m_worker->dataAvailable())
 | 
			
		||||
        {
 | 
			
		||||
| 
						 | 
				
			
			@ -4267,7 +4267,6 @@ private:
 | 
			
		|||
                    // 188     =  waiting for CRC
 | 
			
		||||
    uint8_t leftover[188];
 | 
			
		||||
    static const int MAX_TS_PER_BBFRAME = fec_info::KBCH_MAX / 8 / 188 + 1;
 | 
			
		||||
    bool locked;
 | 
			
		||||
    pipereader<bbframe> in;
 | 
			
		||||
    pipewriter<tspacket> out;
 | 
			
		||||
    int current_state;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -544,6 +544,7 @@ struct serializer : runnable
 | 
			
		|||
        in(_in),
 | 
			
		||||
        out(_out, nout)
 | 
			
		||||
    {
 | 
			
		||||
        (void)sch;
 | 
			
		||||
        if (nin * sizeof(Tin) != nout * sizeof(Tout)) {
 | 
			
		||||
            fail("serializer: incompatible sizes");
 | 
			
		||||
        }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -414,7 +414,6 @@ struct simple_agc : runnable
 | 
			
		|||
            float gain = estimated ? out_rms / sqrtf(estimated) : 0;
 | 
			
		||||
            pin = in.rd();
 | 
			
		||||
            std::complex<T> *pout = out.wr();
 | 
			
		||||
            float bwcomp = 1 - bw;
 | 
			
		||||
 | 
			
		||||
            for (; pin < pend; ++pin, ++pout)
 | 
			
		||||
            {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -33,12 +33,12 @@ if(NOT SERVER_MODE)
 | 
			
		|||
        dscdemodgui.h
 | 
			
		||||
    )
 | 
			
		||||
 | 
			
		||||
    set(TARGET_NAME demoddsc)
 | 
			
		||||
    set(TARGET_NAME ${PLUGINS_PREFIX}demoddsc)
 | 
			
		||||
    set(TARGET_LIB "Qt::Widgets")
 | 
			
		||||
    set(TARGET_LIB_GUI "sdrgui")
 | 
			
		||||
    set(INSTALL_FOLDER ${INSTALL_PLUGINS_DIR})
 | 
			
		||||
else()
 | 
			
		||||
    set(TARGET_NAME demoddscsrv)
 | 
			
		||||
    set(TARGET_NAME ${PLUGINSSRV_PREFIX}demoddscsrv)
 | 
			
		||||
    set(TARGET_LIB "")
 | 
			
		||||
    set(TARGET_LIB_GUI "")
 | 
			
		||||
    set(INSTALL_FOLDER ${INSTALL_PLUGINSSRV_DIR})
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -767,7 +767,7 @@ void DSCDemodGUI::customContextMenuRequested(QPoint pos)
 | 
			
		|||
                    QAction* sendAreaToMapAction = new QAction(QString("Display %1 on map").arg(address), tableContextMenu);
 | 
			
		||||
                    connect(sendAreaToMapAction, &QAction::triggered, this, [this, name, address, info]()->void {
 | 
			
		||||
                        sendAreaToMapFeature(name, address, info);
 | 
			
		||||
                        QTimer::singleShot(500, [this, name] {
 | 
			
		||||
                        QTimer::singleShot(500, [ name] {
 | 
			
		||||
                            FeatureWebAPIUtils::mapFind(name);
 | 
			
		||||
                        });
 | 
			
		||||
                    });
 | 
			
		||||
| 
						 | 
				
			
			@ -776,7 +776,7 @@ void DSCDemodGUI::customContextMenuRequested(QPoint pos)
 | 
			
		|||
                else
 | 
			
		||||
                {
 | 
			
		||||
                    QAction* findAreaOnMapAction = new QAction(QString("Center map on %1").arg(address), tableContextMenu);
 | 
			
		||||
                    connect(findAreaOnMapAction, &QAction::triggered, this, [this, name]()->void {
 | 
			
		||||
                    connect(findAreaOnMapAction, &QAction::triggered, this, [ name]()->void {
 | 
			
		||||
                        FeatureWebAPIUtils::mapFind(name);
 | 
			
		||||
                    });
 | 
			
		||||
                    tableContextMenu->addAction(findAreaOnMapAction);
 | 
			
		||||
| 
						 | 
				
			
			@ -814,7 +814,7 @@ void DSCDemodGUI::customContextMenuRequested(QPoint pos)
 | 
			
		|||
                            if (sampleSource)
 | 
			
		||||
                            {
 | 
			
		||||
                                QAction* tuneRxAction = new QAction(QString("Tune SSB Demod %1:%2 to %3").arg(deviceSetIndex).arg(chi).arg(rxFormatted), tableContextMenu);
 | 
			
		||||
                                connect(tuneRxAction, &QAction::triggered, this, [this, deviceSetIndex, chi, rxFreq, sampleSource]()->void {
 | 
			
		||||
                                connect(tuneRxAction, &QAction::triggered, this, [deviceSetIndex, chi, rxFreq, sampleSource]()->void {
 | 
			
		||||
 | 
			
		||||
                                    int bw = sampleSource->getSampleRate();
 | 
			
		||||
                                    quint64 cf = sampleSource->getCenterFrequency();
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -42,12 +42,12 @@ if(NOT SERVER_MODE)
 | 
			
		|||
        dsdstatustextdialog.h
 | 
			
		||||
    )
 | 
			
		||||
 | 
			
		||||
    set(TARGET_NAME demoddsd)
 | 
			
		||||
    set(TARGET_NAME ${PLUGINS_PREFIX}demoddsd)
 | 
			
		||||
    set(TARGET_LIB "Qt::Widgets")
 | 
			
		||||
    set(TARGET_LIB_GUI "sdrgui")
 | 
			
		||||
    set(INSTALL_FOLDER ${INSTALL_PLUGINS_DIR})
 | 
			
		||||
else()
 | 
			
		||||
    set(TARGET_NAME demoddsdsrv)
 | 
			
		||||
    set(TARGET_NAME ${PLUGINSSRV_PREFIX}demoddsdsrv)
 | 
			
		||||
    set(TARGET_LIB "")
 | 
			
		||||
    set(TARGET_LIB_GUI "")
 | 
			
		||||
    set(INSTALL_FOLDER ${INSTALL_PLUGINSSRV_DIR})
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -35,12 +35,12 @@ if(NOT SERVER_MODE)
 | 
			
		|||
        endoftraindemodgui.h
 | 
			
		||||
    )
 | 
			
		||||
 | 
			
		||||
    set(TARGET_NAME demodendoftrain)
 | 
			
		||||
    set(TARGET_NAME ${PLUGINS_PREFIX}demodendoftrain)
 | 
			
		||||
    set(TARGET_LIB "Qt::Widgets")
 | 
			
		||||
    set(TARGET_LIB_GUI "sdrgui")
 | 
			
		||||
    set(INSTALL_FOLDER ${INSTALL_PLUGINS_DIR})
 | 
			
		||||
else()
 | 
			
		||||
    set(TARGET_NAME demodendoftrainsrv)
 | 
			
		||||
    set(TARGET_NAME ${PLUGINSSRV_PREFIX}demodendoftrainsrv)
 | 
			
		||||
    set(TARGET_LIB "")
 | 
			
		||||
    set(TARGET_LIB_GUI "")
 | 
			
		||||
    set(INSTALL_FOLDER ${INSTALL_PLUGINSSRV_DIR})
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -119,8 +119,6 @@ void EndOfTrainDemodSink::feed(const SampleVector::const_iterator& begin, const
 | 
			
		|||
 | 
			
		||||
void EndOfTrainDemodSink::processOneSample(Complex &ci)
 | 
			
		||||
{
 | 
			
		||||
    Complex ca;
 | 
			
		||||
 | 
			
		||||
    // FM demodulation
 | 
			
		||||
    double magsqRaw;
 | 
			
		||||
    Real deviation;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -33,12 +33,12 @@ if(NOT SERVER_MODE)
 | 
			
		|||
        ${freedv_HEADERS}
 | 
			
		||||
        freedvdemodgui.h
 | 
			
		||||
    )
 | 
			
		||||
    set(TARGET_NAME demodfreedv)
 | 
			
		||||
    set(TARGET_NAME ${PLUGINS_PREFIX}demodfreedv)
 | 
			
		||||
    set(TARGET_LIB "Qt::Widgets")
 | 
			
		||||
    set(TARGET_LIB_GUI "sdrgui")
 | 
			
		||||
    set(INSTALL_FOLDER ${INSTALL_PLUGINS_DIR})
 | 
			
		||||
else()
 | 
			
		||||
    set(TARGET_NAME demodfreedvsrv)
 | 
			
		||||
    set(TARGET_NAME ${PLUGINSSRV_PREFIX}demodfreedvsrv)
 | 
			
		||||
    set(TARGET_LIB "")
 | 
			
		||||
    set(TARGET_LIB_GUI "")
 | 
			
		||||
    set(INSTALL_FOLDER ${INSTALL_PLUGINSSRV_DIR})
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -43,12 +43,12 @@ if(NOT SERVER_MODE)
 | 
			
		|||
        ft8demodfilterproxy.h
 | 
			
		||||
        ft8demodsettingsdialog.h
 | 
			
		||||
    )
 | 
			
		||||
    set(TARGET_NAME demodft8)
 | 
			
		||||
    set(TARGET_NAME ${PLUGINS_PREFIX}demodft8)
 | 
			
		||||
    set(TARGET_LIB "Qt::Widgets")
 | 
			
		||||
    set(TARGET_LIB_GUI "sdrgui")
 | 
			
		||||
    set(INSTALL_FOLDER ${INSTALL_PLUGINS_DIR})
 | 
			
		||||
else()
 | 
			
		||||
    set(TARGET_NAME demodft8srv)
 | 
			
		||||
    set(TARGET_NAME ${PLUGINSSRV_PREFIX}demodft8srv)
 | 
			
		||||
    set(TARGET_LIB "")
 | 
			
		||||
    set(TARGET_LIB_GUI "")
 | 
			
		||||
    set(INSTALL_FOLDER ${INSTALL_PLUGINSSRV_DIR})
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -697,7 +697,7 @@ void FT8Demod::sendChannelSettings(
 | 
			
		|||
    const FT8DemodSettings& settings,
 | 
			
		||||
    bool force)
 | 
			
		||||
{
 | 
			
		||||
    qDebug("FT8Demod::sendChannelSettings: %d pipes", pipes.size());
 | 
			
		||||
    qDebug("FT8Demod::sendChannelSettings: %d pipes", (int)pipes.size());
 | 
			
		||||
 | 
			
		||||
    for (const auto& pipe : pipes)
 | 
			
		||||
    {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -51,8 +51,9 @@ struct FT8DemodBandPreset
 | 
			
		|||
    int m_channelOffset;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
struct FT8DemodSettings
 | 
			
		||||
class FT8DemodSettings
 | 
			
		||||
{
 | 
			
		||||
public:
 | 
			
		||||
    enum MessageCol {
 | 
			
		||||
        MESSAGE_COL_UTC,
 | 
			
		||||
        MESSAGE_COL_TYPE,
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -40,7 +40,6 @@ FT8DemodWorker::FT8Callback::FT8Callback(
 | 
			
		|||
) :
 | 
			
		||||
    m_packing(packing),
 | 
			
		||||
    m_periodTS(periodTS),
 | 
			
		||||
    m_baseFrequency(baseFrequency),
 | 
			
		||||
    m_name(name),
 | 
			
		||||
    m_validCallsigns(nullptr)
 | 
			
		||||
{
 | 
			
		||||
| 
						 | 
				
			
			@ -226,7 +225,7 @@ void FT8DemodWorker::processBuffer(int16_t *buffer, QDateTime periodTS)
 | 
			
		|||
 | 
			
		||||
    m_ft8Decoder.wait(m_decoderTimeBudget + 1.0); // add one second to budget to force quit threads
 | 
			
		||||
    qDebug("FT8DemodWorker::processBuffer: done: at %6.3f %d messages",
 | 
			
		||||
        m_baseFrequency / 1000000.0, ft8Callback.getReportMessage()->getFT8Messages().size());
 | 
			
		||||
        m_baseFrequency / 1000000.0, (int)ft8Callback.getReportMessage()->getFT8Messages().size());
 | 
			
		||||
 | 
			
		||||
    if (m_reportingMessageQueue) {
 | 
			
		||||
        m_reportingMessageQueue->push(new MsgReportFT8Messages(*ft8Callback.getReportMessage()));
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -84,7 +84,6 @@ private:
 | 
			
		|||
        FT8::Packing& m_packing;
 | 
			
		||||
        MsgReportFT8Messages *m_msgReportFT8Messages;
 | 
			
		||||
        const QDateTime& m_periodTS;
 | 
			
		||||
        qint64 m_baseFrequency;
 | 
			
		||||
        QString m_name;
 | 
			
		||||
        const QSet<QString> *m_validCallsigns;
 | 
			
		||||
    };
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -33,12 +33,12 @@ if(NOT SERVER_MODE)
 | 
			
		|||
        ilsdemodgui.h
 | 
			
		||||
    )
 | 
			
		||||
 | 
			
		||||
    set(TARGET_NAME demodils)
 | 
			
		||||
    set(TARGET_NAME ${PLUGINS_PREFIX}demodils)
 | 
			
		||||
    set(TARGET_LIB "Qt::Widgets")
 | 
			
		||||
    set(TARGET_LIB_GUI "sdrgui")
 | 
			
		||||
    set(INSTALL_FOLDER ${INSTALL_PLUGINS_DIR})
 | 
			
		||||
else()
 | 
			
		||||
    set(TARGET_NAME demodilssrv)
 | 
			
		||||
    set(TARGET_NAME ${PLUGINSSRV_PREFIX}demodilssrv)
 | 
			
		||||
    set(TARGET_LIB "")
 | 
			
		||||
    set(TARGET_LIB_GUI "")
 | 
			
		||||
    set(INSTALL_FOLDER ${INSTALL_PLUGINSSRV_DIR})
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -61,7 +61,7 @@ ILSDemod::ILSDemod(DeviceAPI *deviceAPI) :
 | 
			
		|||
{
 | 
			
		||||
    setObjectName(m_channelId);
 | 
			
		||||
 | 
			
		||||
    m_basebandSink = new ILSDemodBaseband(this);
 | 
			
		||||
    m_basebandSink = new ILSDemodBaseband();
 | 
			
		||||
    m_basebandSink->setMessageQueueToChannel(getInputMessageQueue());
 | 
			
		||||
    m_basebandSink->setChannel(this);
 | 
			
		||||
    m_basebandSink->moveToThread(&m_thread);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -27,8 +27,7 @@
 | 
			
		|||
 | 
			
		||||
MESSAGE_CLASS_DEFINITION(ILSDemodBaseband::MsgConfigureILSDemodBaseband, Message)
 | 
			
		||||
 | 
			
		||||
ILSDemodBaseband::ILSDemodBaseband(ILSDemod *packetDemod) :
 | 
			
		||||
    m_sink(packetDemod),
 | 
			
		||||
ILSDemodBaseband::ILSDemodBaseband() :
 | 
			
		||||
    m_running(false)
 | 
			
		||||
{
 | 
			
		||||
    qDebug("ILSDemodBaseband::ILSDemodBaseband");
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -63,7 +63,7 @@ public:
 | 
			
		|||
        { }
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    ILSDemodBaseband(ILSDemod *packetDemod);
 | 
			
		||||
    ILSDemodBaseband();
 | 
			
		||||
    ~ILSDemodBaseband();
 | 
			
		||||
    void reset();
 | 
			
		||||
    void startWork();
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1432,7 +1432,6 @@ void ILSDemodGUI::scanAvailableChannels()
 | 
			
		|||
    MessagePipes& messagePipes = mainCore->getMessagePipes();
 | 
			
		||||
    std::vector<DeviceSet*>& deviceSets = mainCore->getDeviceSets();
 | 
			
		||||
    m_availableChannels.clear();
 | 
			
		||||
    int deviceSetIndex = 0;
 | 
			
		||||
 | 
			
		||||
    for (const auto& deviceSet : deviceSets)
 | 
			
		||||
    {
 | 
			
		||||
| 
						 | 
				
			
			@ -1465,7 +1464,6 @@ void ILSDemodGUI::scanAvailableChannels()
 | 
			
		|||
                }
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        deviceSetIndex++;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -28,10 +28,9 @@
 | 
			
		|||
#include "ilsdemod.h"
 | 
			
		||||
#include "ilsdemodsink.h"
 | 
			
		||||
 | 
			
		||||
ILSDemodSink::ILSDemodSink(ILSDemod *ilsDemod) :
 | 
			
		||||
ILSDemodSink::ILSDemodSink() :
 | 
			
		||||
        m_spectrumSink(nullptr),
 | 
			
		||||
        m_scopeSink(nullptr),
 | 
			
		||||
        m_ilsDemod(ilsDemod),
 | 
			
		||||
        m_channel(nullptr),
 | 
			
		||||
        m_channelSampleRate(ILSDemodSettings::ILSDEMOD_CHANNEL_SAMPLE_RATE),
 | 
			
		||||
        m_channelFrequencyOffset(0),
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -44,7 +44,7 @@ class SpectrumVis;
 | 
			
		|||
 | 
			
		||||
class ILSDemodSink : public ChannelSampleSink {
 | 
			
		||||
public:
 | 
			
		||||
    ILSDemodSink(ILSDemod *packetDemod);
 | 
			
		||||
    ILSDemodSink();
 | 
			
		||||
    ~ILSDemodSink();
 | 
			
		||||
 | 
			
		||||
    virtual void feed(const SampleVector::const_iterator& begin, const SampleVector::const_iterator& end);
 | 
			
		||||
| 
						 | 
				
			
			@ -96,7 +96,6 @@ private:
 | 
			
		|||
 | 
			
		||||
	SpectrumVis* m_spectrumSink;
 | 
			
		||||
    ScopeVis* m_scopeSink;    // Scope GUI to display baseband waveform
 | 
			
		||||
    ILSDemod *m_ilsDemod;
 | 
			
		||||
    ILSDemodSettings m_settings;
 | 
			
		||||
    ChannelAPI *m_channel;
 | 
			
		||||
    int m_channelSampleRate;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -43,12 +43,12 @@ if(NOT SERVER_MODE)
 | 
			
		|||
        m17demodgui.h
 | 
			
		||||
        m17statustextdialog.h
 | 
			
		||||
    )
 | 
			
		||||
    set(TARGET_NAME demodm17)
 | 
			
		||||
    set(TARGET_NAME ${PLUGINS_PREFIX}demodm17)
 | 
			
		||||
    set(TARGET_LIB "Qt::Widgets" Qt::Charts)
 | 
			
		||||
    set(TARGET_LIB_GUI "sdrgui")
 | 
			
		||||
    set(INSTALL_FOLDER ${INSTALL_PLUGINS_DIR})
 | 
			
		||||
else()
 | 
			
		||||
    set(TARGET_NAME demodm17srv)
 | 
			
		||||
    set(TARGET_NAME ${PLUGINSSRV_PREFIX}demodm17srv)
 | 
			
		||||
    set(TARGET_LIB "")
 | 
			
		||||
    set(TARGET_LIB_GUI "")
 | 
			
		||||
    set(INSTALL_FOLDER ${INSTALL_PLUGINSSRV_DIR})
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -33,12 +33,12 @@ if(NOT SERVER_MODE)
 | 
			
		|||
        navtexdemodgui.h
 | 
			
		||||
    )
 | 
			
		||||
 | 
			
		||||
    set(TARGET_NAME demodnavtex)
 | 
			
		||||
    set(TARGET_NAME ${PLUGINS_PREFIX}demodnavtex)
 | 
			
		||||
    set(TARGET_LIB "Qt::Widgets")
 | 
			
		||||
    set(TARGET_LIB_GUI "sdrgui")
 | 
			
		||||
    set(INSTALL_FOLDER ${INSTALL_PLUGINS_DIR})
 | 
			
		||||
else()
 | 
			
		||||
    set(TARGET_NAME demodnavtexsrv)
 | 
			
		||||
    set(TARGET_NAME ${PLUGINSSRV_PREFIX}demodnavtexsrv)
 | 
			
		||||
    set(TARGET_LIB "")
 | 
			
		||||
    set(TARGET_LIB_GUI "")
 | 
			
		||||
    set(INSTALL_FOLDER ${INSTALL_PLUGINSSRV_DIR})
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -53,7 +53,7 @@ NavtexDemod::NavtexDemod(DeviceAPI *deviceAPI) :
 | 
			
		|||
{
 | 
			
		||||
    setObjectName(m_channelId);
 | 
			
		||||
 | 
			
		||||
    m_basebandSink = new NavtexDemodBaseband(this);
 | 
			
		||||
    m_basebandSink = new NavtexDemodBaseband();
 | 
			
		||||
    m_basebandSink->setMessageQueueToChannel(getInputMessageQueue());
 | 
			
		||||
    m_basebandSink->setChannel(this);
 | 
			
		||||
    m_basebandSink->moveToThread(&m_thread);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -26,8 +26,7 @@
 | 
			
		|||
 | 
			
		||||
MESSAGE_CLASS_DEFINITION(NavtexDemodBaseband::MsgConfigureNavtexDemodBaseband, Message)
 | 
			
		||||
 | 
			
		||||
NavtexDemodBaseband::NavtexDemodBaseband(NavtexDemod *navtexDemod) :
 | 
			
		||||
    m_sink(navtexDemod),
 | 
			
		||||
NavtexDemodBaseband::NavtexDemodBaseband() :
 | 
			
		||||
    m_running(false)
 | 
			
		||||
{
 | 
			
		||||
    qDebug("NavtexDemodBaseband::NavtexDemodBaseband");
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -62,7 +62,7 @@ public:
 | 
			
		|||
        { }
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    NavtexDemodBaseband(NavtexDemod *navtexDemod);
 | 
			
		||||
    NavtexDemodBaseband();
 | 
			
		||||
    ~NavtexDemodBaseband();
 | 
			
		||||
    void reset();
 | 
			
		||||
    void startWork();
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -27,8 +27,7 @@
 | 
			
		|||
#include "navtexdemod.h"
 | 
			
		||||
#include "navtexdemodsink.h"
 | 
			
		||||
 | 
			
		||||
NavtexDemodSink::NavtexDemodSink(NavtexDemod *packetDemod) :
 | 
			
		||||
        m_navtexDemod(packetDemod),
 | 
			
		||||
NavtexDemodSink::NavtexDemodSink() :
 | 
			
		||||
        m_channelSampleRate(NavtexDemodSettings::NAVTEXDEMOD_CHANNEL_SAMPLE_RATE),
 | 
			
		||||
        m_channelFrequencyOffset(0),
 | 
			
		||||
        m_magsqSum(0.0f),
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -39,7 +39,7 @@ class ScopeVis;
 | 
			
		|||
 | 
			
		||||
class NavtexDemodSink : public ChannelSampleSink {
 | 
			
		||||
public:
 | 
			
		||||
    NavtexDemodSink(NavtexDemod *packetDemod);
 | 
			
		||||
    NavtexDemodSink();
 | 
			
		||||
    ~NavtexDemodSink();
 | 
			
		||||
 | 
			
		||||
    virtual void feed(const SampleVector::const_iterator& begin, const SampleVector::const_iterator& end);
 | 
			
		||||
| 
						 | 
				
			
			@ -83,7 +83,6 @@ private:
 | 
			
		|||
    };
 | 
			
		||||
 | 
			
		||||
    ScopeVis* m_scopeSink;    // Scope GUI to display baseband waveform
 | 
			
		||||
    NavtexDemod *m_navtexDemod;
 | 
			
		||||
    NavtexDemodSettings m_settings;
 | 
			
		||||
    ChannelAPI *m_channel;
 | 
			
		||||
    int m_channelSampleRate;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -38,12 +38,12 @@ if(NOT SERVER_MODE)
 | 
			
		|||
        nfmdemodgui.h
 | 
			
		||||
    )
 | 
			
		||||
 | 
			
		||||
    set(TARGET_NAME demodnfm)
 | 
			
		||||
    set(TARGET_NAME ${PLUGINS_PREFIX}demodnfm)
 | 
			
		||||
    set(TARGET_LIB "Qt::Widgets")
 | 
			
		||||
    set(TARGET_LIB_GUI "sdrgui")
 | 
			
		||||
    set(INSTALL_FOLDER ${INSTALL_PLUGINS_DIR})
 | 
			
		||||
else()
 | 
			
		||||
    set(TARGET_NAME demodnfmsrv)
 | 
			
		||||
    set(TARGET_NAME ${PLUGINSSRV_PREFIX}demodnfmsrv)
 | 
			
		||||
    set(TARGET_LIB "")
 | 
			
		||||
    set(TARGET_LIB_GUI "")
 | 
			
		||||
    set(INSTALL_FOLDER ${INSTALL_PLUGINSSRV_DIR})
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -33,12 +33,12 @@ if(NOT SERVER_MODE)
 | 
			
		|||
        packetdemodgui.h
 | 
			
		||||
    )
 | 
			
		||||
 | 
			
		||||
    set(TARGET_NAME demodpacket)
 | 
			
		||||
    set(TARGET_NAME ${PLUGINS_PREFIX}demodpacket)
 | 
			
		||||
    set(TARGET_LIB "Qt::Widgets")
 | 
			
		||||
    set(TARGET_LIB_GUI "sdrgui")
 | 
			
		||||
    set(INSTALL_FOLDER ${INSTALL_PLUGINS_DIR})
 | 
			
		||||
else()
 | 
			
		||||
    set(TARGET_NAME demodpacketsrv)
 | 
			
		||||
    set(TARGET_NAME ${PLUGINSSRV_PREFIX}demodpacketsrv)
 | 
			
		||||
    set(TARGET_LIB "")
 | 
			
		||||
    set(TARGET_LIB_GUI "")
 | 
			
		||||
    set(INSTALL_FOLDER ${INSTALL_PLUGINSSRV_DIR})
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -88,8 +88,6 @@ void PacketDemodSink::feed(const SampleVector::const_iterator& begin, const Samp
 | 
			
		|||
 | 
			
		||||
void PacketDemodSink::processOneSample(Complex &ci)
 | 
			
		||||
{
 | 
			
		||||
    Complex ca;
 | 
			
		||||
 | 
			
		||||
    // FM demodulation
 | 
			
		||||
    double magsqRaw;
 | 
			
		||||
    Real deviation;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -36,12 +36,12 @@ if(NOT SERVER_MODE)
 | 
			
		|||
        pagerdemodcharsetdialog.h
 | 
			
		||||
    )
 | 
			
		||||
 | 
			
		||||
    set(TARGET_NAME demodpager)
 | 
			
		||||
    set(TARGET_NAME ${PLUGINS_PREFIX}demodpager)
 | 
			
		||||
    set(TARGET_LIB "Qt::Widgets")
 | 
			
		||||
    set(TARGET_LIB_GUI "sdrgui")
 | 
			
		||||
    set(INSTALL_FOLDER ${INSTALL_PLUGINS_DIR})
 | 
			
		||||
else()
 | 
			
		||||
    set(TARGET_NAME demodpagersrv)
 | 
			
		||||
    set(TARGET_NAME ${PLUGINSSRV_PREFIX}demodpagersrv)
 | 
			
		||||
    set(TARGET_LIB "")
 | 
			
		||||
    set(TARGET_LIB_GUI "")
 | 
			
		||||
    set(INSTALL_FOLDER ${INSTALL_PLUGINSSRV_DIR})
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -46,7 +46,7 @@ PagerDemod::PagerDemod(DeviceAPI *deviceAPI) :
 | 
			
		|||
{
 | 
			
		||||
    setObjectName(m_channelId);
 | 
			
		||||
 | 
			
		||||
    m_basebandSink = new PagerDemodBaseband(this);
 | 
			
		||||
    m_basebandSink = new PagerDemodBaseband();
 | 
			
		||||
    m_basebandSink->setMessageQueueToChannel(getInputMessageQueue());
 | 
			
		||||
    m_basebandSink->setChannel(this);
 | 
			
		||||
    m_basebandSink->moveToThread(&m_thread);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -26,8 +26,7 @@
 | 
			
		|||
 | 
			
		||||
MESSAGE_CLASS_DEFINITION(PagerDemodBaseband::MsgConfigurePagerDemodBaseband, Message)
 | 
			
		||||
 | 
			
		||||
PagerDemodBaseband::PagerDemodBaseband(PagerDemod *pagerDemod) :
 | 
			
		||||
    m_sink(pagerDemod),
 | 
			
		||||
PagerDemodBaseband::PagerDemodBaseband() :
 | 
			
		||||
    m_running(false)
 | 
			
		||||
{
 | 
			
		||||
    qDebug("PagerDemodBaseband::PagerDemodBaseband");
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -62,7 +62,7 @@ public:
 | 
			
		|||
        { }
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    PagerDemodBaseband(PagerDemod *pagerDemod);
 | 
			
		||||
    PagerDemodBaseband();
 | 
			
		||||
    ~PagerDemodBaseband();
 | 
			
		||||
    void reset();
 | 
			
		||||
    void startWork();
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -28,9 +28,8 @@
 | 
			
		|||
#include "pagerdemod.h"
 | 
			
		||||
#include "pagerdemodsink.h"
 | 
			
		||||
 | 
			
		||||
PagerDemodSink::PagerDemodSink(PagerDemod *pagerDemod) :
 | 
			
		||||
PagerDemodSink::PagerDemodSink() :
 | 
			
		||||
        m_scopeSink(nullptr),
 | 
			
		||||
        m_pagerDemod(pagerDemod),
 | 
			
		||||
        m_channelSampleRate(PagerDemodSettings::m_channelSampleRate),
 | 
			
		||||
        m_channelFrequencyOffset(0),
 | 
			
		||||
        m_magsqSum(0.0f),
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -45,7 +45,7 @@ class ScopeVis;
 | 
			
		|||
 | 
			
		||||
class PagerDemodSink : public ChannelSampleSink {
 | 
			
		||||
public:
 | 
			
		||||
    PagerDemodSink(PagerDemod *pagerDemod);
 | 
			
		||||
    PagerDemodSink();
 | 
			
		||||
    ~PagerDemodSink();
 | 
			
		||||
 | 
			
		||||
    virtual void feed(const SampleVector::const_iterator& begin, const SampleVector::const_iterator& end);
 | 
			
		||||
| 
						 | 
				
			
			@ -88,7 +88,6 @@ private:
 | 
			
		|||
    };
 | 
			
		||||
 | 
			
		||||
    ScopeVis* m_scopeSink;              // Scope GUI to display debug waveforms
 | 
			
		||||
    PagerDemod *m_pagerDemod;
 | 
			
		||||
    PagerDemodSettings m_settings;
 | 
			
		||||
    ChannelAPI *m_channel;
 | 
			
		||||
    int m_channelSampleRate;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -33,12 +33,12 @@ if(NOT SERVER_MODE)
 | 
			
		|||
        radiosondedemodgui.h
 | 
			
		||||
    )
 | 
			
		||||
 | 
			
		||||
    set(TARGET_NAME demodradiosonde)
 | 
			
		||||
    set(TARGET_NAME ${PLUGINS_PREFIX}demodradiosonde)
 | 
			
		||||
    set(TARGET_LIB "Qt::Widgets")
 | 
			
		||||
    set(TARGET_LIB_GUI "sdrgui")
 | 
			
		||||
    set(INSTALL_FOLDER ${INSTALL_PLUGINS_DIR})
 | 
			
		||||
else()
 | 
			
		||||
    set(TARGET_NAME demodradiosondesrv)
 | 
			
		||||
    set(TARGET_NAME ${PLUGINSSRV_PREFIX}demodradiosondesrv)
 | 
			
		||||
    set(TARGET_LIB "")
 | 
			
		||||
    set(TARGET_LIB_GUI "")
 | 
			
		||||
    set(INSTALL_FOLDER ${INSTALL_PLUGINSSRV_DIR})
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -33,12 +33,12 @@ if(NOT SERVER_MODE)
 | 
			
		|||
        rttydemodgui.h
 | 
			
		||||
    )
 | 
			
		||||
 | 
			
		||||
    set(TARGET_NAME demodrtty)
 | 
			
		||||
    set(TARGET_NAME ${PLUGINS_PREFIX}demodrtty)
 | 
			
		||||
    set(TARGET_LIB "Qt::Widgets")
 | 
			
		||||
    set(TARGET_LIB_GUI "sdrgui")
 | 
			
		||||
    set(INSTALL_FOLDER ${INSTALL_PLUGINS_DIR})
 | 
			
		||||
else()
 | 
			
		||||
    set(TARGET_NAME demodrttysrv)
 | 
			
		||||
    set(TARGET_NAME ${PLUGINSSRV_PREFIX}demodrttysrv)
 | 
			
		||||
    set(TARGET_LIB "")
 | 
			
		||||
    set(TARGET_LIB_GUI "")
 | 
			
		||||
    set(INSTALL_FOLDER ${INSTALL_PLUGINSSRV_DIR})
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -53,7 +53,7 @@ RttyDemod::RttyDemod(DeviceAPI *deviceAPI) :
 | 
			
		|||
{
 | 
			
		||||
    setObjectName(m_channelId);
 | 
			
		||||
 | 
			
		||||
    m_basebandSink = new RttyDemodBaseband(this);
 | 
			
		||||
    m_basebandSink = new RttyDemodBaseband();
 | 
			
		||||
    m_basebandSink->setMessageQueueToChannel(getInputMessageQueue());
 | 
			
		||||
    m_basebandSink->setChannel(this);
 | 
			
		||||
    m_basebandSink->moveToThread(&m_thread);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -26,8 +26,7 @@
 | 
			
		|||
 | 
			
		||||
MESSAGE_CLASS_DEFINITION(RttyDemodBaseband::MsgConfigureRttyDemodBaseband, Message)
 | 
			
		||||
 | 
			
		||||
RttyDemodBaseband::RttyDemodBaseband(RttyDemod *rttyDemod) :
 | 
			
		||||
    m_sink(rttyDemod),
 | 
			
		||||
RttyDemodBaseband::RttyDemodBaseband() :
 | 
			
		||||
    m_running(false)
 | 
			
		||||
{
 | 
			
		||||
    qDebug("RttyDemodBaseband::RttyDemodBaseband");
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -62,7 +62,7 @@ public:
 | 
			
		|||
        { }
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    RttyDemodBaseband(RttyDemod *rttyDemod);
 | 
			
		||||
    RttyDemodBaseband();
 | 
			
		||||
    ~RttyDemodBaseband();
 | 
			
		||||
    void reset();
 | 
			
		||||
    void startWork();
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -28,8 +28,7 @@
 | 
			
		|||
#include "rttydemod.h"
 | 
			
		||||
#include "rttydemodsink.h"
 | 
			
		||||
 | 
			
		||||
RttyDemodSink::RttyDemodSink(RttyDemod *packetDemod) :
 | 
			
		||||
        m_rttyDemod(packetDemod),
 | 
			
		||||
RttyDemodSink::RttyDemodSink() :
 | 
			
		||||
        m_channelSampleRate(RttyDemodSettings::RTTYDEMOD_CHANNEL_SAMPLE_RATE),
 | 
			
		||||
        m_channelFrequencyOffset(0),
 | 
			
		||||
        m_magsqSum(0.0f),
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -39,7 +39,7 @@ class ScopeVis;
 | 
			
		|||
 | 
			
		||||
class RttyDemodSink : public ChannelSampleSink {
 | 
			
		||||
public:
 | 
			
		||||
    RttyDemodSink(RttyDemod *packetDemod);
 | 
			
		||||
    RttyDemodSink();
 | 
			
		||||
    ~RttyDemodSink();
 | 
			
		||||
 | 
			
		||||
    virtual void feed(const SampleVector::const_iterator& begin, const SampleVector::const_iterator& end);
 | 
			
		||||
| 
						 | 
				
			
			@ -83,7 +83,6 @@ private:
 | 
			
		|||
    };
 | 
			
		||||
 | 
			
		||||
    ScopeVis* m_scopeSink;    // Scope GUI to display baseband waveform
 | 
			
		||||
    RttyDemod *m_rttyDemod;
 | 
			
		||||
    RttyDemodSettings m_settings;
 | 
			
		||||
    ChannelAPI *m_channel;
 | 
			
		||||
    int m_channelSampleRate;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -32,12 +32,12 @@ if(NOT SERVER_MODE)
 | 
			
		|||
        ${ssb_HEADERS}
 | 
			
		||||
        ssbdemodgui.h
 | 
			
		||||
    )
 | 
			
		||||
    set(TARGET_NAME demodssb)
 | 
			
		||||
    set(TARGET_NAME ${PLUGINS_PREFIX}demodssb)
 | 
			
		||||
    set(TARGET_LIB "Qt::Widgets")
 | 
			
		||||
    set(TARGET_LIB_GUI "sdrgui")
 | 
			
		||||
    set(INSTALL_FOLDER ${INSTALL_PLUGINS_DIR})
 | 
			
		||||
else()
 | 
			
		||||
    set(TARGET_NAME demodssbsrv)
 | 
			
		||||
    set(TARGET_NAME ${PLUGINSSRV_PREFIX}demodssbsrv)
 | 
			
		||||
    set(TARGET_LIB "")
 | 
			
		||||
    set(TARGET_LIB_GUI "")
 | 
			
		||||
    set(INSTALL_FOLDER ${INSTALL_PLUGINSSRV_DIR})
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -752,7 +752,7 @@ void SSBDemod::sendChannelSettings(
 | 
			
		|||
    const SSBDemodSettings& settings,
 | 
			
		||||
    bool force)
 | 
			
		||||
{
 | 
			
		||||
    qDebug("SSBDemod::sendChannelSettings: %d pipes", pipes.size());
 | 
			
		||||
    qDebug("SSBDemod::sendChannelSettings: %d pipes", (int)pipes.size());
 | 
			
		||||
 | 
			
		||||
    for (const auto& pipe : pipes)
 | 
			
		||||
    {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
Some files were not shown because too many files have changed in this diff Show More
		Ładowanie…
	
		Reference in New Issue