From 8e9f43fc031a5a4723cbe302efe1535ce04e9c75 Mon Sep 17 00:00:00 2001 From: Joe Taylor Date: Fri, 19 Mar 2021 09:10:04 -0400 Subject: [PATCH 1/4] Cleanup and commenting of q65_hist.f90. --- lib/qra/q65/q65.f90 | 35 +++++++++++++++++++++-------------- 1 file changed, 21 insertions(+), 14 deletions(-) diff --git a/lib/qra/q65/q65.f90 b/lib/qra/q65/q65.f90 index 00beebf6b..a85c32719 100644 --- a/lib/qra/q65/q65.f90 +++ b/lib/qra/q65/q65.f90 @@ -703,15 +703,20 @@ end subroutine q65_snr subroutine q65_hist(if0,msg0,dxcall,dxgrid) +! Save the MAXHIST most receent decodes, and their f0 values; or, if +! dxcall is present, look up the most recent dxcall and dxgrid at the +! specified f0. + parameter (MAXHIST=100) - integer,intent(in) :: if0 - character(len=37),intent(in),optional :: msg0 - character(len=12),intent(out),optional :: dxcall - character(len=6),intent(out),optional :: dxgrid + integer,intent(in) :: if0 !Audio freq of decode + character(len=37),intent(in),optional :: msg0 !Decoded message + character(len=12),intent(out),optional :: dxcall !Second callsign in message + character(len=6),intent(out),optional :: dxgrid !Third word in msg, if grid + character*6 g1 - character*37 msg(MAXHIST) - integer nf0(MAXHIST) - logical isgrid + character*37 msg(MAXHIST) !Saved messages + integer nf0(MAXHIST) !Saved frequencies + logical isgrid !Statement function data nhist/0/ save nhist,nf0,msg @@ -719,28 +724,30 @@ subroutine q65_hist(if0,msg0,dxcall,dxgrid) g1(2:2).le.'R' .and. g1(3:3).ge.'0' .and. g1(3:3).le.'9' .and. & g1(4:4).ge.'0' .and. g1(4:4).le.'9' .and. g1(1:4).ne.'RR73' - if(present(dxcall)) go to 100 + if(present(dxcall)) go to 100 !This is a lookup request if(nhist.eq.MAXHIST) then - nf0(1:MAXHIST-1)=nf0(2:MAXHIST) + nf0(1:MAXHIST-1)=nf0(2:MAXHIST) !List is full, must make room msg(1:MAXHIST-1)=msg(2:MAXHIST) nhist=MAXHIST-1 endif - nhist=nhist+1 + nhist=nhist+1 !Insert msg0 at end of list nf0(nhist)=if0 msg(nhist)=msg0 go to 900 -100 dxcall=' ' +100 dxcall=' ' !This is a lookup request dxgrid=' ' - do i=1,nhist +! Look for a decode close to if0, starting with most recent ones + do i=nhist,1,-1 if(abs(nf0(i)-if0).gt.10) cycle i1=index(msg(i),' ') if(i1.ge.4 .and. i1.le.13) then i2=index(msg(i)(i1+1:),' ') + i1 - dxcall=msg(i)(i1+1:i2-1) + dxcall=msg(i)(i1+1:i2-1) !Extract dxcall g1=msg(i)(i2+1:i2+4) - if(isgrid(g1)) dxgrid=g1(1:4) + if(isgrid(g1)) dxgrid=g1(1:4) !Extract dxgrid + exit endif enddo From ca5281ed3e3f6ca606a768ff8b133c3ef0437fcd Mon Sep 17 00:00:00 2001 From: Joe Taylor Date: Sat, 20 Mar 2021 09:47:05 -0400 Subject: [PATCH 2/4] Update the Release Notes in preparation for a 2.4.0-rc4 release. --- Release_Notes.txt | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/Release_Notes.txt b/Release_Notes.txt index 4cb951f6b..e4c155936 100644 --- a/Release_Notes.txt +++ b/Release_Notes.txt @@ -11,6 +11,38 @@ Copyright 2001 - 2021 by Joe Taylor, K1JT. + Release: WSJT-X 2.4.0-rc3 + Mar 20, 2021 + ------------------------- + +WSJT-X 2.4.0 Release Candidate 4 adds new Q65 mode functionality and +decoder optimizations and repairs several defects and regressions +discovered in the RC3 and v2.3.0 GA releases. + + - Correct a problem with display of Q65 sync curves for submodes + Q65-120x and Q65-300x. + + - Audio frequency and decoded message are now saved for up to 100 + of the most recent Q65 decodes. Subsequent double-click on + waterfall will search the list for that frequency +/- 10 Hz, + recover "DXCall" from the mosr recent decode there, and attempt + a q3-type decode at that frequency. + + - Use new ADIF recommendations for Q65: mode=MSK, submode=Q65. + + - If "Single decode" is unchecked, ;ook for Q65 decodes from + accumulated average even after obtaining a single-sequence + decode at selected Rx Freq. + + - Display original UTC (derived from file name) on the waterfall, + for data read from .wav files. + + - Corrected several bounds errors caused by unusual settings on + Wide Graph. + + - Correct a problem with Split operation in FT4 mode. Thanks to + JG1APX. + Release: WSJT-X 2.4.0-rc3 Mar 15, 2021 From cd5ebc4505c5a47f2963024210599d27e840200a Mon Sep 17 00:00:00 2001 From: Joe Taylor Date: Sat, 20 Mar 2021 09:53:56 -0400 Subject: [PATCH 3/4] Further edits to Release Notes. --- Release_Notes.txt | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/Release_Notes.txt b/Release_Notes.txt index e4c155936..482c2a3e0 100644 --- a/Release_Notes.txt +++ b/Release_Notes.txt @@ -11,8 +11,8 @@ Copyright 2001 - 2021 by Joe Taylor, K1JT. - Release: WSJT-X 2.4.0-rc3 - Mar 20, 2021 + Release: WSJT-X 2.4.0-rc4 + Mar 21, 2021 ------------------------- WSJT-X 2.4.0 Release Candidate 4 adds new Q65 mode functionality and @@ -23,21 +23,21 @@ discovered in the RC3 and v2.3.0 GA releases. Q65-120x and Q65-300x. - Audio frequency and decoded message are now saved for up to 100 - of the most recent Q65 decodes. Subsequent double-click on - waterfall will search the list for that frequency +/- 10 Hz, - recover "DXCall" from the mosr recent decode there, and attempt - a q3-type decode at that frequency. + most recent Q65 decodes. Subsequent double-click on waterfall will + search the list for the clicked frequency +/- 10 Hz, recover + "DXCall" from the mosr recent decode there, and attempt a decode at + that frequency with full "q3" sensitivity. - - Use new ADIF recommendations for Q65: mode=MSK, submode=Q65. + - Use new ADIF recommendations for Q65: mode=MFSK, submode=Q65. - - If "Single decode" is unchecked, ;ook for Q65 decodes from + - If "Single decode" is unchecked, look for Q65 decodes from accumulated average even after obtaining a single-sequence decode at selected Rx Freq. - - Display original UTC (derived from file name) on the waterfall, - for data read from .wav files. - - - Corrected several bounds errors caused by unusual settings on + - For data read from .wav files, display the original UTC (derived + from file name) on the waterfall instead of current UTC. + + - Protect against bounds errors caused by unusual settings on the Wide Graph. - Correct a problem with Split operation in FT4 mode. Thanks to From 8096ef25a0973ca212daadd80c9689f748514ae0 Mon Sep 17 00:00:00 2001 From: Joe Taylor Date: Sun, 21 Mar 2021 11:17:10 -0400 Subject: [PATCH 4/4] Don't erase the Q65 sync plot(s) just because RxFreq is changed. --- widgets/widegraph.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/widgets/widegraph.cpp b/widgets/widegraph.cpp index edb81c2f0..78325d27c 100644 --- a/widgets/widegraph.cpp +++ b/widgets/widegraph.cpp @@ -236,7 +236,7 @@ void WideGraph::keyPressEvent(QKeyEvent *e) //F1 void WideGraph::setRxFreq(int n) //setRxFreq { ui->widePlot->setRxFreq(n); - ui->widePlot->draw(m_swide,false,false); + if(m_mode!="Q65") ui->widePlot->draw(m_swide,false,false); } int WideGraph::rxFreq() //rxFreq