genft8 now looks at sign of n3 and i3. If either sign is negative, generate a type 1 (classic) message. Otherwise generate type 2. Type 1 seems to work. Type 2 does not yet work.

This commit is contained in:
Steve Franke 2018-07-03 11:10:47 -05:00
parent cf7a2eded5
commit 3f897225fe
5 changed files with 13 additions and 9 deletions

View File

@ -16,7 +16,7 @@ subroutine ft8apset(mycall12,mygrid6,hiscall12,hisgrid6,bcontest,apsym)
hisgrid=hisgrid6(1:4)
if(index(hisgrid," ").eq.0) hisgrid="AA00"
msg=mycall//' '//hiscall//' '//hisgrid
i3=1 ! ### TEMPORARY ??? ###
i3=-1 ! ### TEMPORARY ??? ###
n3=0 !TEMPORARY
call genft8(msg,mygrid6,bcontest,i3,n3,msgsent,msgbits,itone)
apsym=2*msgbits-1

View File

@ -6,8 +6,8 @@ subroutine ft8apset_174_91(mycall12,mygrid6,hiscall12,hisgrid6,bcontest,apsym)
character*6 mygrid6,hisgrid6
character*4 hisgrid
logical bcontest
integer apsym(KK)
integer*1 msgbits(KK)
integer apsym(77)
integer*1 msgbits(77)
integer itone(KK)
mycall=mycall12(1:6)

View File

@ -11,17 +11,21 @@ subroutine genft8(msg,mygrid,bcontest,i3,n3,msgsent,msgbits,itone)
logical bcontest,checksumok
integer*4 i4Msg6BitWords(12) !72-bit message as 6-bit words
integer*1 msgbits(KK),codeword(3*ND)
integer*1 msgbits77(77)
integer*1, target:: i1Msg8BitBytes(11)
integer itone(NN)
integer icos7(0:6)
data icos7/2,5,6,0,4,1,3/ !Costas 7x7 tone pattern
itype=1
if( ( i3.eq.0 .and. n3.ge.2) .or. i3.ge.2 ) itype=2
if( ( i3.eq.0 .and. n3.ge.1) .or. i3.ge.1 ) itype=2
write(*,*) 'generating type ',itype,' message'
write(*,*) 'msg ',msg
write(*,*) 'msg ',msg,i3,n3
if(itype.eq.2 ) goto 900
i3=i3*i3
n3=n3*n3
call packmsg(msg,i4Msg6BitWords,itype,bcontest) !Pack into 12 6-bit bytes
call unpackmsg(i4Msg6BitWords,msgsent,bcontest,mygrid) !Unpack to get msgsent
@ -56,7 +60,7 @@ write(*,*) 'msg ',msg
900 continue
call genft8_174_91(msg,mygrid,bcontest,i3,n3,msgsent,msgbits,itone)
call genft8_174_91(msg,mygrid,bcontest,i3,n3,msgsent,msgbits77,itone)
return
end subroutine genft8

View File

@ -51,7 +51,7 @@ contains
character*12 mycall12, hiscall12
character*6 mygrid6,hisgrid6
integer*2 iwave(15*12000)
integer apsym1(KK),apsym2(91)
integer apsym1(KK),apsym2(77)
character datetime*13,message*22,msg37*37
character*22 allmessages(100)
integer allsnrs(100)

View File

@ -3479,7 +3479,7 @@ void MainWindow::guiUpdate()
if(m_config.bFox() and ui->tabWidget->currentIndex()==2) {
foxTxSequencer();
} else {
m_i3=1; // Temporary!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
m_i3=-1; // Temporary!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
m_n3=0;
char ft8msgbits[75 + 12]; //packed 75 bit ft8 message plus 12-bit CRC
genft8_(message, MyGrid, &bcontest, &m_i3, &m_n3, msgsent, const_cast<char *> (ft8msgbits),