Fixed issues with double printing of messages and skipping printing some frames

This commit is contained in:
Jordan Sherer
2018-08-11 18:05:36 -04:00
parent 08357c4b11
commit ed9228d196
6 changed files with 138 additions and 184 deletions
+1 -1
View File
@@ -22,7 +22,7 @@ subroutine ft8apset(mycall12,mygrid6,hiscall12,hisgrid6,bcontest,apsym,iaptype)
! hisgrid=hisgrid6(1:4)
!! if(len_trim(hisgrid).eq.0) hisgrid="EN50"
! if(index(hisgrid," ").eq.0) hisgrid="EN50"
msg='tZQpZP-slh4+'
msg='tZQpZP-slh4+' ! HELLO WORLD
i3bit=0 ! ### TEMPORARY ??? ###
call genft8(msg,mygrid6,bcontest,i3bit,msgsent,msgbits,itone)
apsym=2*msgbits-1
+1 -42
View File
@@ -374,14 +374,11 @@ subroutine ft8b(dd0,newdat,nQSOProgress,nfqso,nftx,ndepth,lapon,lapcqonly, &
cycle
endif
i3bit=4*decoded(73) + 2*decoded(74) + decoded(75)
iFreeText=decoded(57)
if(nbadcrc.eq.0) then
decoded0=decoded
if(i3bit.eq.1) decoded(57:)=0
call extractmessage174(decoded,origmsg,ncrcflag)
decoded=decoded0
! This needs fixing for messages with i3bit=1:
message(1:12)=origmsg(1:12)
call genft8(message,mygrid6,bcontest,i3bit,msgsent,msgbits,itone)
if(lsubtract) call subtractft8(dd0,itone,f1,xdt2)
@@ -398,48 +395,10 @@ subroutine ft8b(dd0,newdat,nQSOProgress,nfqso,nftx,ndepth,lapon,lapcqonly, &
xsnr2=db(xsig/xbase - 1.0) - 32.0
if(.not.nagain) xsnr=xsnr2
if(xsnr .lt. -24.0) xsnr=-24.0
! if(i3bit.eq.1) then
! do i=1,12
! i1hiscall(i)=ichar(hiscall12(i:i))
! enddo
! icrc10=crc10(c_loc(i1hiscall),12)
! write(cbits,1001) decoded
!1001 format(87i1)
! read(cbits,1002) ncrc10,nrpt
!1002 format(56x,b10,b6)
! irpt=nrpt-30
! i1=index(message,' ')
! i2=index(message(i1+1:),' ') + i1
! c1=message(1:i1)//' '
! c2=message(i1+1:i2)//' '
!
! if(ncrc10.eq.icrc10) msg37=c1//' RR73; '//c2//' <'// &
! trim(hiscall12)//'> '
! if(ncrc10.ne.icrc10) msg37=c1//' RR73; '//c2//' <...> '
!
!! msg37=c1//' RR73; '//c2//' <...> '
! write(msg37(35:37),1010) irpt
!1010 format(i3.2)
! if(msg37(35:35).ne.'-') msg37(35:35)='+'
!
! iz=len(trim(msg37))
! do iter=1,10 !Collapse multiple blanks
! ib2=index(msg37(1:iz),' ')
! if(ib2.lt.1) exit
! msg37=msg37(1:ib2)//msg37(ib2+2:)
! iz=iz-1
! enddo
! else
! msg37=message//' '
! endif
msg37=origmsg//' '
if(i3bit.gt.1) then
msg37(22:22) = char(48 + i3bit)
endif
msg37(22:22) = char(48 + i3bit)
return
endif
+18 -48
View File
@@ -62,21 +62,17 @@ program ft8code
msgchk=msg
! Generate msgsent, msgbits, and itone
if(index(msg,';').le.0) then
call packmsg(msg(1:22),dgen,itype,bcontest)
msgtype=""
if(itype.eq.1) msgtype="Std Msg"
if(itype.eq.2) msgtype="Type 1 pfx"
if(itype.eq.3) msgtype="Type 1 sfx"
if(itype.eq.4) msgtype="Type 2 pfx"
if(itype.eq.5) msgtype="Type 2 sfx"
if(itype.eq.6) msgtype="Free text"
i3bit=0
call genft8(msg(1:22),mygrid6,bcontest,i3bit,msgsent,msgbits,itone)
else
call foxgen_wrap(msg,msgbits,itone)
i3bit=1
endif
call packmsg(msg(1:22),dgen,itype,bcontest)
msgtype=""
if(itype.eq.1) msgtype="Std Msg"
if(itype.eq.2) msgtype="Type 1 pfx"
if(itype.eq.3) msgtype="Type 1 sfx"
if(itype.eq.4) msgtype="Type 2 pfx"
if(itype.eq.5) msgtype="Type 2 sfx"
if(itype.eq.6) msgtype="Free text"
i3bit=0
call genft8(msg(1:22),mygrid6,bcontest,i3bit,msgsent,msgbits,itone)
decoded=msgbits
i3bit=4*decoded(73) + 2*decoded(74) + decoded(75)
iFreeText=decoded(57)
@@ -85,40 +81,14 @@ program ft8code
call extractmessage174(decoded,message,ncrcflag)
decoded=decoded0
if(i3bit.eq.0) then
if(bcontest) call fix_contest_msg(mygrid6,message)
bad=" "
comment=' '
if(itype.ne.6 .and. message.ne.msgchk) bad="*"
if(itype.eq.6 .and. message(1:13).ne.msgchk(1:13)) bad="*"
if(itype.eq.6 .and. len(trim(msgchk)).gt.13) comment='truncated'
write(*,1020) imsg,msgchk,message,bad,i3bit,itype,msgtype,comment
if(bcontest) call fix_contest_msg(mygrid6,message)
bad=" "
comment=' '
if(itype.ne.6 .and. message.ne.msgchk) bad="*"
if(itype.eq.6 .and. message(1:13).ne.msgchk(1:13)) bad="*"
if(itype.eq.6 .and. len(trim(msgchk)).gt.13) comment='truncated'
write(*,1020) imsg,msgchk,message,bad,i3bit,itype,msgtype,comment
1020 format(i2,'.',1x,a22,1x,a22,1x,a1,2i2,1x,a10,1x,a9)
else
write(cbits,1001) decoded
1001 format(87i1)
read(cbits,1002) nrpt
1002 format(66x,b6)
irpt=nrpt-30
i1=index(message,' ')
i2=index(message(i1+1:),' ') + i1
c1=message(1:i1)//' '
c2=message(i1+1:i2)//' '
msg37=c1//' RR73; '//c2//' <...> '
write(msg37(35:37),1003) irpt
1003 format(i3.2)
if(msg37(35:35).ne.'-') msg37(35:35)='+'
iz=len(trim(msg37))
do iter=1,10 !Collapse multiple blanks into one
ib2=index(msg37(1:iz),' ')
if(ib2.lt.1) exit
msg37=msg37(1:ib2)//msg37(ib2+2:)
iz=iz-1
enddo
write(*,1021) imsg,msgchk,msg37
1021 format(i2,'.',1x,a40,1x,a37)
endif
enddo