Fix generation of Tx2 in RTTY mode. Fix a related problem of decoding the incorrect RTTY message.

This commit is contained in:
Joe Taylor 2018-08-03 11:46:28 -04:00
parent 800e29d4db
commit 0d7cd3ed03
2 changed files with 11 additions and 6 deletions

View File

@ -182,7 +182,7 @@ subroutine pack77(msg0,i3,n3,c77)
call packtext77(msg(1:13),c77(1:71)) call packtext77(msg(1:13),c77(1:71))
write(c77(72:77),'(2b3.3)') n3,i3 write(c77(72:77),'(2b3.3)') n3,i3
900 return 900 return
end subroutine pack77 end subroutine pack77
subroutine unpack77(c77,msg) subroutine unpack77(c77,msg)
@ -866,7 +866,6 @@ subroutine pack77_1(nwords,w,i3,n3,c77)
trim(w(nwords)).ne.'RR73' .and. trim(w(nwords)).ne.'73') return trim(w(nwords)).ne.'RR73' .and. trim(w(nwords)).ne.'73') return
if(c1.eq.'+' .or. c1.eq.'-') then if(c1.eq.'+' .or. c1.eq.'-') then
ir=0 ir=0
write(81,*) nwords,w(1:nwords); flush(81)
read(w(nwords),*,err=900) irpt read(w(nwords),*,err=900) irpt
irpt=irpt+35 irpt=irpt+35
else if(c2.eq.'R+' .or. c2.eq.'R-') then else if(c2.eq.'R+' .or. c2.eq.'R-') then
@ -999,7 +998,6 @@ subroutine pack77_3(nwords,w,i3,n3,c77)
900 return 900 return
end subroutine pack77_3 end subroutine pack77_3
subroutine pack77_4(nwords,w,i3,n3,c77) subroutine pack77_4(nwords,w,i3,n3,c77)
! Check Type 3 (One nonstandard call and one hashed call) ! Check Type 3 (One nonstandard call and one hashed call)
@ -1013,6 +1011,8 @@ subroutine pack77_4(nwords,w,i3,n3,c77)
character*38 c character*38 c
data c/' 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ/'/ data c/' 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ/'/
iflip=0
i3=-1
if(nwords.eq.2 .or. nwords.eq.3) then if(nwords.eq.2 .or. nwords.eq.3) then
call_1=w(1) call_1=w(1)
if(call_1(1:1).eq.'<') call_1=w(1)(2:len(trim(w(1)))-1) if(call_1(1:1).eq.'<') call_1=w(1)(2:len(trim(w(1)))-1)
@ -1058,12 +1058,14 @@ subroutine pack77_4(nwords,w,i3,n3,c77)
endif endif
write(c77,1010) n12,n58,iflip,nrpt,icq,i3 write(c77,1010) n12,n58,iflip,nrpt,icq,i3
1010 format(b12.12,b58.58,b1,b2.2,b1,b3.3) 1010 format(b12.12,b58.58,b1,b2.2,b1,b3.3)
do i=1,77
if(c77(i:i).eq.'*') c77(i:i)='0' !### Clean up any illegal chars ###
enddo
endif endif
900 return 900 return
end subroutine pack77_4 end subroutine pack77_4
subroutine packtext77(c13,c71) subroutine packtext77(c13,c71)
real*16 q real*16 q

View File

@ -4760,9 +4760,12 @@ void MainWindow::genStdMsgs(QString rpt, bool unconditional)
if(m_config.bRTTYroundup()) { if(m_config.bRTTYroundup()) {
t=t0 + rst + m_config.RTTYExchange(); //Use a real report t=t0 + rst + m_config.RTTYExchange(); //Use a real report
msgtype(t, ui->tx2);
QString t1=m_config.RTTYExchange(); QString t1=m_config.RTTYExchange();
if(t1=="DX" or t1=="#") t1.sprintf("%4.4d",ui->sbSerialNumber->value()); if(t1=="DX" or t1=="#") {
t1.sprintf("%4.4d",ui->sbSerialNumber->value());
t=t0 + rst + t1;
}
msgtype(t, ui->tx2);
t=t0 + "R " + rst + t1; t=t0 + "R " + rst + t1;
msgtype(t, ui->tx3); msgtype(t, ui->tx3);
m_send_RR73=true; m_send_RR73=true;