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) subroutine ft8apset(mycall12,mygrid6,hiscall12,hisgrid6,bcontest,apsym)
parameter(NAPM=4,KK=87) parameter(NAPM=4,KK=87)
character*12 mycall12,hiscall12 character*12 mycall12,hiscall12
character*22 msg,msgsent character*37 msg,msgsent
character*6 mycall,hiscall character*6 mycall,hiscall
character*6 mygrid6,hisgrid6 character*6 mygrid6,hisgrid6
character*4 hisgrid 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 use timer_module, only: timer
include 'ft8_params.f90' include 'ft8_params.f90'
parameter(NP2=2812) parameter(NP2=2812)
character*37 msg37 character*37 msg37,msgsent37
character message*22,msgsent*22 character message*22,msgsent*22
character*12 mycall12,hiscall12 character*12 mycall12,hiscall12
character*6 mycall6,mygrid6,hiscall6,c1,c2 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 i3=0 !TEMPORARY
n3=0 n3=0
isync=1 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) if(lsubtract) call subtractft8(dd0,itone,f1,xdt2)
xsig=0.0 xsig=0.0
xnoi=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(). ! Encode an FT8 message, producing array itone().
@ -6,6 +6,7 @@ subroutine genft8(msg,mygrid,bcontest,i3,n3,isync,msgsent,msgbits,itone)
use packjt use packjt
include 'ft8_params.f90' include 'ft8_params.f90'
character*22 msg,msgsent character*22 msg,msgsent
character*37 msg37,msgsent37
character*6 mygrid character*6 mygrid
character*87 cbits character*87 cbits
logical bcontest,checksumok 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 data icos7/2,5,6,0,4,1,3/ !Costas 7x7 tone pattern
if(isync.eq.2 ) goto 900 if(isync.eq.2 ) goto 900
msg=msg37(1:22)
call packmsg(msg,i4Msg6BitWords,istdtype,bcontest) !Pack into 12 6-bit bytes call packmsg(msg,i4Msg6BitWords,istdtype,bcontest) !Pack into 12 6-bit bytes
call unpackmsg(i4Msg6BitWords,msgsent,bcontest,mygrid) !Unpack to get msgsent call unpackmsg(i4Msg6BitWords,msgsent,bcontest,mygrid) !Unpack to get msgsent
msgsent37(1:22)=msgsent
msgsent37(23:37)=' '
write(cbits,1000) i4Msg6BitWords,32*i3 write(cbits,1000) i4Msg6BitWords,32*i3
1000 format(12b6.6,b8.8) 1000 format(12b6.6,b8.8)
@ -52,7 +56,7 @@ subroutine genft8(msg,mygrid,bcontest,i3,n3,isync,msgsent,msgbits,itone)
900 continue 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 return
end subroutine genft8 end subroutine genft8

View File

@ -3485,8 +3485,13 @@ void MainWindow::guiUpdate()
m_isync=1; m_isync=1;
// if(m_config.bGenerate77()) m_isync=2; // if(m_config.bGenerate77()) m_isync=2;
char ft8msgbits[75 + 12]; //packed 75 bit ft8 message plus 12-bit CRC char ft8msgbits[75 + 12]; //packed 75 bit ft8 message plus 12-bit CRC
genft8_(message, MyGrid, &bcontest, &m_i3, &m_n3, &m_isync, msgsent, // TEMPORARY - for now, just copy 22-bit message to 37-bit messageft8
const_cast<char *> (ft8msgbits), const_cast<int *> (itone), 22, 6, 22); 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()) { if(m_config.bFox()) {
QString fm = QString::fromStdString(message).trimmed(); QString fm = QString::fromStdString(message).trimmed();
foxGenWaveform(0,fm); foxGenWaveform(0,fm);