From 503c6093b9ac2d7492c93c7c0dec7f2af82973c5 Mon Sep 17 00:00:00 2001 From: f4exb Date: Sun, 4 Mar 2018 04:00:02 +0100 Subject: [PATCH] DATV demod: removed using namespace leansdr --- plugins/channelrx/demoddatv/datvdemod.cpp | 102 ++++++++-------- plugins/channelrx/demoddatv/datvdemod.h | 118 +++++++++---------- plugins/channelrx/demoddatv/datvdemodgui.cpp | 40 +++---- 3 files changed, 129 insertions(+), 131 deletions(-) diff --git a/plugins/channelrx/demoddatv/datvdemod.cpp b/plugins/channelrx/demoddatv/datvdemod.cpp index 8f7a28059..d67be7c15 100644 --- a/plugins/channelrx/demoddatv/datvdemod.cpp +++ b/plugins/channelrx/demoddatv/datvdemod.cpp @@ -182,7 +182,7 @@ void DATVDemod::configure(MessageQueue* objMessageQueue, int intCenterFrequency, dvb_version enmStandard, DATVModulation enmModulation, - code_rate enmFEC, + leansdr::code_rate enmFEC, int intSymbolRate, int intNotchFilters, bool blnAllowDrift, @@ -202,7 +202,7 @@ void DATVDemod::InitDATVParameters(int intMsps, int intCenterFrequency, dvb_version enmStandard, DATVModulation enmModulation, - code_rate enmFEC, + leansdr::code_rate enmFEC, int intSampleRate, int intSymbolRate, int intNotchFilters, @@ -472,43 +472,43 @@ void DATVDemod::InitDATVFramework() switch(m_objRunning.enmModulation) { case BPSK: - m_objCfg.constellation = cstln_lut<256>::BPSK; + m_objCfg.constellation = leansdr::cstln_lut<256>::BPSK; break; case QPSK: - m_objCfg.constellation = cstln_lut<256>::QPSK; + m_objCfg.constellation = leansdr::cstln_lut<256>::QPSK; break; case PSK8: - m_objCfg.constellation = cstln_lut<256>::PSK8; + m_objCfg.constellation = leansdr::cstln_lut<256>::PSK8; break; case APSK16: - m_objCfg.constellation = cstln_lut<256>::APSK16; + m_objCfg.constellation = leansdr::cstln_lut<256>::APSK16; break; case APSK32: - m_objCfg.constellation = cstln_lut<256>::APSK32; + m_objCfg.constellation = leansdr::cstln_lut<256>::APSK32; break; case APSK64E: - m_objCfg.constellation = cstln_lut<256>::APSK64E; + m_objCfg.constellation = leansdr::cstln_lut<256>::APSK64E; break; case QAM16: - m_objCfg.constellation = cstln_lut<256>::QAM16; + m_objCfg.constellation = leansdr::cstln_lut<256>::QAM16; break; case QAM64: - m_objCfg.constellation = cstln_lut<256>::QAM64; + m_objCfg.constellation = leansdr::cstln_lut<256>::QAM64; break; case QAM256: - m_objCfg.constellation = cstln_lut<256>::QAM256; + m_objCfg.constellation = leansdr::cstln_lut<256>::QAM256; break; default: - m_objCfg.constellation = cstln_lut<256>::BPSK; + m_objCfg.constellation = leansdr::cstln_lut<256>::BPSK; break; } @@ -550,19 +550,19 @@ void DATVDemod::InitDATVFramework() m_lngExpectedReadIQ = BUF_BASEBAND; - m_objScheduler = new scheduler(); + m_objScheduler = new leansdr::scheduler(); //*************** - p_rawiq = new pipebuf(m_objScheduler, "rawiq", BUF_BASEBAND); - p_rawiq_writer = new pipewriter(*p_rawiq); + p_rawiq = new leansdr::pipebuf(m_objScheduler, "rawiq", BUF_BASEBAND); + p_rawiq_writer = new leansdr::pipewriter(*p_rawiq); p_preprocessed = p_rawiq; // NOTCH FILTER if ( m_objCfg.anf>0 ) { - p_autonotched = new pipebuf(m_objScheduler, "autonotched", BUF_BASEBAND); - r_auto_notch = new auto_notch(m_objScheduler, *p_preprocessed, *p_autonotched, m_objCfg.anf, 0); + p_autonotched = new leansdr::pipebuf(m_objScheduler, "autonotched", BUF_BASEBAND); + r_auto_notch = new leansdr::auto_notch(m_objScheduler, *p_preprocessed, *p_autonotched, m_objCfg.anf, 0); p_preprocessed = p_autonotched; } @@ -573,11 +573,11 @@ void DATVDemod::InitDATVFramework() // CNR ESTIMATION - p_cnr = new pipebuf(m_objScheduler, "cnr", BUF_SLOW); + p_cnr = new leansdr::pipebuf(m_objScheduler, "cnr", BUF_SLOW); if ( m_objCfg.cnr==true ) { - r_cnr = new cnr_fft(m_objScheduler, *p_preprocessed, *p_cnr, m_objCfg.Fm/m_objCfg.Fs); + r_cnr = new leansdr::cnr_fft(m_objScheduler, *p_preprocessed, *p_cnr, m_objCfg.Fm/m_objCfg.Fs); r_cnr->decimation = decimation(m_objCfg.Fs, 1); // 1 Hz } @@ -598,20 +598,20 @@ void DATVDemod::InitDATVFramework() // Generic constellation receiver - p_symbols = new pipebuf(m_objScheduler, "PSK soft-symbols", BUF_SYMBOLS); - p_freq = new pipebuf (m_objScheduler, "freq", BUF_SLOW); - p_ss = new pipebuf (m_objScheduler, "SS", BUF_SLOW); - p_mer = new pipebuf (m_objScheduler, "MER", BUF_SLOW); - p_sampled = new pipebuf (m_objScheduler, "PSK symbols", BUF_BASEBAND); + p_symbols = new leansdr::pipebuf(m_objScheduler, "PSK soft-symbols", BUF_SYMBOLS); + p_freq = new leansdr::pipebuf (m_objScheduler, "freq", BUF_SLOW); + p_ss = new leansdr::pipebuf (m_objScheduler, "SS", BUF_SLOW); + p_mer = new leansdr::pipebuf (m_objScheduler, "MER", BUF_SLOW); + p_sampled = new leansdr::pipebuf (m_objScheduler, "PSK symbols", BUF_BASEBAND); switch ( m_objCfg.sampler ) { case SAMP_NEAREST: - sampler = new nearest_sampler(); + sampler = new leansdr::nearest_sampler(); break; case SAMP_LINEAR: - sampler = new linear_sampler(); + sampler = new leansdr::linear_sampler(); break; case SAMP_RRC: @@ -621,15 +621,15 @@ void DATVDemod::InitDATVFramework() if ( m_objCfg.rrc_steps == 0 ) { // At least 64 discrete sampling points between symbols - m_objCfg.rrc_steps = max(1, (int)(64*m_objCfg.Fm / m_objCfg.Fs)); + m_objCfg.rrc_steps = std::max(1, (int)(64*m_objCfg.Fm / m_objCfg.Fs)); } float Frrc = m_objCfg.Fs * m_objCfg.rrc_steps; // Sample freq of the RRC filter float transition = (m_objCfg.Fm/2) * m_objCfg.rolloff; int order = m_objCfg.rrc_rej * Frrc / (22*transition); - ncoeffs_sampler = filtergen::root_raised_cosine(order, m_objCfg.Fm/Frrc, m_objCfg.rolloff, &coeffs_sampler); + ncoeffs_sampler = leansdr::filtergen::root_raised_cosine(order, m_objCfg.Fm/Frrc, m_objCfg.rolloff, &coeffs_sampler); - sampler = new fir_sampler(ncoeffs_sampler, coeffs_sampler, m_objCfg.rrc_steps); + sampler = new leansdr::fir_sampler(ncoeffs_sampler, coeffs_sampler, m_objCfg.rrc_steps); break; } @@ -638,11 +638,11 @@ void DATVDemod::InitDATVFramework() return; } - m_objDemodulator = new cstln_receiver(m_objScheduler, sampler, *p_preprocessed, *p_symbols, p_freq, p_ss, p_mer, p_sampled); + m_objDemodulator = new leansdr::cstln_receiver(m_objScheduler, sampler, *p_preprocessed, *p_symbols, p_freq, p_ss, p_mer, p_sampled); if ( m_objCfg.standard == DVB_S ) { - if ( m_objCfg.constellation != cstln_lut<256>::QPSK && m_objCfg.constellation != cstln_lut<256>::BPSK ) + if ( m_objCfg.constellation != leansdr::cstln_lut<256>::QPSK && m_objCfg.constellation != leansdr::cstln_lut<256>::BPSK ) { fprintf(stderr, "Warning: non-standard constellation for DVB-S\n"); } @@ -696,13 +696,13 @@ void DATVDemod::InitDATVFramework() m_objRegisteredDATVScreen->resizeDATVScreen(256,256); - r_scope_symbols = new datvconstellation(m_objScheduler, *p_sampled, -128,128, NULL, m_objRegisteredDATVScreen); + r_scope_symbols = new leansdr::datvconstellation(m_objScheduler, *p_sampled, -128,128, NULL, m_objRegisteredDATVScreen); r_scope_symbols->decimation = 1; r_scope_symbols->cstln = &m_objDemodulator->cstln; // DECONVOLUTION AND SYNCHRONIZATION - p_bytes = new pipebuf(m_objScheduler, "bytes", BUF_BYTES); + p_bytes = new leansdr::pipebuf(m_objScheduler, "bytes", BUF_BYTES); r_deconv = NULL; @@ -710,13 +710,13 @@ void DATVDemod::InitDATVFramework() if ( m_objCfg.viterbi ) { - if ( m_objCfg.fec==FEC23 && (m_objDemodulator->cstln->nsymbols==4 || m_objDemodulator->cstln->nsymbols==64) ) + if ( m_objCfg.fec == leansdr::FEC23 && (m_objDemodulator->cstln->nsymbols == 4 || m_objDemodulator->cstln->nsymbols == 64) ) { - m_objCfg.fec = FEC46; + m_objCfg.fec = leansdr::FEC46; } //To uncomment -> Linking Problem : undefined symbol: _ZN7leansdr21viterbi_dec_interfaceIhhiiE6updateEPiS2_ - r = new viterbi_sync(m_objScheduler, (*p_symbols), (*p_bytes), m_objDemodulator->cstln, m_objCfg.fec); + r = new leansdr::viterbi_sync(m_objScheduler, (*p_symbols), (*p_bytes), m_objDemodulator->cstln, m_objCfg.fec); if ( m_objCfg.fastlock ) { @@ -731,25 +731,25 @@ void DATVDemod::InitDATVFramework() //******* -> if ( m_objCfg.hdlc ) - p_mpegbytes = new pipebuf (m_objScheduler, "mpegbytes", BUF_MPEGBYTES); - p_lock = new pipebuf (m_objScheduler, "lock", BUF_SLOW); - p_locktime = new pipebuf (m_objScheduler, "locktime", BUF_PACKETS); + p_mpegbytes = new leansdr::pipebuf (m_objScheduler, "mpegbytes", BUF_MPEGBYTES); + p_lock = new leansdr::pipebuf (m_objScheduler, "lock", BUF_SLOW); + p_locktime = new leansdr::pipebuf (m_objScheduler, "locktime", BUF_PACKETS); - r_sync_mpeg = new mpeg_sync(m_objScheduler, *p_bytes, *p_mpegbytes, r_deconv, p_lock, p_locktime); + r_sync_mpeg = new leansdr::mpeg_sync(m_objScheduler, *p_bytes, *p_mpegbytes, r_deconv, p_lock, p_locktime); r_sync_mpeg->fastlock = m_objCfg.fastlock; // DEINTERLEAVING - p_rspackets = new pipebuf< rspacket >(m_objScheduler, "RS-enc packets", BUF_PACKETS); - r_deinter = new deinterleaver(m_objScheduler, *p_mpegbytes, *p_rspackets); + p_rspackets = new leansdr::pipebuf< leansdr::rspacket >(m_objScheduler, "RS-enc packets", BUF_PACKETS); + r_deinter = new leansdr::deinterleaver(m_objScheduler, *p_mpegbytes, *p_rspackets); // REED-SOLOMON - p_vbitcount = new pipebuf(m_objScheduler, "Bits processed", BUF_PACKETS); - p_verrcount = new pipebuf(m_objScheduler, "Bits corrected", BUF_PACKETS); - p_rtspackets = new pipebuf(m_objScheduler, "rand TS packets", BUF_PACKETS); - r_rsdec = new rs_decoder (m_objScheduler, *p_rspackets, *p_rtspackets, p_vbitcount, p_verrcount); + p_vbitcount = new leansdr::pipebuf(m_objScheduler, "Bits processed", BUF_PACKETS); + p_verrcount = new leansdr::pipebuf(m_objScheduler, "Bits corrected", BUF_PACKETS); + p_rtspackets = new leansdr::pipebuf(m_objScheduler, "rand TS packets", BUF_PACKETS); + r_rsdec = new leansdr::rs_decoder (m_objScheduler, *p_rspackets, *p_rtspackets, p_vbitcount, p_verrcount); // BER ESTIMATION @@ -768,12 +768,12 @@ void DATVDemod::InitDATVFramework() // DERANDOMIZATION - p_tspackets = new pipebuf(m_objScheduler, "TS packets", BUF_PACKETS); - r_derand = new derandomizer(m_objScheduler, *p_rtspackets, *p_tspackets); + p_tspackets = new leansdr::pipebuf(m_objScheduler, "TS packets", BUF_PACKETS); + r_derand = new leansdr::derandomizer(m_objScheduler, *p_rtspackets, *p_tspackets); // OUTPUT - r_videoplayer = new datvvideoplayer(m_objScheduler, *p_tspackets,m_objVideoStream); + r_videoplayer = new leansdr::datvvideoplayer(m_objScheduler, *p_tspackets,m_objVideoStream); m_blnDVBInitialized=true; } @@ -783,7 +783,7 @@ void DATVDemod::feed(const SampleVector::const_iterator& begin, const SampleVect qint16 * ptrBufferToRelease=NULL; float fltI; float fltQ; - cf32 objIQ; + leansdr::cf32 objIQ; //Complex objC; fftfilt::cmplx *objRF; int intRFOut; @@ -866,7 +866,7 @@ void DATVDemod::feed(const SampleVector::const_iterator& begin, const SampleVect m_lngReadIQ=0; delete p_rawiq_writer; - p_rawiq_writer = new pipewriter(*p_rawiq); + p_rawiq_writer = new leansdr::pipewriter(*p_rawiq); } } diff --git a/plugins/channelrx/demoddatv/datvdemod.h b/plugins/channelrx/demoddatv/datvdemod.h index be7906145..815407ef3 100644 --- a/plugins/channelrx/demoddatv/datvdemod.h +++ b/plugins/channelrx/demoddatv/datvdemod.h @@ -66,13 +66,11 @@ class DownChannelizer; #include "datvideostream.h" #include "datvideorender.h" -using namespace leansdr; - enum DATVModulation { BPSK, QPSK, PSK8, APSK16, APSK32, APSK64E, QAM16, QAM64, QAM256 }; enum dvb_version { DVB_S, DVB_S2 }; enum dvb_sampler { SAMP_NEAREST, SAMP_LINEAR, SAMP_RRC }; -inline int decimation(float Fin, float Fout) { int d = Fin / Fout; return max(d, 1); } +inline int decimation(float Fin, float Fout) { int d = Fin / Fout; return std::max(d, 1); } struct config { @@ -86,8 +84,8 @@ struct config bool cnr; // Measure CNR unsigned int decim; // Decimation, 0=auto float Fm; // QPSK symbol rate (Hz) - cstln_lut<256>::predef constellation; - code_rate fec; + leansdr::cstln_lut<256>::predef constellation; + leansdr::code_rate fec; float Ftune; // Bias frequency for the QPSK demodulator (Hz) bool allow_drift; bool fastlock; @@ -108,12 +106,12 @@ struct config buf_factor(4), Fs(2.4e6), Fderot(0), - anf(1), + anf(0), cnr(false), decim(0), Fm(2e6), - constellation(cstln_lut<256>::QPSK), - fec(FEC12), + constellation(leansdr::cstln_lut<256>::QPSK), + fec(leansdr::FEC12), Ftune(0), allow_drift(false), fastlock(true), @@ -139,7 +137,7 @@ struct DATVConfig int intCenterFrequency; dvb_version enmStandard; DATVModulation enmModulation; - code_rate enmFEC; + leansdr::code_rate enmFEC; int intSampleRate; int intSymbolRate; int intNotchFilters; @@ -157,7 +155,7 @@ struct DATVConfig intCenterFrequency(0), enmStandard(DVB_S), enmModulation(BPSK), - enmFEC(FEC12), + enmFEC(leansdr::FEC12), intSampleRate(1024000), intSymbolRate(250000), intNotchFilters(1), @@ -196,7 +194,7 @@ public: int intCenterFrequency, dvb_version enmStandard, DATVModulation enmModulation, - code_rate enmFEC, + leansdr::code_rate enmFEC, int intSymbolRate, int intNotchFilters, bool blnAllowDrift, @@ -223,7 +221,7 @@ public: int intCenterFrequency, dvb_version enmStandard, DATVModulation enmModulation, - code_rate enmFEC, + leansdr::code_rate enmFEC, int intSampleRate, int intSymbolRate, int intNotchFilters, @@ -278,7 +276,7 @@ private: int intCenterFrequency, dvb_version enmStandard, DATVModulation enmModulation, - code_rate enmFEC, + leansdr::code_rate enmFEC, int intSymbolRate, int intNotchFilters, bool blnAllowDrift, @@ -300,7 +298,7 @@ private: int intCenterFrequency, dvb_version enmStandard, DATVModulation enmModulation, - code_rate enmFEC, + leansdr::code_rate enmFEC, int intSymbolRate, int intNotchFilters, bool blnAllowDrift, @@ -343,7 +341,7 @@ private: //************** LEANDBV Scheduler *************** - scheduler * m_objScheduler; + leansdr::scheduler * m_objScheduler; struct config m_objCfg; bool m_blnDVBInitialized; @@ -352,90 +350,90 @@ private: //LeanSDR Pipe Buffer // INPUT - pipebuf *p_rawiq; - pipewriter *p_rawiq_writer; - pipebuf *p_preprocessed; + leansdr::pipebuf *p_rawiq; + leansdr::pipewriter *p_rawiq_writer; + leansdr::pipebuf *p_preprocessed; // NOTCH FILTER - auto_notch *r_auto_notch; - pipebuf *p_autonotched; + leansdr::auto_notch *r_auto_notch; + leansdr::pipebuf *p_autonotched; // FREQUENCY CORRECTION : DEROTATOR - pipebuf *p_derot; - rotator *r_derot; + leansdr::pipebuf *p_derot; + leansdr::rotator *r_derot; // CNR ESTIMATION - pipebuf *p_cnr; - cnr_fft *r_cnr; + leansdr::pipebuf *p_cnr; + leansdr::cnr_fft *r_cnr; //FILTERING - fir_filter *r_resample; - pipebuf *p_resampled; + leansdr::fir_filter *r_resample; + leansdr::pipebuf *p_resampled; float *coeffs; int ncoeffs; // OUTPUT PREPROCESSED DATA - sampler_interface *sampler; + leansdr::sampler_interface *sampler; float *coeffs_sampler; int ncoeffs_sampler; - pipebuf *p_symbols; - pipebuf *p_freq; - pipebuf *p_ss; - pipebuf *p_mer; - pipebuf *p_sampled; + leansdr::pipebuf *p_symbols; + leansdr::pipebuf *p_freq; + leansdr::pipebuf *p_ss; + leansdr::pipebuf *p_mer; + leansdr::pipebuf *p_sampled; //DECIMATION - pipebuf *p_decimated; - decimator *p_decim; + leansdr::pipebuf *p_decimated; + leansdr::decimator *p_decim; //PROCESSED DATA MONITORING - file_writer *r_ppout; + leansdr::file_writer *r_ppout; //GENERIC CONSTELLATION RECEIVER - cstln_receiver *m_objDemodulator; + leansdr::cstln_receiver *m_objDemodulator; // DECONVOLUTION AND SYNCHRONIZATION - pipebuf *p_bytes; - deconvol_sync_simple *r_deconv; - viterbi_sync *r; - pipebuf *p_descrambled; - pipebuf *p_frames; + leansdr::pipebuf *p_bytes; + leansdr::deconvol_sync_simple *r_deconv; + leansdr::viterbi_sync *r; + leansdr::pipebuf *p_descrambled; + leansdr::pipebuf *p_frames; - etr192_descrambler * r_etr192_descrambler; - hdlc_sync *r_sync; + leansdr::etr192_descrambler * r_etr192_descrambler; + leansdr::hdlc_sync *r_sync; - pipebuf *p_mpegbytes; - pipebuf *p_lock; - pipebuf *p_locktime; - mpeg_sync *r_sync_mpeg; + leansdr::pipebuf *p_mpegbytes; + leansdr::pipebuf *p_lock; + leansdr::pipebuf *p_locktime; + leansdr::mpeg_sync *r_sync_mpeg; // DEINTERLEAVING - pipebuf< rspacket > *p_rspackets; - deinterleaver *r_deinter; + leansdr::pipebuf > *p_rspackets; + leansdr::deinterleaver *r_deinter; // REED-SOLOMON - pipebuf *p_vbitcount; - pipebuf *p_verrcount; - pipebuf *p_rtspackets; - rs_decoder *r_rsdec; + leansdr::pipebuf *p_vbitcount; + leansdr::pipebuf *p_verrcount; + leansdr::pipebuf *p_rtspackets; + leansdr::rs_decoder *r_rsdec; // BER ESTIMATION - pipebuf *p_vber; - rate_estimator *r_vber; + leansdr::pipebuf *p_vber; + leansdr::rate_estimator *r_vber; // DERANDOMIZATION - pipebuf *p_tspackets; - derandomizer *r_derand; + leansdr::pipebuf *p_tspackets; + leansdr::derandomizer *r_derand; //OUTPUT - file_writer *r_stdout; - datvvideoplayer *r_videoplayer; + leansdr::file_writer *r_stdout; + leansdr::datvvideoplayer *r_videoplayer; //CONSTELLATION - datvconstellation *r_scope_symbols; + leansdr::datvconstellation *r_scope_symbols; DeviceSourceAPI* m_deviceAPI; diff --git a/plugins/channelrx/demoddatv/datvdemodgui.cpp b/plugins/channelrx/demoddatv/datvdemodgui.cpp index aa23c85e9..7fab97e52 100644 --- a/plugins/channelrx/demoddatv/datvdemodgui.cpp +++ b/plugins/channelrx/demoddatv/datvdemodgui.cpp @@ -87,7 +87,7 @@ void DATVDemodGUI::resetToDefaults() ui->cmbFilter->setCurrentIndex(0); displayRRCParameters(false); - ui->spiNotchFilters->setValue(1); + ui->spiNotchFilters->setValue(0); ui->prgSynchro->setValue(0); ui->lblStatus->setText(""); @@ -191,7 +191,7 @@ bool DATVDemodGUI::deserialize(const QByteArray& arrData) d.readS32(11, &tmp, 0); ui->cmbStandard->setCurrentIndex(tmp); - d.readS32(12, &tmp, 1); + d.readS32(12, &tmp, 0); ui->spiNotchFilters->setValue(tmp); d.readS32(13, &tmp, 1024000); @@ -320,7 +320,7 @@ void DATVDemodGUI::applySettings() DATVModulation enmSelectedModulation; dvb_version enmVersion; - code_rate enmFEC; + leansdr::code_rate enmFEC; dvb_sampler enmSampler; if (m_blnDoApplySettings) @@ -403,41 +403,41 @@ void DATVDemodGUI::applySettings() strFEC = ui->cmbFEC->currentText(); - if(strFEC=="1/2") + if(strFEC == "1/2") { - enmFEC=FEC12; + enmFEC = leansdr::FEC12; } - else if(strFEC=="2/3") + else if(strFEC == "2/3") { - enmFEC=FEC23; + enmFEC = leansdr::FEC23; } - else if(strFEC=="3/4") + else if(strFEC == "3/4") { - enmFEC=FEC34; + enmFEC = leansdr::FEC34; } - else if(strFEC=="5/6") + else if(strFEC == "5/6") { - enmFEC=FEC56; + enmFEC = leansdr::FEC56; } - else if(strFEC=="7/8") + else if(strFEC == "7/8") { - enmFEC=FEC78; + enmFEC = leansdr::FEC78; } - else if(strFEC=="4/5") + else if(strFEC == "4/5") { - enmFEC=FEC45; + enmFEC = leansdr::FEC45; } - else if(strFEC=="8/9") + else if(strFEC == "8/9") { - enmFEC=FEC89; + enmFEC = leansdr::FEC89; } - else if(strFEC=="9/10") + else if(strFEC == "9/10") { - enmFEC=FEC910; + enmFEC = leansdr::FEC910; } else { - enmFEC=FEC12; + enmFEC = leansdr::FEC12; } if (ui->cmbFilter->currentIndex()==0)