diff --git a/lib/decoder.f90 b/lib/decoder.f90 index d5607ebdb..03627d845 100644 --- a/lib/decoder.f90 +++ b/lib/decoder.f90 @@ -498,7 +498,11 @@ contains if(qual.lt.0.17) decoded0(22:22)='?' endif - i0=index(decoded0,';') +! i0=index(decoded0,';') +! Always print 37 characters? Or, send i3,n3 up to here from ft8b_2 and use them +! to decide how many chars to print? +!TEMP + i0=1 if(i0.le.0) write(*,1000) params%nutc,snr,dt,nint(freq),decoded0(1:22),annot 1000 format(i6.6,i4,f5.1,i5,' ~ ',1x,a22,1x,a2) if(i0.gt.0) write(*,1001) params%nutc,snr,dt,nint(freq),decoded0 diff --git a/lib/ft8/ft8b_2.f90 b/lib/ft8/ft8b_2.f90 index b81eb1ce5..58e8bd849 100644 --- a/lib/ft8/ft8b_2.f90 +++ b/lib/ft8/ft8b_2.f90 @@ -8,6 +8,7 @@ subroutine ft8b_2(dd0,newdat,nQSOProgress,nfqso,nftx,ndepth,lapon,lapcqonly, & parameter(NP2=2812) character*37 msg37,msgsent37 character*12 mycall12,hiscall12 + character*77 c77 character*6 mycall6,mygrid6,hiscall6,c1,c2 character*87 cbits logical bcontest @@ -317,8 +318,15 @@ subroutine ft8b_2(dd0,newdat,nQSOProgress,nfqso,nftx,ndepth,lapon,lapcqonly, & nbadcrc=0 ! If we get this far, must be a valid codeword. i3=4*message77(72) + 2*message77(73) + message77(74) n3=4*message77(75) + 2*message77(76) + message77(77) - call unpack77(message77,msg37) -! This needs fixing for messages with i5bit=1 + write(c77,'(77i1)') message77 + read(c77(72:74),'(b3)') n3 + read(c77(75:77),'(b3)') i3 +!write(*,'(77i1)') message77 + call unpack77(c77,msg37) +!TEST ONLY + call pack77(msg37,i3p,n3p,c77) +! Should we test for consistency between i3,n3 from codeword and i3,n3 from unpack77? +!write(*,*) i3,n3,i3p,n3p,msg37 call genft8_174_91(msg37,mygrid6,bcontest,i3,n3,msgsent37,msgbits,itone) if(lsubtract) call subtractft8(dd0,itone,f1,xdt) xsig=0.0 diff --git a/lib/ft8/ft8sim2.f90 b/lib/ft8/ft8sim2.f90 index 55787c49e..f75103431 100644 --- a/lib/ft8/ft8sim2.f90 +++ b/lib/ft8/ft8sim2.f90 @@ -69,6 +69,8 @@ program ft8sim2 ! Source-encode, then get itone() call pack77(msg37,i3,n3,c77) +write(*,*) c77 +write(*,*) i3,n3 call unpack77(c77,msgsent37) call genft8_174_91(msg37,mygrid6,bcontest,i3,n3,msgsent37,msgbits,itone) write(*,1000) f0,xdt,txt,snrdb,bw,msgsent37