From b83b66e665a6c7a7726e3275191b68c81bb30635 Mon Sep 17 00:00:00 2001 From: Steve Franke Date: Thu, 5 Jul 2018 15:32:04 -0500 Subject: [PATCH] Changed genft8 and related routines to accept 37 char message and return 37 char msgsent. For now, in mainwindow, just copy the 22 char message into message37. --- lib/ft8/ft8apset.f90 | 2 +- lib/ft8/ft8b_1.f90 | 6 ++++-- lib/ft8/genft8.f90 | 10 +++++++--- mainwindow.cpp | 9 +++++++-- 4 files changed, 19 insertions(+), 8 deletions(-) diff --git a/lib/ft8/ft8apset.f90 b/lib/ft8/ft8apset.f90 index 049c8bb2e..d84845fd4 100644 --- a/lib/ft8/ft8apset.f90 +++ b/lib/ft8/ft8apset.f90 @@ -1,7 +1,7 @@ subroutine ft8apset(mycall12,mygrid6,hiscall12,hisgrid6,bcontest,apsym) parameter(NAPM=4,KK=87) character*12 mycall12,hiscall12 - character*22 msg,msgsent + character*37 msg,msgsent character*6 mycall,hiscall character*6 mygrid6,hisgrid6 character*4 hisgrid diff --git a/lib/ft8/ft8b_1.f90 b/lib/ft8/ft8b_1.f90 index 2db4b2401..c2afbdbe9 100644 --- a/lib/ft8/ft8b_1.f90 +++ b/lib/ft8/ft8b_1.f90 @@ -6,7 +6,7 @@ subroutine ft8b_1(dd0,newdat,nQSOProgress,nfqso,nftx,ndepth,lapon,lapcqonly, & use timer_module, only: timer include 'ft8_params.f90' parameter(NP2=2812) - character*37 msg37 + character*37 msg37,msgsent37 character message*22,msgsent*22 character*12 mycall12,hiscall12 character*6 mycall6,mygrid6,hiscall6,c1,c2 @@ -384,7 +384,9 @@ subroutine ft8b_1(dd0,newdat,nQSOProgress,nfqso,nftx,ndepth,lapon,lapcqonly, & i3=0 !TEMPORARY n3=0 isync=1 - call genft8(message,mygrid6,bcontest,i3,n3,isync,msgsent,msgbits,itone) + msg37=' ' + msg37(1:22)=message + call genft8(msg37,mygrid6,bcontest,i3,n3,isync,msgsent37,msgbits,itone) if(lsubtract) call subtractft8(dd0,itone,f1,xdt2) xsig=0.0 xnoi=0.0 diff --git a/lib/ft8/genft8.f90 b/lib/ft8/genft8.f90 index bb03083f0..f473328e8 100644 --- a/lib/ft8/genft8.f90 +++ b/lib/ft8/genft8.f90 @@ -1,4 +1,4 @@ -subroutine genft8(msg,mygrid,bcontest,i3,n3,isync,msgsent,msgbits,itone) +subroutine genft8(msg37,mygrid,bcontest,i3,n3,isync,msgsent37,msgbits,itone) ! Encode an FT8 message, producing array itone(). @@ -6,6 +6,7 @@ subroutine genft8(msg,mygrid,bcontest,i3,n3,isync,msgsent,msgbits,itone) use packjt include 'ft8_params.f90' character*22 msg,msgsent + character*37 msg37,msgsent37 character*6 mygrid character*87 cbits logical bcontest,checksumok @@ -18,9 +19,12 @@ subroutine genft8(msg,mygrid,bcontest,i3,n3,isync,msgsent,msgbits,itone) data icos7/2,5,6,0,4,1,3/ !Costas 7x7 tone pattern if(isync.eq.2 ) goto 900 - + + msg=msg37(1:22) call packmsg(msg,i4Msg6BitWords,istdtype,bcontest) !Pack into 12 6-bit bytes call unpackmsg(i4Msg6BitWords,msgsent,bcontest,mygrid) !Unpack to get msgsent + msgsent37(1:22)=msgsent + msgsent37(23:37)=' ' write(cbits,1000) i4Msg6BitWords,32*i3 1000 format(12b6.6,b8.8) @@ -52,7 +56,7 @@ subroutine genft8(msg,mygrid,bcontest,i3,n3,isync,msgsent,msgbits,itone) 900 continue - call genft8_174_91(msg,mygrid,bcontest,i3,n3,msgsent,msgbits77,itone) + call genft8_174_91(msg37,mygrid,bcontest,i3,n3,msgsent37,msgbits77,itone) return end subroutine genft8 diff --git a/mainwindow.cpp b/mainwindow.cpp index 726f747a2..ecb3d358c 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -3485,8 +3485,13 @@ void MainWindow::guiUpdate() m_isync=1; // if(m_config.bGenerate77()) m_isync=2; char ft8msgbits[75 + 12]; //packed 75 bit ft8 message plus 12-bit CRC - genft8_(message, MyGrid, &bcontest, &m_i3, &m_n3, &m_isync, msgsent, - const_cast (ft8msgbits), const_cast (itone), 22, 6, 22); +// TEMPORARY - for now, just copy 22-bit message to 37-bit messageft8 + char messageft8[44]; //padded with 7 characters, like messsage. + char msgsentft8[44]; + strncpy(&messageft8[0],&message[0],22); + genft8_(messageft8, MyGrid, &bcontest, &m_i3, &m_n3, &m_isync, msgsentft8, + const_cast (ft8msgbits), const_cast (itone), 37, 6, 37); + strncpy(&msgsent[0],&msgsentft8[0],22); if(m_config.bFox()) { QString fm = QString::fromStdString(message).trimmed(); foxGenWaveform(0,fm);