diff --git a/devices/plutosdr/deviceplutosdrbox.cpp b/devices/plutosdr/deviceplutosdrbox.cpp index ee3215189..9e9748781 100644 --- a/devices/plutosdr/deviceplutosdrbox.cpp +++ b/devices/plutosdr/deviceplutosdrbox.cpp @@ -28,6 +28,11 @@ #include "deviceplutosdrbox.h" DevicePlutoSDRBox::DevicePlutoSDRBox(const std::string& uri) : + m_devSampleRate(0), + m_LOppmTenths(0), + m_lpfFIREnable(false), + m_lpfFIRBW(100.0f), + m_lpfFIRlog2Decim(0), m_lpfFIRRxGain(0), m_lpfFIRTxGain(0), m_ctx(0), @@ -39,7 +44,8 @@ DevicePlutoSDRBox::DevicePlutoSDRBox(const std::string& uri) : m_chnTx0q(0), m_rxBuf(0), m_txBuf(0), - m_xoInitial(0) + m_xoInitial(0), + m_temp(0.0f) { m_ctx = iio_create_context_from_uri(uri.c_str()); diff --git a/fcdhid/fcdhid.c b/fcdhid/fcdhid.c index e8f73b92e..ef6809990 100644 --- a/fcdhid/fcdhid.c +++ b/fcdhid/fcdhid.c @@ -1,10 +1,10 @@ /*************************************************************************** * This file is part of Qthid. - * + * * Copyright (C) 2010 Howard Long, G6LVB * CopyRight (C) 2011 Alexandru Csete, OZ9AEC * Mario Lorenz, DL5MLO - * + * * Qthid is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or @@ -40,7 +40,7 @@ hid_device *fcdOpen(uint16_t usVID, uint16_t usPID, int whichdongle) while (phdi && which) { - phdi=phdi->next; + phdi=phdi->next; which--; } @@ -611,7 +611,6 @@ FCD_MODE_ENUM fcdBlWriteFirmware(hid_device *phd, char *pc, int64_t n64Size) uint32_t u32AddrStart; uint32_t u32AddrEnd; uint32_t u32Addr; - BOOL bFinished=FALSE; /* phd = fcdOpen(); @@ -671,7 +670,7 @@ FCD_MODE_ENUM fcdBlWriteFirmware(hid_device *phd, char *pc, int64_t n64Size) // Write blocks aucBufOut[0] = 0; // Report ID, ignored aucBufOut[1] = FCD_CMD_BL_WRITE_FLASH_BLOCK; - for (u32Addr=u32AddrStart; u32Addr+47> 4) & 0x1; // 0 = user message, 1 = tuning info bool F = (group[1] >> 3) & 0x1; // 0 = multi-group, 1 = single-group - bool D = (group[2] > 15) & 0x1; // 1 = diversion recommended + bool D = (group[2] >> 15) & 0x1; // 1 = diversion recommended m_g8_diversion_recommended = D; static unsigned long int free_format[4]; diff --git a/plugins/channelrx/demodlora/lorademodsettings.cpp b/plugins/channelrx/demodlora/lorademodsettings.cpp index f3b979871..8ca2ba730 100644 --- a/plugins/channelrx/demodlora/lorademodsettings.cpp +++ b/plugins/channelrx/demodlora/lorademodsettings.cpp @@ -11,6 +11,7 @@ const int LoRaDemodSettings::bandwidths[] = {7813,15625,20833,31250,62500}; const int LoRaDemodSettings::nb_bandwidths = 5; LoRaDemodSettings::LoRaDemodSettings() : + m_centerFrequency(0), m_channelMarker(0), m_spectrumGUI(0) { diff --git a/plugins/channeltx/modatv/atvmodgui.cpp b/plugins/channeltx/modatv/atvmodgui.cpp index 20962c396..61329486c 100644 --- a/plugins/channeltx/modatv/atvmodgui.cpp +++ b/plugins/channeltx/modatv/atvmodgui.cpp @@ -537,8 +537,8 @@ void ATVModGUI::on_cameraManualFPSEnable_toggled(bool checked) { ATVMod::MsgConfigureCameraData* message = ATVMod::MsgConfigureCameraData::create( ui->camSelect->currentIndex(), - checked, - ui->cameraManualFPS->value() / 10.0f); + ui->cameraManualFPS->value() / 10.0f, + checked); m_atvMod->getInputMessageQueue()->push(message); } @@ -547,8 +547,8 @@ void ATVModGUI::on_cameraManualFPS_valueChanged(int value) ui->cameraManualFPSText->setText(tr("%1 FPS").arg(value / 10.0f, 0, 'f', 1)); ATVMod::MsgConfigureCameraData* message = ATVMod::MsgConfigureCameraData::create( ui->camSelect->currentIndex(), - ui->cameraManualFPSEnable->isChecked(), - value / 10.0f); + value / 10.0f, + ui->cameraManualFPSEnable->isChecked()); m_atvMod->getInputMessageQueue()->push(message); } diff --git a/plugins/channeltx/udpsink/udpsinksettings.cpp b/plugins/channeltx/udpsink/udpsinksettings.cpp index 8d0cf1f84..df9f16af4 100644 --- a/plugins/channeltx/udpsink/udpsinksettings.cpp +++ b/plugins/channeltx/udpsink/udpsinksettings.cpp @@ -34,6 +34,7 @@ void UDPSinkSettings::resetToDefaults() m_inputSampleRate = 48000; m_inputFrequencyOffset = 0; m_rfBandwidth = 12500; + m_lowCutoff = 0.0f; m_fmDeviation = 2500; m_amModFactor = 0.95; m_channelMute = false; diff --git a/plugins/samplesink/bladerfoutput/bladerfoutput.cpp b/plugins/samplesink/bladerfoutput/bladerfoutput.cpp index 2cf743a1c..1b3f08147 100644 --- a/plugins/samplesink/bladerfoutput/bladerfoutput.cpp +++ b/plugins/samplesink/bladerfoutput/bladerfoutput.cpp @@ -136,7 +136,7 @@ bool BladerfOutput::start() if((m_bladerfThread = new BladerfOutputThread(m_dev, &m_sampleSourceFifo)) == 0) { - qFatal("BladerfOutput::start: out of memory"); + qCritical("BladerfOutput::start: out of memory"); stop(); return false; } diff --git a/plugins/samplesink/filesink/filesinkoutput.cpp b/plugins/samplesink/filesink/filesinkoutput.cpp index 33f715607..1e1d302b2 100644 --- a/plugins/samplesink/filesink/filesinkoutput.cpp +++ b/plugins/samplesink/filesink/filesinkoutput.cpp @@ -92,7 +92,7 @@ bool FileSinkOutput::start() if((m_fileSinkThread = new FileSinkThread(&m_ofstream, &m_sampleSourceFifo)) == 0) { - qFatal("out of memory"); + qCritical("out of memory"); stop(); return false; } @@ -303,7 +303,7 @@ void FileSinkOutput::applySettings(const FileSinkSettings& settings, bool force) if (m_fileSinkThread != 0) { - m_fileSinkThread->setSamplerate(m_settings.m_sampleRate); + m_fileSinkThread->setLog2Interpolation(m_settings.m_log2Interp); } forwardChange = true; diff --git a/plugins/samplesink/hackrfoutput/hackrfoutput.cpp b/plugins/samplesink/hackrfoutput/hackrfoutput.cpp index 9ba53ffe7..7e497f8f2 100644 --- a/plugins/samplesink/hackrfoutput/hackrfoutput.cpp +++ b/plugins/samplesink/hackrfoutput/hackrfoutput.cpp @@ -118,7 +118,7 @@ bool HackRFOutput::start() if((m_hackRFThread = new HackRFOutputThread(m_dev, &m_sampleSourceFifo)) == 0) { - qFatal("HackRFOutput::start: out of memory"); + qCritical("HackRFOutput::start: out of memory"); stop(); return false; } diff --git a/plugins/samplesink/limesdroutput/limesdroutput.cpp b/plugins/samplesink/limesdroutput/limesdroutput.cpp index 879c9ef7a..7b2aac50a 100644 --- a/plugins/samplesink/limesdroutput/limesdroutput.cpp +++ b/plugins/samplesink/limesdroutput/limesdroutput.cpp @@ -376,7 +376,7 @@ bool LimeSDROutput::start() if ((m_limeSDROutputThread = new LimeSDROutputThread(&m_streamId, &m_sampleSourceFifo)) == 0) { - qFatal("LimeSDROutput::start: cannot create thread"); + qCritical("LimeSDROutput::start: cannot create thread"); stop(); return false; } diff --git a/plugins/samplesink/plutosdroutput/plutosdroutput.cpp b/plugins/samplesink/plutosdroutput/plutosdroutput.cpp index d6493a1ea..6d8d90aed 100644 --- a/plugins/samplesink/plutosdroutput/plutosdroutput.cpp +++ b/plugins/samplesink/plutosdroutput/plutosdroutput.cpp @@ -78,7 +78,7 @@ bool PlutoSDROutput::start() if ((m_plutoSDROutputThread = new PlutoSDROutputThread(PLUTOSDR_BLOCKSIZE_SAMPLES, m_deviceShared.m_deviceParams->getBox(), &m_sampleSourceFifo)) == 0) { - qFatal("PlutoSDROutput::start: cannot create thread"); + qCritical("PlutoSDROutput::start: cannot create thread"); stop(); return false; } @@ -314,7 +314,6 @@ bool PlutoSDROutput::applySettings(const PlutoSDROutputSettings& settings, bool { bool forwardChangeOwnDSP = false; bool forwardChangeOtherDSP = false; - bool suspendOwnThread = false; bool ownThreadWasRunning = false; bool suspendAllOtherThreads = false; // All others means Rx in fact DevicePlutoSDRBox *plutoBox = m_deviceShared.m_deviceParams->getBox(); @@ -334,11 +333,6 @@ bool PlutoSDROutput::applySettings(const PlutoSDROutputSettings& settings, bool (m_settings.m_LOppmTenths != settings.m_LOppmTenths) || force) { suspendAllOtherThreads = true; - suspendOwnThread = true; - } - else - { - suspendOwnThread = true; } if (suspendAllOtherThreads) @@ -361,13 +355,10 @@ bool PlutoSDROutput::applySettings(const PlutoSDROutputSettings& settings, bool } } - if (suspendOwnThread) + if (m_plutoSDROutputThread && m_plutoSDROutputThread->isRunning()) { - if (m_plutoSDROutputThread && m_plutoSDROutputThread->isRunning()) - { - m_plutoSDROutputThread->stopWork(); - ownThreadWasRunning = true; - } + m_plutoSDROutputThread->stopWork(); + ownThreadWasRunning = true; } // apply settings @@ -479,11 +470,8 @@ bool PlutoSDROutput::applySettings(const PlutoSDROutputSettings& settings, bool } } - if (suspendOwnThread) - { - if (ownThreadWasRunning) { - m_plutoSDROutputThread->startWork(); - } + if (ownThreadWasRunning) { + m_plutoSDROutputThread->startWork(); } // TODO: forward changes to other (Rx) DSP diff --git a/plugins/samplesink/sdrdaemonsink/sdrdaemonsinkoutput.cpp b/plugins/samplesink/sdrdaemonsink/sdrdaemonsinkoutput.cpp index 31032f47e..23fed01e9 100644 --- a/plugins/samplesink/sdrdaemonsink/sdrdaemonsinkoutput.cpp +++ b/plugins/samplesink/sdrdaemonsink/sdrdaemonsinkoutput.cpp @@ -66,7 +66,7 @@ bool SDRdaemonSinkOutput::start() if((m_sdrDaemonSinkThread = new SDRdaemonSinkThread(&m_sampleSourceFifo)) == 0) { - qFatal("out of memory"); + qCritical("out of memory"); stop(); return false; } diff --git a/plugins/samplesource/airspy/airspyinput.cpp b/plugins/samplesource/airspy/airspyinput.cpp index f9e070e6c..ae0c53355 100644 --- a/plugins/samplesource/airspy/airspyinput.cpp +++ b/plugins/samplesource/airspy/airspyinput.cpp @@ -165,7 +165,7 @@ bool AirspyInput::start() if((m_airspyThread = new AirspyThread(m_dev, &m_sampleFifo)) == 0) { - qFatal("AirspyInput::start: out of memory"); + qCritical("AirspyInput::start: out of memory"); stop(); return false; } diff --git a/plugins/samplesource/airspyhf/airspyhfinput.cpp b/plugins/samplesource/airspyhf/airspyhfinput.cpp index 9956cbe79..ac9ee6fa4 100644 --- a/plugins/samplesource/airspyhf/airspyhfinput.cpp +++ b/plugins/samplesource/airspyhf/airspyhfinput.cpp @@ -158,7 +158,7 @@ bool AirspyHFInput::start() if ((m_airspyHFThread = new AirspyHFThread(m_dev, &m_sampleFifo)) == 0) { - qFatal("AirspyHFInput::start: out of memory"); + qCritical("AirspyHFInput::start: out of memory"); stop(); return false; } diff --git a/plugins/samplesource/airspyhfi/airspyhfiinput.cpp b/plugins/samplesource/airspyhfi/airspyhfiinput.cpp index 1b34075e3..a76504006 100644 --- a/plugins/samplesource/airspyhfi/airspyhfiinput.cpp +++ b/plugins/samplesource/airspyhfi/airspyhfiinput.cpp @@ -157,7 +157,7 @@ bool AirspyHFIInput::start() if ((m_airspyHFThread = new AirspyHFIThread(m_dev, &m_sampleFifo)) == 0) { - qFatal("AirspyHFInput::start: out of memory"); + qCritical("AirspyHFInput::start: out of memory"); stop(); return false; } diff --git a/plugins/samplesource/bladerfinput/bladerfinput.cpp b/plugins/samplesource/bladerfinput/bladerfinput.cpp index fa0c43fab..8a655c874 100644 --- a/plugins/samplesource/bladerfinput/bladerfinput.cpp +++ b/plugins/samplesource/bladerfinput/bladerfinput.cpp @@ -147,7 +147,7 @@ bool BladerfInput::start() if (m_running) stop(); if((m_bladerfThread = new BladerfInputThread(m_dev, &m_sampleFifo)) == 0) { - qFatal("BladerfInput::start: out of memory"); + qCritical("BladerfInput::start: out of memory"); stop(); return false; } diff --git a/plugins/samplesource/fcdpro/fcdproinput.cpp b/plugins/samplesource/fcdpro/fcdproinput.cpp index e331a3dc6..314581121 100644 --- a/plugins/samplesource/fcdpro/fcdproinput.cpp +++ b/plugins/samplesource/fcdpro/fcdproinput.cpp @@ -123,7 +123,7 @@ bool FCDProInput::start() if ((m_FCDThread = new FCDProThread(&m_sampleFifo)) == NULL) { - qFatal("out of memory"); + qCritical("out of memory"); return false; } diff --git a/plugins/samplesource/fcdproplus/fcdproplusinput.cpp b/plugins/samplesource/fcdproplus/fcdproplusinput.cpp index c00e09314..e350933f0 100644 --- a/plugins/samplesource/fcdproplus/fcdproplusinput.cpp +++ b/plugins/samplesource/fcdproplus/fcdproplusinput.cpp @@ -117,7 +117,7 @@ bool FCDProPlusInput::start() if ((m_FCDThread = new FCDProPlusThread(&m_sampleFifo)) == NULL) { - qFatal("out of memory"); + qCritical("out of memory"); return false; } diff --git a/plugins/samplesource/filesource/filesourceinput.cpp b/plugins/samplesource/filesource/filesourceinput.cpp index 59f5f287c..6a6a8f946 100644 --- a/plugins/samplesource/filesource/filesourceinput.cpp +++ b/plugins/samplesource/filesource/filesourceinput.cpp @@ -146,7 +146,7 @@ bool FileSourceInput::start() //openFileStream(); if((m_fileSourceThread = new FileSourceThread(&m_ifstream, &m_sampleFifo)) == NULL) { - qFatal("out of memory"); + qCritical("out of memory"); stop(); return false; } diff --git a/plugins/samplesource/hackrfinput/hackrfinput.cpp b/plugins/samplesource/hackrfinput/hackrfinput.cpp index 399c30443..29c3a74a1 100644 --- a/plugins/samplesource/hackrfinput/hackrfinput.cpp +++ b/plugins/samplesource/hackrfinput/hackrfinput.cpp @@ -134,7 +134,7 @@ bool HackRFInput::start() if ((m_hackRFThread = new HackRFInputThread(m_dev, &m_sampleFifo)) == 0) { - qFatal("HackRFInput::start: out of memory"); + qCritical("HackRFInput::start: out of memory"); stop(); return false; } diff --git a/plugins/samplesource/limesdrinput/limesdrinput.cpp b/plugins/samplesource/limesdrinput/limesdrinput.cpp index 43fd1c970..f30b3270a 100644 --- a/plugins/samplesource/limesdrinput/limesdrinput.cpp +++ b/plugins/samplesource/limesdrinput/limesdrinput.cpp @@ -395,7 +395,7 @@ bool LimeSDRInput::start() if ((m_limeSDRInputThread = new LimeSDRInputThread(&m_streamId, &m_sampleFifo)) == 0) { - qFatal("LimeSDRInput::start: cannot create thread"); + qCritical("LimeSDRInput::start: cannot create thread"); stop(); return false; } diff --git a/plugins/samplesource/perseus/perseusinput.cpp b/plugins/samplesource/perseus/perseusinput.cpp index 35e0f9430..893accd0a 100644 --- a/plugins/samplesource/perseus/perseusinput.cpp +++ b/plugins/samplesource/perseus/perseusinput.cpp @@ -74,7 +74,7 @@ bool PerseusInput::start() if ((m_perseusThread = new PerseusThread(m_perseusDescriptor, &m_sampleFifo)) == 0) { - qFatal("PerseusInput::start: cannot create thread"); + qCritical("PerseusInput::start: cannot create thread"); stop(); return false; } diff --git a/plugins/samplesource/plutosdrinput/plutosdrinput.cpp b/plugins/samplesource/plutosdrinput/plutosdrinput.cpp index e0cd8d6f3..4025c3c5f 100644 --- a/plugins/samplesource/plutosdrinput/plutosdrinput.cpp +++ b/plugins/samplesource/plutosdrinput/plutosdrinput.cpp @@ -87,7 +87,7 @@ bool PlutoSDRInput::start() if ((m_plutoSDRInputThread = new PlutoSDRInputThread(PLUTOSDR_BLOCKSIZE_SAMPLES, m_deviceShared.m_deviceParams->getBox(), &m_sampleFifo)) == 0) { - qFatal("PlutoSDRInput::start: cannot create thread"); + qCritical("PlutoSDRInput::start: cannot create thread"); stop(); return false; } @@ -344,7 +344,6 @@ bool PlutoSDRInput::applySettings(const PlutoSDRInputSettings& settings, bool fo { bool forwardChangeOwnDSP = false; bool forwardChangeOtherDSP = false; - bool suspendOwnThread = false; bool ownThreadWasRunning = false; bool suspendAllOtherThreads = false; // All others means Tx in fact DevicePlutoSDRBox *plutoBox = m_deviceShared.m_deviceParams->getBox(); @@ -364,11 +363,6 @@ bool PlutoSDRInput::applySettings(const PlutoSDRInputSettings& settings, bool fo (m_settings.m_LOppmTenths != settings.m_LOppmTenths) || force) { suspendAllOtherThreads = true; - suspendOwnThread = true; - } - else - { - suspendOwnThread = true; } if (suspendAllOtherThreads) @@ -391,13 +385,10 @@ bool PlutoSDRInput::applySettings(const PlutoSDRInputSettings& settings, bool fo } } - if (suspendOwnThread) + if (m_plutoSDRInputThread && m_plutoSDRInputThread->isRunning()) { - if (m_plutoSDRInputThread && m_plutoSDRInputThread->isRunning()) - { - m_plutoSDRInputThread->stopWork(); - ownThreadWasRunning = true; - } + m_plutoSDRInputThread->stopWork(); + ownThreadWasRunning = true; } // apply settings @@ -557,11 +548,8 @@ bool PlutoSDRInput::applySettings(const PlutoSDRInputSettings& settings, bool fo } } - if (suspendOwnThread) - { - if (ownThreadWasRunning) { - m_plutoSDRInputThread->startWork(); - } + if (ownThreadWasRunning) { + m_plutoSDRInputThread->startWork(); } // TODO: forward changes to other (Tx) DSP diff --git a/plugins/samplesource/rtlsdr/rtlsdrinput.cpp b/plugins/samplesource/rtlsdr/rtlsdrinput.cpp index d6c1947da..5a0b711dc 100644 --- a/plugins/samplesource/rtlsdr/rtlsdrinput.cpp +++ b/plugins/samplesource/rtlsdr/rtlsdrinput.cpp @@ -189,7 +189,7 @@ bool RTLSDRInput::start() if ((m_rtlSDRThread = new RTLSDRThread(m_dev, &m_sampleFifo)) == NULL) { - qFatal("RTLSDRInput::start: out of memory"); + qCritical("RTLSDRInput::start: out of memory"); stop(); return false; } diff --git a/plugins/samplesource/sdrplay/sdrplayinput.cpp b/plugins/samplesource/sdrplay/sdrplayinput.cpp index 0a029a366..ce013c784 100644 --- a/plugins/samplesource/sdrplay/sdrplayinput.cpp +++ b/plugins/samplesource/sdrplay/sdrplayinput.cpp @@ -170,7 +170,7 @@ bool SDRPlayInput::start() if((m_sdrPlayThread = new SDRPlayThread(m_dev, &m_sampleFifo)) == 0) { - qFatal("SDRPlayInput::start: failed to create thread"); + qCritical("SDRPlayInput::start: failed to create thread"); return false; } diff --git a/plugins/samplesource/testsource/testsourceinput.cpp b/plugins/samplesource/testsource/testsourceinput.cpp index 5fb5cadcc..d1aa8d40a 100644 --- a/plugins/samplesource/testsource/testsourceinput.cpp +++ b/plugins/samplesource/testsource/testsourceinput.cpp @@ -76,7 +76,7 @@ bool TestSourceInput::start() if ((m_testSourceThread = new TestSourceThread(&m_sampleFifo)) == 0) { - qFatal("TestSourceInput::start: out of memory"); + qCritical("TestSourceInput::start: out of memory"); stop(); return false; } @@ -257,10 +257,10 @@ bool TestSourceInput::applySettings(const TestSourceSettings& settings, bool for } } - if (force || (m_settings.m_centerFrequency != settings.m_centerFrequency) - || (m_settings.m_fcPos != settings.m_fcPos) - || (m_settings.m_frequencyShift != settings.m_frequencyShift) - || (m_settings.m_log2Decim != settings.m_log2Decim) || force) + if ((m_settings.m_centerFrequency != settings.m_centerFrequency) + || (m_settings.m_fcPos != settings.m_fcPos) + || (m_settings.m_frequencyShift != settings.m_frequencyShift) + || (m_settings.m_log2Decim != settings.m_log2Decim) || force) { qint64 deviceCenterFrequency = settings.m_centerFrequency; int frequencyShift = settings.m_frequencyShift; diff --git a/sdrbase/audio/audiofifo.cpp b/sdrbase/audio/audiofifo.cpp index c3a4f5327..92734fb84 100644 --- a/sdrbase/audio/audiofifo.cpp +++ b/sdrbase/audio/audiofifo.cpp @@ -263,7 +263,7 @@ bool AudioFifo::create(uint32_t numSamples) if(m_fifo != 0) { delete[] m_fifo; - m_fifo = NULL; + m_fifo = 0; } m_size = 0; @@ -271,12 +271,8 @@ bool AudioFifo::create(uint32_t numSamples) m_head = 0; m_tail = 0; - if((m_fifo = new qint8[numSamples * m_sampleSize]) == 0) - { - qDebug("out of memory"); - return false; - } - + m_fifo = new qint8[numSamples * m_sampleSize]; m_size = numSamples; - return true; + + return m_fifo != 0; } diff --git a/sdrbase/dsp/channelmarker.cpp b/sdrbase/dsp/channelmarker.cpp index 5f4fc715b..4900dcdaa 100644 --- a/sdrbase/dsp/channelmarker.cpp +++ b/sdrbase/dsp/channelmarker.cpp @@ -196,7 +196,7 @@ bool ChannelMarker::deserialize(const QByteArray& data) d.readU32(6, &u32tmp, 9999); setUDPSendPort(u32tmp); d.readS32(7, &tmp, 0); - if ((tmp >= 0) || (tmp < FScaleDisplay_none)) { + if ((tmp >= 0) && (tmp < FScaleDisplay_none)) { setFrequencyScaleDisplayType((frequencyScaleDisplay_t) tmp); } else { setFrequencyScaleDisplayType(FScaleDisplay_freq); diff --git a/sdrbase/dsp/cwkeyer.cpp b/sdrbase/dsp/cwkeyer.cpp index e46008f36..c57632532 100644 --- a/sdrbase/dsp/cwkeyer.cpp +++ b/sdrbase/dsp/cwkeyer.cpp @@ -287,7 +287,6 @@ void CWKeyer::nextStateIambic() { if (m_dash) { - m_samplePointer = 0; m_keyIambicState = KeyDash; } else if (!m_dot) @@ -314,7 +313,6 @@ void CWKeyer::nextStateIambic() { if (m_dot) { - m_samplePointer = 0; m_keyIambicState = KeyDot; } else if (!m_dash) diff --git a/sdrbase/dsp/fftengine.cpp b/sdrbase/dsp/fftengine.cpp index 0c11cd9fe..ddd2cb6b2 100644 --- a/sdrbase/dsp/fftengine.cpp +++ b/sdrbase/dsp/fftengine.cpp @@ -15,12 +15,11 @@ FFTEngine* FFTEngine::create() #ifdef USE_FFTW qDebug("FFTEngine::create: using FFTW engine"); return new FFTWEngine; -#endif // USE_FFTW -#ifdef USE_KISSFFT +#elif USE_KISSFFT qDebug("FFTEngine::create: using KissFFT engine"); return new KissEngine; -#endif // USE_KISSFFT - +#else // USE_KISSFFT qCritical("FFTEngine::create: no engine built"); - return NULL; + return 0; +#endif } diff --git a/sdrbase/dsp/fftfilt.cxx b/sdrbase/dsp/fftfilt.cxx index 735767f42..fe6af7ab8 100644 --- a/sdrbase/dsp/fftfilt.cxx +++ b/sdrbase/dsp/fftfilt.cxx @@ -78,6 +78,8 @@ void fftfilt::init_filter() fftfilt::fftfilt(float f1, float f2, int len) { flen = len; + pass = 0; + window = 0; init_filter(); create_filter(f1, f2); } @@ -85,6 +87,8 @@ fftfilt::fftfilt(float f1, float f2, int len) fftfilt::fftfilt(float f2, int len) { flen = len; + pass = 0; + window = 0; init_filter(); create_dsb_filter(f2); } diff --git a/sdrbase/dsp/fftfilt.h b/sdrbase/dsp/fftfilt.h index 29e01720b..cb8c2b923 100644 --- a/sdrbase/dsp/fftfilt.h +++ b/sdrbase/dsp/fftfilt.h @@ -38,7 +38,6 @@ protected: int flen; int flen2; g_fft *fft; - g_fft *ift; cmplx *filter; cmplx *filterOpp; cmplx *data; @@ -50,7 +49,7 @@ protected: inline float fsinc(float fc, int i, int len) { return (i == len/2) ? 2.0 * fc: - sin(2 * M_PI * fc * (i - len/2)) / (M_PI * (i - len/2)); + sin(2 * M_PI * fc * (i - (len/2))) / (M_PI * (i - (len/2))); } inline float _blackman(int i, int len) { diff --git a/sdrbase/dsp/gfft.h b/sdrbase/dsp/gfft.h index 2eefb0eab..9ad1ebf8d 100644 --- a/sdrbase/dsp/gfft.h +++ b/sdrbase/dsp/gfft.h @@ -65,13 +65,13 @@ private: // base fft methods void riffts1(FFT_TYPE *ioptr, int M, FFT_TYPE *Utbl, short *BRLow); - void ifrstage(FFT_TYPE *ioptr, int M, FFT_TYPE *Utbl); + void ifrstage(FFT_TYPE *ioptr, int M, FFT_TYPE *inUtbl); void rifft8pt(FFT_TYPE *ioptr, FFT_TYPE scale); void rifft4pt(FFT_TYPE *ioptr, FFT_TYPE scale); void rifft2pt(FFT_TYPE *ioptr, FFT_TYPE scale); void rifft1pt(FFT_TYPE *ioptr, FFT_TYPE scale); void rffts1(FFT_TYPE *ioptr, int M, FFT_TYPE *Utbl, short *BRLow); - void frstage(FFT_TYPE *ioptr, int M, FFT_TYPE *Utbl); + void frstage(FFT_TYPE *ioptr, int M, FFT_TYPE *inUtbl); void rfft8pt(FFT_TYPE *ioptr); void rfft4pt(FFT_TYPE *ioptr); void rfft2pt(FFT_TYPE *ioptr); @@ -79,27 +79,27 @@ private: void iffts1(FFT_TYPE *ioptr, int M, FFT_TYPE *Utbl, short *BRLow); void ifftrecurs(FFT_TYPE *ioptr, int M, FFT_TYPE *Utbl, int Ustride, int NDiffU, int StageCnt); - void ibfstages(FFT_TYPE *ioptr, int M, FFT_TYPE *Utbl, int Ustride, + void ibfstages(FFT_TYPE *ioptr, int M, FFT_TYPE *inUtbl, int Ustride, int NDiffU, int StageCnt); void ibfR4(FFT_TYPE *ioptr, int M, int NDiffU); void ibfR2(FFT_TYPE *ioptr, int M, int NDiffU); void ifft8pt(FFT_TYPE *ioptr, FFT_TYPE scale); void ifft4pt(FFT_TYPE *ioptr, FFT_TYPE scale); void ifft2pt(FFT_TYPE *ioptr, FFT_TYPE scale); - void scbitrevR2(FFT_TYPE *ioptr, int M, short *BRLow, FFT_TYPE scale); + void scbitrevR2(FFT_TYPE *ioptr, int M, short *inBRLow, FFT_TYPE scale); void ffts1(FFT_TYPE *ioptr, int M, FFT_TYPE *Utbl, short *BRLow); void fftrecurs(FFT_TYPE *ioptr, int M, FFT_TYPE *Utbl, int Ustride, int NDiffU, int StageCnt); void bfstages(FFT_TYPE *ioptr, int M, - FFT_TYPE *Utbl, int Ustride, + FFT_TYPE *inUtbl, int Ustride, int NDiffU, int StageCnt); void bfR4(FFT_TYPE *ioptr, int M, int NDiffU); void bfR2(FFT_TYPE *ioptr, int M, int NDiffU); void fft8pt(FFT_TYPE *ioptr); void fft4pt(FFT_TYPE *ioptr); void fft2pt(FFT_TYPE *ioptr); - void bitrevR2(FFT_TYPE *ioptr, int M, short *BRLow); + void bitrevR2(FFT_TYPE *ioptr, int M, short *inBRLow); void fftBRInit(int M, short *BRLow); void fftCosInit(int M, FFT_TYPE *Utbl); @@ -182,7 +182,7 @@ void g_fft::fftBRInit(int M, short *BRLow) // bit reverse and first radix 2 stage of forward or inverse fft //------------------------------------------------------------------------------ template -void g_fft::bitrevR2(FFT_TYPE *ioptr, int M, short *BRLow) +void g_fft::bitrevR2(FFT_TYPE *ioptr, int M, short *inBRLow) { FFT_TYPE f0r; FFT_TYPE f0i; @@ -229,9 +229,9 @@ void g_fft::bitrevR2(FFT_TYPE *ioptr, int M, short *BRLow) for (; ioptr < iolimit; ioptr += POW2(M / 2 + 1)) { for (Colstart = Nroot_1; Colstart >= 0; Colstart--) { iCol = Nroot_1; - p0r = ioptr + Nroot_1_ColInc + BRLow[Colstart] * 4; + p0r = ioptr + Nroot_1_ColInc + inBRLow[Colstart] * 4; IOP = ioptr + (Colstart << ColstartShift); - p1r = IOP + BRLow[iCol] * 4; + p1r = IOP + inBRLow[iCol] * 4; f0r = *(p0r); f0i = *(p0r + 1); f1r = *(p0r + posA); @@ -290,7 +290,7 @@ void g_fft::bitrevR2(FFT_TYPE *ioptr, int M, short *BRLow) f1r = *(p0r + posA); f1i = *(p0r + posAi); iCol -= 1; - p1r = IOP + BRLow[iCol] * 4; + p1r = IOP + inBRLow[iCol] * 4; } f2r = *(p0r + 2); f2i = *(p0r + (2 + 1)); @@ -840,7 +840,7 @@ void g_fft::bfR4(FFT_TYPE *ioptr, int M, int NDiffU) // RADIX 8 Stages //------------------------------------------------------------------------------ template -void g_fft::bfstages(FFT_TYPE *ioptr, int M, FFT_TYPE *Utbl, int Ustride, +void g_fft::bfstages(FFT_TYPE *ioptr, int M, FFT_TYPE *inUtbl, int Ustride, int NDiffU, int StageCnt) { unsigned int pos; @@ -876,8 +876,8 @@ void g_fft::bfstages(FFT_TYPE *ioptr, int M, FFT_TYPE *Utbl, int Ustri U2toU3 = (POW2(M) / 8) * Ustride; for (; StageCnt > 0; StageCnt--) { - u0r = &Utbl[0]; - u0i = &Utbl[POW2(M - 2) * Ustride]; + u0r = &inUtbl[0]; + u0i = &inUtbl[POW2(M - 2) * Ustride]; u1r = u0r; u1i = u0i; u2r = u0r; @@ -1228,7 +1228,7 @@ void g_fft::ffts1(FFT_TYPE *ioptr, int M, FFT_TYPE *Utbl, short *BRLow // scaled bit reverse and first radix 2 stage forward or inverse fft //------------------------------------------------------------------------------ template -void g_fft::scbitrevR2(FFT_TYPE *ioptr, int M, short *BRLow, FFT_TYPE scale) +void g_fft::scbitrevR2(FFT_TYPE *ioptr, int M, short *inBRLow, FFT_TYPE scale) { FFT_TYPE f0r; FFT_TYPE f0i; @@ -1275,9 +1275,9 @@ void g_fft::scbitrevR2(FFT_TYPE *ioptr, int M, short *BRLow, FFT_TYPE for (; ioptr < iolimit; ioptr += POW2(M / 2 + 1)) { for (Colstart = Nroot_1; Colstart >= 0; Colstart--) { iCol = Nroot_1; - p0r = ioptr + Nroot_1_ColInc + BRLow[Colstart] * 4; + p0r = ioptr + Nroot_1_ColInc + inBRLow[Colstart] * 4; IOP = ioptr + (Colstart << ColstartShift); - p1r = IOP + BRLow[iCol] * 4; + p1r = IOP + inBRLow[iCol] * 4; f0r = *(p0r); f0i = *(p0r + 1); f1r = *(p0r + posA); @@ -1336,7 +1336,7 @@ void g_fft::scbitrevR2(FFT_TYPE *ioptr, int M, short *BRLow, FFT_TYPE f1r = *(p0r + posA); f1i = *(p0r + posAi); iCol -= 1; - p1r = IOP + BRLow[iCol] * 4; + p1r = IOP + inBRLow[iCol] * 4; } f2r = *(p0r + 2); f2i = *(p0r + (2 + 1)); @@ -1886,7 +1886,7 @@ void g_fft::ibfR4(FFT_TYPE *ioptr, int M, int NDiffU) // RADIX 8 Stages //------------------------------------------------------------------------------ template -void g_fft::ibfstages(FFT_TYPE *ioptr, int M, FFT_TYPE *Utbl, int Ustride, +void g_fft::ibfstages(FFT_TYPE *ioptr, int M, FFT_TYPE *inUtbl, int Ustride, int NDiffU, int StageCnt) { unsigned int pos; @@ -1922,8 +1922,8 @@ void g_fft::ibfstages(FFT_TYPE *ioptr, int M, FFT_TYPE *Utbl, int Ustr U2toU3 = (POW2(M) / 8) * Ustride; for (; StageCnt > 0; StageCnt--) { - u0r = &Utbl[0]; - u0i = &Utbl[POW2(M - 2) * Ustride]; + u0r = &inUtbl[0]; + u0i = &inUtbl[POW2(M - 2) * Ustride]; u1r = u0r; u1i = u0i; u2r = u0r; @@ -2567,7 +2567,7 @@ void g_fft::rfft8pt(FFT_TYPE *ioptr) // Finish RFFT //------------------------------------------------------------------------------ template -void g_fft::frstage(FFT_TYPE *ioptr, int M, FFT_TYPE *Utbl) +void g_fft::frstage(FFT_TYPE *ioptr, int M, FFT_TYPE *inUtbl) { unsigned int pos; unsigned int posi; @@ -2587,7 +2587,7 @@ void g_fft::frstage(FFT_TYPE *ioptr, int M, FFT_TYPE *Utbl) p0r = ioptr; p1r = ioptr + pos / 2; - u0r = Utbl + POW2(M - 3); + u0r = inUtbl + POW2(M - 3); w0r = *u0r, f0r = *(p0r); f0i = *(p0r + 1); @@ -2622,8 +2622,8 @@ void g_fft::frstage(FFT_TYPE *ioptr, int M, FFT_TYPE *Utbl) *(p1r + pos) = f5r; *(p1r + posi) = f5i; - u0r = Utbl + 1; - u0i = Utbl + (POW2(M - 2) - 1); + u0r = inUtbl + 1; + u0i = inUtbl + (POW2(M - 2) - 1); w0r = *u0r, w0i = *u0i; @@ -3038,7 +3038,7 @@ void g_fft::rifft8pt(FFT_TYPE *ioptr, FFT_TYPE scale) // Start RIFFT //------------------------------------------------------------------------------ template -void g_fft::ifrstage(FFT_TYPE *ioptr, int M, FFT_TYPE *Utbl) +void g_fft::ifrstage(FFT_TYPE *ioptr, int M, FFT_TYPE *inUtbl) { unsigned int pos; unsigned int posi; @@ -3058,7 +3058,7 @@ void g_fft::ifrstage(FFT_TYPE *ioptr, int M, FFT_TYPE *Utbl) p0r = ioptr; p1r = ioptr + pos / 2; - u0r = Utbl + POW2(M - 3); + u0r = inUtbl + POW2(M - 3); w0r = *u0r, f0r = *(p0r); f0i = *(p0r + 1); @@ -3093,8 +3093,8 @@ void g_fft::ifrstage(FFT_TYPE *ioptr, int M, FFT_TYPE *Utbl) *(p1r + pos) = f5r; *(p1r + posi) = f5i; - u0r = Utbl + 1; - u0i = Utbl + (POW2(M - 2) - 1); + u0r = inUtbl + 1; + u0i = inUtbl + (POW2(M - 2) - 1); w0r = *u0r, w0i = *u0i; diff --git a/sdrbase/dsp/nco.cpp b/sdrbase/dsp/nco.cpp index 354492749..95820d723 100644 --- a/sdrbase/dsp/nco.cpp +++ b/sdrbase/dsp/nco.cpp @@ -42,6 +42,7 @@ NCO::NCO() { initTable(); m_phase = 0; + m_phaseIncrement = 0; } void NCO::setFreq(Real freq, Real sampleRate) diff --git a/sdrbase/dsp/ncof.cpp b/sdrbase/dsp/ncof.cpp index f2cea8296..c14a65aaf 100644 --- a/sdrbase/dsp/ncof.cpp +++ b/sdrbase/dsp/ncof.cpp @@ -44,6 +44,7 @@ NCOF::NCOF() { initTable(); m_phase = 0.0f; + m_phaseIncrement = 0.0f; } void NCOF::setFreq(Real freq, Real sampleRate) diff --git a/sdrbase/settings/mainsettings.cpp b/sdrbase/settings/mainsettings.cpp index 675bf97e1..5a13dfc74 100644 --- a/sdrbase/settings/mainsettings.cpp +++ b/sdrbase/settings/mainsettings.cpp @@ -4,7 +4,7 @@ #include "settings/mainsettings.h" #include "commands/command.h" -MainSettings::MainSettings() +MainSettings::MainSettings() : m_audioDeviceInfo(0) { resetToDefaults(); } diff --git a/sdrbase/settings/preset.cpp b/sdrbase/settings/preset.cpp index 90bbce14f..ff9d16394 100644 --- a/sdrbase/settings/preset.cpp +++ b/sdrbase/settings/preset.cpp @@ -20,6 +20,9 @@ void Preset::resetToDefaults() m_channelConfigs.clear(); m_sourceId.clear(); m_sourceConfig.clear(); + m_dcOffsetCorrection = false; + m_iqImbalanceCorrection = false; + m_sourceSequence = 0; } QByteArray Preset::serialize() const diff --git a/sdrgui/dsp/scopevis.h b/sdrgui/dsp/scopevis.h index 311642984..e5e896c28 100644 --- a/sdrgui/dsp/scopevis.h +++ b/sdrgui/dsp/scopevis.h @@ -29,9 +29,9 @@ public: void configure(MessageQueue* msgQueue, uint triggerIndex, - TriggerChannel triggerChannel, - Real triggerLevel, - bool triggerPositiveEdge, + TriggerChannel triggerChannel, + Real triggerLevel, + bool triggerPositiveEdge, bool triggerBothEdges, uint triggerPre, uint triggerDelay, @@ -57,8 +57,8 @@ private: uint getTriggerIndex() const { return m_triggerIndex; } int getTriggerChannel() const { return m_triggerChannel; } Real getTriggerLevel() const { return m_triggerLevel; } - Real getTriggerPositiveEdge() const { return m_triggerPositiveEdge; } - Real getTriggerBothEdges() const { return m_triggerBothEdges; } + bool getTriggerPositiveEdge() const { return m_triggerPositiveEdge; } + bool getTriggerBothEdges() const { return m_triggerBothEdges; } uint getTriggerPre() const { return m_triggerPre; } uint getTriggerDelay() const { return m_triggerDelay; } uint getTriggerCounts() const { return m_triggerCounts; } @@ -66,8 +66,8 @@ private: static MsgConfigureScopeVis* create(uint triggerIndex, int triggerChannel, - Real triggerLevel, - bool triggerPositiveEdge, + Real triggerLevel, + bool triggerPositiveEdge, bool triggerBothEdges, uint triggerPre, uint triggerDelay, @@ -98,8 +98,8 @@ private: MsgConfigureScopeVis(uint triggerIndex, int triggerChannel, - Real triggerLevel, - bool triggerPositiveEdge, + Real triggerLevel, + bool triggerPositiveEdge, bool triggerBothEdges, uint triggerPre, uint triggerDelay, @@ -120,7 +120,7 @@ private: /** * TriggerState: (repeat at each successive non freerun trigger) - * + * * send a Trigger condition +--------------------+ * dummy trace - Immediate m_triggerOneShot | | * Config -------------> Untriggered ----------------------------------> Triggered ----------------> WaitForReset | diff --git a/sdrgui/dsp/scopevismulti.h b/sdrgui/dsp/scopevismulti.h index a2f5af8de..15bc5d8e9 100644 --- a/sdrgui/dsp/scopevismulti.h +++ b/sdrgui/dsp/scopevismulti.h @@ -731,7 +731,8 @@ private: m_nbSources(1), m_memSize(m_nbTraceMemories), m_currentMemIndex(0), - m_traceSize(m_traceChunkSize) + m_traceSize(m_traceChunkSize), + m_preTrigCount(0) { m_traceBackBuffers.resize(m_nbSources); m_sourceFill.resize(m_nbSources); diff --git a/sdrgui/dsp/spectrumvis.cpp b/sdrgui/dsp/spectrumvis.cpp index 0dc92f0d5..f62928203 100644 --- a/sdrgui/dsp/spectrumvis.cpp +++ b/sdrgui/dsp/spectrumvis.cpp @@ -197,9 +197,12 @@ void SpectrumVis::handleConfigure(int fftSize, int overlapPercent, FFTWindow::Fu { m_overlapPercent = 0; } + else + { + m_overlapPercent = overlapPercent; + } m_fftSize = fftSize; - m_overlapPercent = overlapPercent; m_fft->configure(m_fftSize, false); m_window.create(window, m_fftSize); m_overlapSize = (m_fftSize * m_overlapPercent) / 100; diff --git a/sdrgui/gui/glspectrum.cpp b/sdrgui/gui/glspectrum.cpp index 6c547736e..84e924878 100644 --- a/sdrgui/gui/glspectrum.cpp +++ b/sdrgui/gui/glspectrum.cpp @@ -1279,10 +1279,10 @@ void GLSpectrum::applyChanges() if (sidebands == ChannelMarker::usb) { nw = dv->m_channelMarker->getLowCutoff(); // negative bandwidth - pw = dv->m_channelMarker->getBandwidth() / 2; // positive bandwidth + pw = (dv->m_channelMarker->getBandwidth() / 2); // positive bandwidth } else if (sidebands == ChannelMarker::lsb) { pw = dv->m_channelMarker->getLowCutoff(); - nw = dv->m_channelMarker->getBandwidth() / 2; + nw = (dv->m_channelMarker->getBandwidth() / 2); } else if (sidebands == ChannelMarker::vusb) { nw = -dv->m_channelMarker->getOppositeBandwidth(); // negative bandwidth pw = dv->m_channelMarker->getBandwidth(); // positive bandwidth @@ -1554,7 +1554,7 @@ void GLSpectrum::applyChanges() m_histogramBuffer = new QImage(m_fftSize, 100, QImage::Format_RGB32); - if(m_histogramBuffer != NULL) + if(m_histogramBuffer != 0) { m_histogramBuffer->fill(qRgb(0x00, 0x00, 0x00)); m_glShaderHistogram.initTexture(*m_histogramBuffer, QOpenGLTexture::ClampToEdge); @@ -1581,15 +1581,21 @@ void GLSpectrum::applyChanges() void GLSpectrum::mouseMoveEvent(QMouseEvent* event) { - if(m_displayWaterfall && (m_displayWaterfall || m_displayHistogram || m_displayMaxHold || m_displayCurrent)) { - if(m_frequencyScaleRect.contains(event->pos())) { - if(m_cursorState == CSNormal) { + if (m_displayWaterfall || m_displayHistogram || m_displayMaxHold || m_displayCurrent) + { + if(m_frequencyScaleRect.contains(event->pos())) + { + if(m_cursorState == CSNormal) + { setCursor(Qt::SizeVerCursor); m_cursorState = CSSplitter; return; } - } else { - if(m_cursorState == CSSplitter) { + } + else + { + if(m_cursorState == CSSplitter) + { setCursor(Qt::ArrowCursor); m_cursorState = CSNormal; return; diff --git a/sdrgui/gui/valuedial.cpp b/sdrgui/gui/valuedial.cpp index 9e4cd1e97..4fc002cd7 100644 --- a/sdrgui/gui/valuedial.cpp +++ b/sdrgui/gui/valuedial.cpp @@ -46,11 +46,14 @@ ValueDial::ValueDial(QWidget* parent, ColorMapper colorMapper) : } m_value = 0; + m_valueNew = 0; m_valueMin = 0; m_valueMax = 2200000; m_numDigits = 7; m_numDecimalPoints = m_numDigits / 3; m_cursor = -1; + m_digitWidth = 0; + m_digitHeight = 0; m_hightlightedDigit = -1; m_text = formatText(m_value); diff --git a/sdrgui/gui/valuedialz.cpp b/sdrgui/gui/valuedialz.cpp index c02b1f6a5..004000977 100644 --- a/sdrgui/gui/valuedialz.cpp +++ b/sdrgui/gui/valuedialz.cpp @@ -50,11 +50,14 @@ ValueDialZ::ValueDialZ(bool positiveOnly, QWidget* parent, ColorMapper colorMapp } m_value = 0; + m_valueNew = 0; m_valueMin = m_positiveOnly ? 0 : -2200000; m_valueMax = 2200000; m_numDigits = 7; m_numDecimalPoints = m_numDigits / 3; m_cursor = -1; + m_digitWidth = 0; + m_digitHeight = 0; m_hightlightedDigit = -1; m_text = formatText(m_value); @@ -428,7 +431,7 @@ void ValueDialZ::wheelEvent(QWheelEvent* event) setValue(m_valueNew); emit changed(m_valueNew); - event->accept(); + event->accept(); } }