From ce2aad5a7a35c320152404f135801fe0ff947326 Mon Sep 17 00:00:00 2001 From: f4exb Date: Tue, 24 Nov 2020 00:02:44 +0100 Subject: [PATCH] Fixed narrowing warning when Rx sample size is 16 bits --- .../demodchirpchat/chirpchatdemoddecodertty.cpp | 2 +- plugins/samplemimo/metismiso/metismisoudphandler.cpp | 4 +++- sdrbase/dsp/dspdevicemimoengine.cpp | 11 +++++------ sdrbase/dsp/dspdevicesinkengine.cpp | 11 +++++------ 4 files changed, 14 insertions(+), 14 deletions(-) diff --git a/plugins/channelrx/demodchirpchat/chirpchatdemoddecodertty.cpp b/plugins/channelrx/demodchirpchat/chirpchatdemoddecodertty.cpp index a24aa895d..1d776b0be 100644 --- a/plugins/channelrx/demodchirpchat/chirpchatdemoddecodertty.cpp +++ b/plugins/channelrx/demodchirpchat/chirpchatdemoddecodertty.cpp @@ -48,7 +48,7 @@ void ChirpChatDemodDecoderTTY::decodeSymbols(const std::vector& } else { - char asciiChar = -1; + signed char asciiChar = -1; if (ttyState == TTYLetters) { asciiChar = ttyLetters[(int) ttyChar]; diff --git a/plugins/samplemimo/metismiso/metismisoudphandler.cpp b/plugins/samplemimo/metismiso/metismisoudphandler.cpp index e04741629..daa96ae4a 100644 --- a/plugins/samplemimo/metismiso/metismisoudphandler.cpp +++ b/plugins/samplemimo/metismiso/metismisoudphandler.cpp @@ -583,7 +583,9 @@ void MetisMISOUDPHandler::processIQBuffer(unsigned char* buffer) { if (m_settings.m_log2Decim == 0) // no decimation - direct conversion { - m_convertBuffer[r][m_sampleCount] = getRxIQInversion(r) ? Sample{sampleQ, sampleI} : Sample{sampleI, sampleQ}; + m_convertBuffer[r][m_sampleCount] = getRxIQInversion(r) + ? Sample{(FixReal) sampleQ, (FixReal) sampleI} + : Sample{(FixReal) sampleI, (FixReal) sampleQ}; samplesAdded = 1; } else diff --git a/sdrbase/dsp/dspdevicemimoengine.cpp b/sdrbase/dsp/dspdevicemimoengine.cpp index dd782e82c..a486b071e 100644 --- a/sdrbase/dsp/dspdevicemimoengine.cpp +++ b/sdrbase/dsp/dspdevicemimoengine.cpp @@ -453,12 +453,11 @@ void DSPDeviceMIMOEngine::workSamplesSource(SampleVector& data, unsigned int iBe begin, begin, [this](Sample& a, const Sample& b) -> Sample { - int den = m_sumIndex + 1; // at each stage scale sum by n/n+1 and input by 1/n+1 - int nom = m_sumIndex; // so that final sum is scaled by N (number of channels) - return Sample{ - a.real()/den + nom*(b.real()/den), - a.imag()/den + nom*(b.imag()/den) - }; + FixReal den = m_sumIndex + 1; // at each stage scale sum by n/n+1 and input by 1/n+1 + FixReal nom = m_sumIndex; // so that final sum is scaled by N (number of channels) + FixReal x = a.real()/den + nom*(b.real()/den); + FixReal y = a.imag()/den + nom*(b.imag()/den); + return Sample{x, y}; } ); } diff --git a/sdrbase/dsp/dspdevicesinkengine.cpp b/sdrbase/dsp/dspdevicesinkengine.cpp index 9430646cb..edac8e5fc 100644 --- a/sdrbase/dsp/dspdevicesinkengine.cpp +++ b/sdrbase/dsp/dspdevicesinkengine.cpp @@ -222,12 +222,11 @@ void DSPDeviceSinkEngine::workSamples(SampleVector& data, unsigned int iBegin, u data.begin() + iBegin, data.begin() + iBegin, [this](Sample& a, const Sample& b) -> Sample { - int den = m_sumIndex + 1; // at each stage scale sum by n/n+1 and input by 1/n+1 - int nom = m_sumIndex; // so that final sum is scaled by N (number of channels) - return Sample{ - a.real()/den + nom*(b.real()/den), - a.imag()/den + nom*(b.imag()/den) - }; + FixReal den = m_sumIndex + 1; // at each stage scale sum by n/n+1 and input by 1/n+1 + FixReal nom = m_sumIndex; // so that final sum is scaled by N (number of channels) + FixReal x = a.real()/den + nom*(b.real()/den); + FixReal y = a.imag()/den + nom*(b.imag()/den); + return Sample{x, y}; } ); }