mirror of
https://github.com/f4exb/sdrangel.git
synced 2025-07-10 21:05:22 -04:00
PVS-Studio static analysis corrections (2) issue #137
This commit is contained in:
parent
f01b90094b
commit
2b846f5d28
devices/plutosdr
fcdhid
httpserver
plugins
channelrx
demodatv
demodbfm
demodlora
channeltx
samplesink
bladerfoutput
filesink
hackrfoutput
limesdroutput
plutosdroutput
sdrdaemonsink
samplesource
airspy
airspyhf
airspyhfi
bladerfinput
fcdpro
fcdproplus
filesource
hackrfinput
limesdrinput
perseus
plutosdrinput
rtlsdr
sdrplay
testsource
sdrbase
audio
dsp
settings
sdrgui
@ -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());
|
||||
|
||||
|
@ -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<u32AddrEnd && u32Addr+47<n64Size && !bFinished; u32Addr+=48)
|
||||
for (u32Addr=u32AddrStart; u32Addr+47<u32AddrEnd && u32Addr+47<n64Size; u32Addr+=48)
|
||||
{
|
||||
memcpy(&aucBufOut[3], &pc[u32Addr], 48);
|
||||
|
||||
@ -681,7 +680,6 @@ FCD_MODE_ENUM fcdBlWriteFirmware(hid_device *phd, char *pc, int64_t n64Size)
|
||||
|
||||
if (aucBufIn[0]!=FCD_CMD_BL_WRITE_FLASH_BLOCK || aucBufIn[1]!=1)
|
||||
{
|
||||
bFinished = TRUE;
|
||||
/*
|
||||
fcdClose(phd);
|
||||
phd = NULL;*/
|
||||
@ -715,7 +713,6 @@ FCD_MODE_ENUM fcdBlVerifyFirmware(hid_device *phd, char *pc, int64_t n64Size)
|
||||
uint32_t u32AddrStart;
|
||||
uint32_t u32AddrEnd;
|
||||
uint32_t u32Addr;
|
||||
BOOL bFinished=FALSE;
|
||||
|
||||
/*
|
||||
phd = fcdOpen();
|
||||
@ -776,7 +773,7 @@ FCD_MODE_ENUM fcdBlVerifyFirmware(hid_device *phd, char *pc, int64_t n64Size)
|
||||
// Read blocks
|
||||
aucBufOut[0] = 0; // Report ID, ignored
|
||||
aucBufOut[1] = FCD_CMD_BL_READ_FLASH_BLOCK;
|
||||
for (u32Addr=u32AddrStart; u32Addr+47<u32AddrEnd && u32Addr+47<n64Size && !bFinished; u32Addr+=48)
|
||||
for (u32Addr=u32AddrStart; u32Addr+47<u32AddrEnd && u32Addr+47<n64Size; u32Addr+=48)
|
||||
{
|
||||
hid_write(phd, aucBufOut, 65);
|
||||
memset(aucBufIn, 0xCC, 65); // Clear out the response buffer
|
||||
@ -784,7 +781,6 @@ FCD_MODE_ENUM fcdBlVerifyFirmware(hid_device *phd, char *pc, int64_t n64Size)
|
||||
|
||||
if (aucBufIn[0]!=FCD_CMD_BL_READ_FLASH_BLOCK || aucBufIn[1]!=1)
|
||||
{
|
||||
bFinished = TRUE;
|
||||
/*
|
||||
fcdClose(phd);
|
||||
phd = NULL;*/
|
||||
@ -794,7 +790,6 @@ FCD_MODE_ENUM fcdBlVerifyFirmware(hid_device *phd, char *pc, int64_t n64Size)
|
||||
|
||||
if (memcmp(&aucBufIn[2],&pc[u32Addr],48)!=0)
|
||||
{
|
||||
bFinished = TRUE;
|
||||
/*
|
||||
fcdClose(phd);
|
||||
phd = NULL;*/
|
||||
|
@ -43,6 +43,9 @@ HttpSession::HttpSession(const HttpSession& other)
|
||||
|
||||
HttpSession& HttpSession::operator= (const HttpSession& other)
|
||||
{
|
||||
if (this == &other) {
|
||||
return *this;
|
||||
}
|
||||
HttpSessionData* oldPtr=dataPtr;
|
||||
dataPtr=other.dataPtr;
|
||||
if (dataPtr)
|
||||
|
@ -168,8 +168,6 @@ void ATVDemod::feed(const SampleVector::const_iterator& begin, const SampleVecto
|
||||
float fltQ;
|
||||
Complex ci;
|
||||
|
||||
qint16 * ptrBufferToRelease = 0;
|
||||
|
||||
//********** Let's rock and roll buddy ! **********
|
||||
|
||||
m_objSettingsMutex.lock();
|
||||
@ -178,6 +176,7 @@ void ATVDemod::feed(const SampleVector::const_iterator& begin, const SampleVecto
|
||||
|
||||
#ifdef EXTENDED_DIRECT_SAMPLE
|
||||
|
||||
qint16 * ptrBufferToRelease = 0;
|
||||
qint16 * ptrBuffer;
|
||||
qint32 intLen;
|
||||
|
||||
@ -232,10 +231,12 @@ void ATVDemod::feed(const SampleVector::const_iterator& begin, const SampleVecto
|
||||
m_scopeSampleBuffer.clear();
|
||||
}
|
||||
|
||||
#ifdef EXTENDED_DIRECT_SAMPLE
|
||||
if (ptrBufferToRelease != 0)
|
||||
{
|
||||
delete ptrBufferToRelease;
|
||||
}
|
||||
#endif
|
||||
|
||||
m_objSettingsMutex.unlock();
|
||||
}
|
||||
|
@ -59,6 +59,9 @@ void ATVDemodSettings::resetToDefaults()
|
||||
m_blnVSync = false;
|
||||
m_blnInvertVideo = false;
|
||||
m_intVideoTabIndex = 0;
|
||||
m_fltLineTimeMultiplier = 1.0f;
|
||||
m_fltTopTimeMultiplier = 1.0f;
|
||||
m_rfSliderDivisor = 1;
|
||||
|
||||
m_intTVSampleRate = 0;
|
||||
m_intNumberSamplePerLine = 0;
|
||||
|
@ -27,12 +27,10 @@ const unsigned int RDSDecoder::syndrome[5] = {383,14,303,663,748};
|
||||
RDSDecoder::RDSDecoder()
|
||||
{
|
||||
m_reg = 0;
|
||||
m_sync = NO_SYNC;
|
||||
m_presync = false;
|
||||
m_lastseenOffsetCounter = 0;
|
||||
m_bitCounter = 0;
|
||||
m_lastseenOffset = 0;
|
||||
m_wrongBlocksCounter = 0;
|
||||
m_blocksCounter = 0;
|
||||
m_blockBitCounter = 0;
|
||||
m_blockNumber = 0;
|
||||
|
@ -50,6 +50,13 @@ RDSDemod::RDSDemod()
|
||||
m_parms.reading_frame = 0;
|
||||
m_parms.dbit = 0;
|
||||
m_prev = 0.0f;
|
||||
memset(m_xv, 0, 6*sizeof(Real));
|
||||
memset(m_yv, 0, 6*sizeof(Real));
|
||||
memset(m_xw, 0, 2*sizeof(Real));
|
||||
memset(m_yw, 0, 2*sizeof(Real));
|
||||
m_report.acc = 0.0f;
|
||||
m_report.fclk = 0.0f;
|
||||
m_report.qua = 0.0f;
|
||||
}
|
||||
|
||||
RDSDemod::~RDSDemod()
|
||||
|
@ -261,6 +261,9 @@ void RDSParser::clearUpdateFlags()
|
||||
m_g14_updated = false;
|
||||
m_g14_data_available = false;
|
||||
m_g15_updated = false;
|
||||
radiotext_AB_flag = false;
|
||||
debug = false;
|
||||
log = false;
|
||||
}
|
||||
|
||||
void RDSParser::clearAllFields()
|
||||
@ -272,6 +275,8 @@ void RDSParser::clearAllFields()
|
||||
m_pi_area_coverage_index = 0;
|
||||
m_pi_country_identification = 0;
|
||||
m_pi_traffic_program = false;
|
||||
pi_country_identification = 0;
|
||||
pi_program_reference_number = 0;
|
||||
|
||||
// Group 00 data
|
||||
m_g0_count = 0;
|
||||
@ -854,7 +859,7 @@ void RDSParser::decode_type8(unsigned int *group, bool B)
|
||||
|
||||
bool T = (group[1] >> 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];
|
||||
|
@ -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)
|
||||
{
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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);
|
||||
|
@ -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)
|
||||
|
@ -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
|
||||
}
|
||||
|
@ -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);
|
||||
}
|
||||
|
@ -38,7 +38,6 @@ protected:
|
||||
int flen;
|
||||
int flen2;
|
||||
g_fft<float> *fft;
|
||||
g_fft<float> *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) {
|
||||
|
@ -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<FFT_TYPE>::fftBRInit(int M, short *BRLow)
|
||||
// bit reverse and first radix 2 stage of forward or inverse fft
|
||||
//------------------------------------------------------------------------------
|
||||
template <typename FFT_TYPE>
|
||||
void g_fft<FFT_TYPE>::bitrevR2(FFT_TYPE *ioptr, int M, short *BRLow)
|
||||
void g_fft<FFT_TYPE>::bitrevR2(FFT_TYPE *ioptr, int M, short *inBRLow)
|
||||
{
|
||||
FFT_TYPE f0r;
|
||||
FFT_TYPE f0i;
|
||||
@ -229,9 +229,9 @@ void g_fft<FFT_TYPE>::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<FFT_TYPE>::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<FFT_TYPE>::bfR4(FFT_TYPE *ioptr, int M, int NDiffU)
|
||||
// RADIX 8 Stages
|
||||
//------------------------------------------------------------------------------
|
||||
template <typename FFT_TYPE>
|
||||
void g_fft<FFT_TYPE>::bfstages(FFT_TYPE *ioptr, int M, FFT_TYPE *Utbl, int Ustride,
|
||||
void g_fft<FFT_TYPE>::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<FFT_TYPE>::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<FFT_TYPE>::ffts1(FFT_TYPE *ioptr, int M, FFT_TYPE *Utbl, short *BRLow
|
||||
// scaled bit reverse and first radix 2 stage forward or inverse fft
|
||||
//------------------------------------------------------------------------------
|
||||
template <typename FFT_TYPE>
|
||||
void g_fft<FFT_TYPE>::scbitrevR2(FFT_TYPE *ioptr, int M, short *BRLow, FFT_TYPE scale)
|
||||
void g_fft<FFT_TYPE>::scbitrevR2(FFT_TYPE *ioptr, int M, short *inBRLow, FFT_TYPE scale)
|
||||
{
|
||||
FFT_TYPE f0r;
|
||||
FFT_TYPE f0i;
|
||||
@ -1275,9 +1275,9 @@ void g_fft<FFT_TYPE>::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<FFT_TYPE>::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<FFT_TYPE>::ibfR4(FFT_TYPE *ioptr, int M, int NDiffU)
|
||||
// RADIX 8 Stages
|
||||
//------------------------------------------------------------------------------
|
||||
template <typename FFT_TYPE>
|
||||
void g_fft<FFT_TYPE>::ibfstages(FFT_TYPE *ioptr, int M, FFT_TYPE *Utbl, int Ustride,
|
||||
void g_fft<FFT_TYPE>::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<FFT_TYPE>::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<FFT_TYPE>::rfft8pt(FFT_TYPE *ioptr)
|
||||
// Finish RFFT
|
||||
//------------------------------------------------------------------------------
|
||||
template <typename FFT_TYPE>
|
||||
void g_fft<FFT_TYPE>::frstage(FFT_TYPE *ioptr, int M, FFT_TYPE *Utbl)
|
||||
void g_fft<FFT_TYPE>::frstage(FFT_TYPE *ioptr, int M, FFT_TYPE *inUtbl)
|
||||
{
|
||||
unsigned int pos;
|
||||
unsigned int posi;
|
||||
@ -2587,7 +2587,7 @@ void g_fft<FFT_TYPE>::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<FFT_TYPE>::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<FFT_TYPE>::rifft8pt(FFT_TYPE *ioptr, FFT_TYPE scale)
|
||||
// Start RIFFT
|
||||
//------------------------------------------------------------------------------
|
||||
template <typename FFT_TYPE>
|
||||
void g_fft<FFT_TYPE>::ifrstage(FFT_TYPE *ioptr, int M, FFT_TYPE *Utbl)
|
||||
void g_fft<FFT_TYPE>::ifrstage(FFT_TYPE *ioptr, int M, FFT_TYPE *inUtbl)
|
||||
{
|
||||
unsigned int pos;
|
||||
unsigned int posi;
|
||||
@ -3058,7 +3058,7 @@ void g_fft<FFT_TYPE>::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<FFT_TYPE>::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;
|
||||
|
||||
|
@ -42,6 +42,7 @@ NCO::NCO()
|
||||
{
|
||||
initTable();
|
||||
m_phase = 0;
|
||||
m_phaseIncrement = 0;
|
||||
}
|
||||
|
||||
void NCO::setFreq(Real freq, Real sampleRate)
|
||||
|
@ -44,6 +44,7 @@ NCOF::NCOF()
|
||||
{
|
||||
initTable();
|
||||
m_phase = 0.0f;
|
||||
m_phaseIncrement = 0.0f;
|
||||
}
|
||||
|
||||
void NCOF::setFreq(Real freq, Real sampleRate)
|
||||
|
@ -4,7 +4,7 @@
|
||||
#include "settings/mainsettings.h"
|
||||
#include "commands/command.h"
|
||||
|
||||
MainSettings::MainSettings()
|
||||
MainSettings::MainSettings() : m_audioDeviceInfo(0)
|
||||
{
|
||||
resetToDefaults();
|
||||
}
|
||||
|
@ -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
|
||||
|
@ -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 |
|
||||
|
@ -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);
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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);
|
||||
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user