diff --git a/Detector.cpp b/Detector.cpp index 05a631b13..0cd0714e7 100644 --- a/Detector.cpp +++ b/Detector.cpp @@ -18,7 +18,6 @@ Detector::Detector (unsigned frameRate, double periodLengthInSeconds, , m_period (periodLengthInSeconds) , m_downSampleFactor (downSampleFactor) , m_samplesPerFFT {max_buffer_size} - , m_ns (999) , m_buffer ((downSampleFactor > 1) ? new short [max_buffer_size * downSampleFactor] : nullptr) , m_bufferPos (0) diff --git a/Detector.hpp b/Detector.hpp index 4d584c130..412961d6b 100644 --- a/Detector.hpp +++ b/Detector.hpp @@ -46,7 +46,6 @@ private: double m_period; unsigned m_downSampleFactor; qint32 m_samplesPerFFT; // after any down sampling - qint32 m_ns; static size_t const max_buffer_size {7 * 512}; QScopedArrayPointer m_buffer; // de-interleaved sample buffer // big enough for all the diff --git a/SampleDownloader/Directory.cpp b/SampleDownloader/Directory.cpp index 91918021d..3c7504424 100644 --- a/SampleDownloader/Directory.cpp +++ b/SampleDownloader/Directory.cpp @@ -54,7 +54,7 @@ Directory::Directory (Configuration const * configuration connect (network_manager_, &QNetworkAccessManager::authenticationRequired , this, &Directory::authentication); - connect (this, &Directory::itemChanged, [this] (QTreeWidgetItem * item) { + connect (this, &Directory::itemChanged, [] (QTreeWidgetItem * item) { switch (item->type ()) { case FileNode::Type: diff --git a/UDPExamples/UDPDaemon.cpp b/UDPExamples/UDPDaemon.cpp index 0ee202dc7..20f1995b3 100644 --- a/UDPExamples/UDPDaemon.cpp +++ b/UDPExamples/UDPDaemon.cpp @@ -146,7 +146,7 @@ public: : server_ {new MessageServer {this}} { // connect up server - connect (server_, &MessageServer::error, [this] (QString const& message) { + connect (server_, &MessageServer::error, [] (QString const& message) { std::cerr << tr ("Network Error: %1").arg ( message).toStdString () << std::endl; }); connect (server_, &MessageServer::client_opened, this, &Server::add_client); diff --git a/decodedtext.h b/decodedtext.h index 88062231e..b228f921b 100644 --- a/decodedtext.h +++ b/decodedtext.h @@ -77,7 +77,6 @@ private: QString string_; int padding_; - bool contest_mode_; QString message_; QString message0_; bool is_standard_; diff --git a/lib/decoder.f90 b/lib/decoder.f90 index d3f1153f4..e6ec7473d 100644 --- a/lib/decoder.f90 +++ b/lib/decoder.f90 @@ -133,7 +133,7 @@ subroutine multimode_decoder(ss,id2,params,nfsample) n30fox(j)=n m=n30max-n if(len(trim(g2fox(j))).eq.4) then - call azdist(mygrid,g2fox(j)//' ',0.d0,nAz,nEl,nDmiles, & + call azdist(mygrid,g2fox(j)//' ',0.d0,nAz,nEl,nDmiles, & nDkm,nHotAz,nHotABetter) else nDkm=9999 @@ -588,9 +588,7 @@ contains real, intent(in) :: dt real, intent(in) :: freq character(len=37), intent(in) :: decoded - character c1*12,c2*12,g2*4,w*4 - integer i0,i1,i2,i3,i4,i5,n30,nwrap - integer, intent(in) :: nap + integer, intent(in) :: nap real, intent(in) :: qual character*2 annot character*37 decoded0 diff --git a/lib/ft4/getcandidates4.f90 b/lib/ft4/getcandidates4.f90 index f7cef02ef..a13635663 100644 --- a/lib/ft4/getcandidates4.f90 +++ b/lib/ft4/getcandidates4.f90 @@ -1,78 +1,77 @@ -subroutine getcandidates4(dd,fa,fb,syncmin,nfqso,maxcand,savg,candidate, & - ncand,sbase) - - include 'ft4_params.f90' - real s(NH1,NHSYM) - real savg(NH1),savsm(NH1) - real sbase(NH1) - real x(NFFT1) - real window(NFFT1) - complex cx(0:NH1) - real candidate(3,maxcand) - real dd(NMAX) - integer ipk(1) - equivalence (x,cx) - logical first - data first/.true./ - save first,window - - if(first) then - first=.false. - pi=4.0*atan(1.) - window=0. - call nuttal_window(window,NFFT1) - endif - -! Compute symbol spectra, stepping by NSTEP steps. - savg=0. - df=12000.0/NFFT1 - fac=1.0/300.0 - do j=1,NHSYM - ia=(j-1)*NSTEP + 1 - ib=ia+NFFT1-1 - if(ib.gt.NMAX) exit - x=fac*dd(ia:ib)*window - call four2a(x,NFFT1,1,-1,0) !r2c FFT - do i=1,NH1 - s(i,j)=real(cx(i))**2 + aimag(cx(i))**2 - enddo - savg=savg + s(1:NH1,j) !Average spectrum - enddo - savg=savg/NHSYM - savsm=0. - do i=8,NH1-7 - savsm(i)=sum(savg(i-7:i+7))/15. - enddo - - nfa=fa/df - if(nfa.lt.nint(200.0/df)) nfa=nint(200.0/df) - nfb=fb/df - if(nfb.gt.nint(5000.0/df)) nfb=nint(5000.0/df) - ncand=0 - call ft4_baseline(savg,nfa,nfb,sbase) - if(any(sbase(nfa:nfb).le.0)) return - savsm(nfa:nfb)=savsm(nfa:nfb)/sbase(nfa:nfb) - f_offset = -1.5*12000.0/NSPS - do i=nfa+1,nfb-1 - if(savsm(i).ge.savsm(i-1) .and. savsm(i).ge.savsm(i+1) .and. & - savsm(i).ge.syncmin) then - den=savsm(i-1)-2*savsm(i)+savsm(i+1) - del=0. - if(den.ne.0.0) del=0.5*(savsm(i-1)-savsm(i+1))/den - fpeak=(i+del)*df+f_offset - if(fpeak.lt.0.0 .or. fpeak.gt.4910.0) cycle - speak=savsm(i) - 0.25*(savsm(i-1)-savsm(i+1))*del - ncand=ncand+1 - if(ncand.gt.maxcand) then - ncand=maxcand - exit - endif - candidate(1,ncand)=fpeak - candidate(2,ncand)=-99.99 - candidate(3,ncand)=speak - if(ncand.eq.maxcand) exit - endif - enddo - -return -end subroutine getcandidates4 +subroutine getcandidates4(dd,fa,fb,syncmin,nfqso,maxcand,savg,candidate, & + ncand,sbase) + + include 'ft4_params.f90' + real s(NH1,NHSYM) + real savg(NH1),savsm(NH1) + real sbase(NH1) + real x(NFFT1) + real window(NFFT1) + complex cx(0:NH1) + real candidate(3,maxcand) + real dd(NMAX) + equivalence (x,cx) + logical first + data first/.true./ + save first,window + + if(first) then + first=.false. + pi=4.0*atan(1.) + window=0. + call nuttal_window(window,NFFT1) + endif + +! Compute symbol spectra, stepping by NSTEP steps. + savg=0. + df=12000.0/NFFT1 + fac=1.0/300.0 + do j=1,NHSYM + ia=(j-1)*NSTEP + 1 + ib=ia+NFFT1-1 + if(ib.gt.NMAX) exit + x=fac*dd(ia:ib)*window + call four2a(x,NFFT1,1,-1,0) !r2c FFT + do i=1,NH1 + s(i,j)=real(cx(i))**2 + aimag(cx(i))**2 + enddo + savg=savg + s(1:NH1,j) !Average spectrum + enddo + savg=savg/NHSYM + savsm=0. + do i=8,NH1-7 + savsm(i)=sum(savg(i-7:i+7))/15. + enddo + + nfa=fa/df + if(nfa.lt.nint(200.0/df)) nfa=nint(200.0/df) + nfb=fb/df + if(nfb.gt.nint(5000.0/df)) nfb=nint(5000.0/df) + ncand=0 + call ft4_baseline(savg,nfa,nfb,sbase) + if(any(sbase(nfa:nfb).le.0)) return + savsm(nfa:nfb)=savsm(nfa:nfb)/sbase(nfa:nfb) + f_offset = -1.5*12000.0/NSPS + do i=nfa+1,nfb-1 + if(savsm(i).ge.savsm(i-1) .and. savsm(i).ge.savsm(i+1) .and. & + savsm(i).ge.syncmin) then + den=savsm(i-1)-2*savsm(i)+savsm(i+1) + del=0. + if(den.ne.0.0) del=0.5*(savsm(i-1)-savsm(i+1))/den + fpeak=(i+del)*df+f_offset + if(fpeak.lt.0.0 .or. fpeak.gt.4910.0) cycle + speak=savsm(i) - 0.25*(savsm(i-1)-savsm(i+1))*del + ncand=ncand+1 + if(ncand.gt.maxcand) then + ncand=maxcand + exit + endif + candidate(1,ncand)=fpeak + candidate(2,ncand)=-99.99 + candidate(3,ncand)=speak + if(ncand.eq.maxcand) exit + endif + enddo + +return +end subroutine getcandidates4 diff --git a/lib/ft4/sync4d.f90 b/lib/ft4/sync4d.f90 index 28cb10b99..64e1c7e11 100644 --- a/lib/ft4/sync4d.f90 +++ b/lib/ft4/sync4d.f90 @@ -1,94 +1,93 @@ -subroutine sync4d(cd0,i0,ctwk,itwk,sync) - -! Compute sync power for a complex, downsampled FT4 signal. - - include 'ft4_params.f90' - parameter(NP=NMAX/NDOWN,NSS=NSPS/NDOWN) - complex cd0(0:NP-1) - complex csynca(2*NSS),csyncb(2*NSS),csyncc(2*NSS),csyncd(2*NSS) - complex csync2(2*NSS) - complex ctwk(2*NSS) - complex z1,z2,z3,z4 - complex zz1,zz2,zz3,zz4 - logical first - integer icos4a(0:3),icos4b(0:3),icos4c(0:3),icos4d(0:3) - data icos4a/0,1,3,2/ - data icos4b/1,0,2,3/ - data icos4c/2,3,1,0/ - data icos4d/3,2,0,1/ - data first/.true./ - save first,twopi,csynca,csyncb,csyncc,csyncd,fac - - p(z1)=real(z1*fac)**2 + aimag(z1*fac)**2 !Statement function for power - - if( first ) then - twopi=8.0*atan(1.0) - k=1 - phia=0.0 - phib=0.0 - phic=0.0 - phid=0.0 - do i=0,3 - dphia=2*twopi*icos4a(i)/real(NSS) - dphib=2*twopi*icos4b(i)/real(NSS) - dphic=2*twopi*icos4c(i)/real(NSS) - dphid=2*twopi*icos4d(i)/real(NSS) - do j=1,NSS/2 - csynca(k)=cmplx(cos(phia),sin(phia)) - csyncb(k)=cmplx(cos(phib),sin(phib)) - csyncc(k)=cmplx(cos(phic),sin(phic)) - csyncd(k)=cmplx(cos(phid),sin(phid)) - phia=mod(phia+dphia,twopi) - phib=mod(phib+dphib,twopi) - phic=mod(phic+dphic,twopi) - phid=mod(phid+dphid,twopi) - k=k+1 - enddo - enddo - first=.false. - fac=1.0/(2.0*NSS) - endif - - i1=i0 !four Costas arrays - i2=i0+33*NSS - i3=i0+66*NSS - i4=i0+99*NSS - - z1=0. - z2=0. - z3=0. - z4=0. - - if(itwk.eq.1) csync2=ctwk*csynca !Tweak the frequency - if(i1.ge.0 .and. i1+4*NSS-1.le.NP-1) then - z1=sum(cd0(i1:i1+4*NSS-1:2)*conjg(csync2)) - elseif( i1.lt.0 ) then - npts=(i1+4*NSS-1)/2 - if(npts.le.8) then - z1=0. - else - z1=sum(cd0(0:i1+4*NSS-1:2)*conjg(csync2(2*NSS-npts:))) - endif - endif - - if(itwk.eq.1) csync2=ctwk*csyncb !Tweak the frequency - if(i2.ge.0 .and. i2+4*NSS-1.le.NP-1) z2=sum(cd0(i2:i2+4*NSS-1:2)*conjg(csync2)) - - if(itwk.eq.1) csync2=ctwk*csyncc !Tweak the frequency - if(i3.ge.0 .and. i3+4*NSS-1.le.NP-1) z3=sum(cd0(i3:i3+4*NSS-1:2)*conjg(csync2)) - - if(itwk.eq.1) csync2=ctwk*csyncd !Tweak the frequency - if(i4.ge.0 .and. i4+4*NSS-1.le.NP-1) then - z4=sum(cd0(i4:i4+4*NSS-1:2)*conjg(csync2)) - elseif( i4+4*NSS-1.gt.NP-1 ) then - npts=(NP-1-i4+1)/2 - if(npts.le.8) then - z4=0. - else - z4=sum(cd0(i4:i4+2*npts-1:2)*conjg(csync2(1:npts))) - endif - endif - sync = p(z1) + p(z2) + p(z3) + p(z4) - - return -end subroutine sync4d +subroutine sync4d(cd0,i0,ctwk,itwk,sync) + +! Compute sync power for a complex, downsampled FT4 signal. + + include 'ft4_params.f90' + parameter(NP=NMAX/NDOWN,NSS=NSPS/NDOWN) + complex cd0(0:NP-1) + complex csynca(2*NSS),csyncb(2*NSS),csyncc(2*NSS),csyncd(2*NSS) + complex csync2(2*NSS) + complex ctwk(2*NSS) + complex z1,z2,z3,z4 + logical first + integer icos4a(0:3),icos4b(0:3),icos4c(0:3),icos4d(0:3) + data icos4a/0,1,3,2/ + data icos4b/1,0,2,3/ + data icos4c/2,3,1,0/ + data icos4d/3,2,0,1/ + data first/.true./ + save first,twopi,csynca,csyncb,csyncc,csyncd,fac + + p(z1)=real(z1*fac)**2 + aimag(z1*fac)**2 !Statement function for power + + if( first ) then + twopi=8.0*atan(1.0) + k=1 + phia=0.0 + phib=0.0 + phic=0.0 + phid=0.0 + do i=0,3 + dphia=2*twopi*icos4a(i)/real(NSS) + dphib=2*twopi*icos4b(i)/real(NSS) + dphic=2*twopi*icos4c(i)/real(NSS) + dphid=2*twopi*icos4d(i)/real(NSS) + do j=1,NSS/2 + csynca(k)=cmplx(cos(phia),sin(phia)) + csyncb(k)=cmplx(cos(phib),sin(phib)) + csyncc(k)=cmplx(cos(phic),sin(phic)) + csyncd(k)=cmplx(cos(phid),sin(phid)) + phia=mod(phia+dphia,twopi) + phib=mod(phib+dphib,twopi) + phic=mod(phic+dphic,twopi) + phid=mod(phid+dphid,twopi) + k=k+1 + enddo + enddo + first=.false. + fac=1.0/(2.0*NSS) + endif + + i1=i0 !four Costas arrays + i2=i0+33*NSS + i3=i0+66*NSS + i4=i0+99*NSS + + z1=0. + z2=0. + z3=0. + z4=0. + + if(itwk.eq.1) csync2=ctwk*csynca !Tweak the frequency + if(i1.ge.0 .and. i1+4*NSS-1.le.NP-1) then + z1=sum(cd0(i1:i1+4*NSS-1:2)*conjg(csync2)) + elseif( i1.lt.0 ) then + npts=(i1+4*NSS-1)/2 + if(npts.le.8) then + z1=0. + else + z1=sum(cd0(0:i1+4*NSS-1:2)*conjg(csync2(2*NSS-npts:))) + endif + endif + + if(itwk.eq.1) csync2=ctwk*csyncb !Tweak the frequency + if(i2.ge.0 .and. i2+4*NSS-1.le.NP-1) z2=sum(cd0(i2:i2+4*NSS-1:2)*conjg(csync2)) + + if(itwk.eq.1) csync2=ctwk*csyncc !Tweak the frequency + if(i3.ge.0 .and. i3+4*NSS-1.le.NP-1) z3=sum(cd0(i3:i3+4*NSS-1:2)*conjg(csync2)) + + if(itwk.eq.1) csync2=ctwk*csyncd !Tweak the frequency + if(i4.ge.0 .and. i4+4*NSS-1.le.NP-1) then + z4=sum(cd0(i4:i4+4*NSS-1:2)*conjg(csync2)) + elseif( i4+4*NSS-1.gt.NP-1 ) then + npts=(NP-1-i4+1)/2 + if(npts.le.8) then + z4=0. + else + z4=sum(cd0(i4:i4+2*npts-1:2)*conjg(csync2(1:npts))) + endif + endif + sync = p(z1) + p(z2) + p(z3) + p(z4) + + return +end subroutine sync4d diff --git a/lib/ft4_decode.f90 b/lib/ft4_decode.f90 index 50c9fa47d..454280c19 100644 --- a/lib/ft4_decode.f90 +++ b/lib/ft4_decode.f90 @@ -34,7 +34,6 @@ contains character message*37,msgsent*37 character c77*77 character*37 decodes(100) - character*512 data_dir,fname character*17 cdatetime0 character*12 mycall,hiscall character*12 mycall0,hiscall0 diff --git a/lib/msk144code.f90 b/lib/msk144code.f90 index 81a185159..e75ebf3d3 100644 --- a/lib/msk144code.f90 +++ b/lib/msk144code.f90 @@ -1,82 +1,82 @@ -program msk144code - -! Provides examples of message packing, bit and symbol ordering, -! LDPC encoding, and other necessary details of the MSK144 protocol. - - use packjt77 - character*77 c77 - character msg*37,msgsent*37,decoded,bad*1,msgtype*18 - integer*4 i4tone(144) - include 'msk144_testmsg.f90' - - nargs=iargc() - if(nargs.ne.1) then - print*,'Usage: msk144code "message"' - print*,' msk144code -t' - print*,' ' - print*,'Examples:' - print*,' msk144code "KA1ABC WB9XYZ EN37"' - print*,' msk144code " R-03"' - print*,' msk144code "KA1ABC WB9XYZ R EN37"' - go to 999 - endif - - call getarg(1,msg) - nmsg=1 - if(msg(1:2).eq."-t") then - nmsg=NTEST - endif - - write(*,1010) -1010 format(4x,"Message",31x,"Decoded",29x,"Err i3.n3"/100("-")) - - do imsg=1,nmsg - if(nmsg.gt.1) msg=testmsg(imsg) - call fmtmsg(msg,iz) !To upper case, collapse multiple blanks - call genmsk_128_90(msg,ichk,msgsent,i4tone,itype) - i3=-1 - n3=-1 - call pack77(msg,i3,n3,c77) - msgtype="" - if(i3.eq.0) then - if(n3.eq.0) msgtype="Free text" - if(n3.eq.1) msgtype="DXpedition mode" - if(n3.eq.2) msgtype="EU VHF Contest" - if(n3.eq.3) msgtype="ARRL Field Day" - if(n3.eq.4) msgtype="ARRL Field Day" - if(n3.eq.5) msgtype="Telemetry" - if(n3.ge.6) msgtype="Undefined type" - endif - if(i3.eq.1) msgtype="Standard msg" - if(i3.eq.2) msgtype="EU VHF Contest" - if(i3.eq.3) msgtype="ARRL RTTY Roundup" - if(i3.eq.4) msgtype="Nonstandard calls" - if(i3.ge.5) msgtype="Undefined msg type" - if(i3.ge.1) n3=-1 - if(i4tone(41).lt.0) then - msgtype="Sh msg" - i3=-1 - endif - bad=" " - if(msg.ne.msgsent) bad="*" - if(i3.eq.0.and.n3.ge.0) then - write(*,1020) imsg,msg,msgsent,bad,i3,n3,msgtype -1020 format(i2,'.',1x,a37,1x,a37,1x,a1,2x,i1,'.',i1,1x,a18) - elseif(i3.ge.1) then - write(*,1022) imsg,msg,msgsent,bad,i3,msgtype -1022 format(i2,'.',1x,a37,1x,a37,1x,a1,2x,i1,'.',1x,1x,a18) - elseif(i3.lt.0) then - write(*,1024) imsg,msg,msgsent,bad,msgtype -1024 format(i2,'.',1x,a37,1x,a37,1x,a1,6x,a18) - endif - - enddo - - if(nmsg.eq.1) then - n=144 - if(i4tone(41).lt.0) n=40 - write(*,1030) i4tone(1:n) -1030 format(/'Channel symbols'/(72i1)) - endif - -999 end program msk144code +program msk144code + +! Provides examples of message packing, bit and symbol ordering, +! LDPC encoding, and other necessary details of the MSK144 protocol. + + use packjt77 + character*77 c77 + character msg*37,msgsent*37,bad*1,msgtype*18 + integer*4 i4tone(144) + include 'msk144_testmsg.f90' + + nargs=iargc() + if(nargs.ne.1) then + print*,'Usage: msk144code "message"' + print*,' msk144code -t' + print*,' ' + print*,'Examples:' + print*,' msk144code "KA1ABC WB9XYZ EN37"' + print*,' msk144code " R-03"' + print*,' msk144code "KA1ABC WB9XYZ R EN37"' + go to 999 + endif + + call getarg(1,msg) + nmsg=1 + if(msg(1:2).eq."-t") then + nmsg=NTEST + endif + + write(*,1010) +1010 format(4x,"Message",31x,"Decoded",29x,"Err i3.n3"/100("-")) + + do imsg=1,nmsg + if(nmsg.gt.1) msg=testmsg(imsg) + call fmtmsg(msg,iz) !To upper case, collapse multiple blanks + call genmsk_128_90(msg,ichk,msgsent,i4tone,itype) + i3=-1 + n3=-1 + call pack77(msg,i3,n3,c77) + msgtype="" + if(i3.eq.0) then + if(n3.eq.0) msgtype="Free text" + if(n3.eq.1) msgtype="DXpedition mode" + if(n3.eq.2) msgtype="EU VHF Contest" + if(n3.eq.3) msgtype="ARRL Field Day" + if(n3.eq.4) msgtype="ARRL Field Day" + if(n3.eq.5) msgtype="Telemetry" + if(n3.ge.6) msgtype="Undefined type" + endif + if(i3.eq.1) msgtype="Standard msg" + if(i3.eq.2) msgtype="EU VHF Contest" + if(i3.eq.3) msgtype="ARRL RTTY Roundup" + if(i3.eq.4) msgtype="Nonstandard calls" + if(i3.ge.5) msgtype="Undefined msg type" + if(i3.ge.1) n3=-1 + if(i4tone(41).lt.0) then + msgtype="Sh msg" + i3=-1 + endif + bad=" " + if(msg.ne.msgsent) bad="*" + if(i3.eq.0.and.n3.ge.0) then + write(*,1020) imsg,msg,msgsent,bad,i3,n3,msgtype +1020 format(i2,'.',1x,a37,1x,a37,1x,a1,2x,i1,'.',i1,1x,a18) + elseif(i3.ge.1) then + write(*,1022) imsg,msg,msgsent,bad,i3,msgtype +1022 format(i2,'.',1x,a37,1x,a37,1x,a1,2x,i1,'.',1x,1x,a18) + elseif(i3.lt.0) then + write(*,1024) imsg,msg,msgsent,bad,msgtype +1024 format(i2,'.',1x,a37,1x,a37,1x,a1,6x,a18) + endif + + enddo + + if(nmsg.eq.1) then + n=144 + if(i4tone(41).lt.0) n=40 + write(*,1030) i4tone(1:n) +1030 format(/'Channel symbols'/(72i1)) + endif + +999 end program msk144code diff --git a/lib/qra64code.f90 b/lib/qra64code.f90 index 5846ec8d7..188b5f0b3 100644 --- a/lib/qra64code.f90 +++ b/lib/qra64code.f90 @@ -5,10 +5,8 @@ program QRA64code ! protocol. use packjt - character*22 msg,msg0,msg1,decoded,cok*3,msgtype*10,arg*12 - character*6 mycall - logical ltext - integer dgen(12),sent(63),dec(12) + character*22 msg,msg0,msg1,decoded,cok*3,msgtype*10 + integer dgen(12),sent(63) integer icos7(0:6) data icos7/2,5,6,0,4,1,3/ !Defines a 7x7 Costas array diff --git a/widgets/echoplot.cpp b/widgets/echoplot.cpp index 0a93e889e..7f5070a21 100644 --- a/widgets/echoplot.cpp +++ b/widgets/echoplot.cpp @@ -160,7 +160,6 @@ void EPlotter::DrawOverlay() //DrawOverlay() // int w = m_WaterfallPixmap.width(); int x,y; - QRect rect; QPainter painter(&m_OverlayPixmap); painter.initFrom(this); QLinearGradient gradient(0, 0, 0 ,m_h2); //fill background with gradient diff --git a/widgets/plotter.cpp b/widgets/plotter.cpp index badeff57b..629d7a7f1 100644 --- a/widgets/plotter.cpp +++ b/widgets/plotter.cpp @@ -327,7 +327,6 @@ void CPlotter::DrawOverlay() //DrawOverlay() float pixperdiv; double df = m_binsPerPixel*m_fftBinWidth; - QRect rect; QPen penOrange(QColor(255,165,0),3); QPen penGreen(Qt::green, 3); //Mark Tol range with green line QPen penRed(Qt::red, 3); //Mark Tx freq with red diff --git a/widgets/plotter.h b/widgets/plotter.h index 2cbfd202b..b3eb85855 100644 --- a/widgets/plotter.h +++ b/widgets/plotter.h @@ -29,8 +29,8 @@ public: explicit CPlotter(QWidget *parent = 0); ~CPlotter(); - QSize minimumSizeHint() const; - QSize sizeHint() const; + QSize minimumSizeHint() const Q_DECL_OVERRIDE; + QSize sizeHint() const Q_DECL_OVERRIDE; void draw(float swide[], bool bScroll, bool bRed); //Update the waterfall void replot();