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.

This commit is contained in:
Steve Franke 2018-07-05 15:32:04 -05:00
parent 8f41b11a4e
commit b83b66e665
4 changed files with 19 additions and 8 deletions

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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<char *> (ft8msgbits), const_cast<int *> (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<char *> (ft8msgbits), const_cast<int *> (itone), 37, 6, 37);
strncpy(&msgsent[0],&msgsentft8[0],22);
if(m_config.bFox()) {
QString fm = QString::fromStdString(message).trimmed();
foxGenWaveform(0,fm);