mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2025-09-04 22:27:50 -04:00
Fix the "FST240W Type 2" and "FST240W Type 3" messages.
This commit is contained in:
parent
cbca2f2d80
commit
4a0b7b3a1d
@ -203,7 +203,7 @@ subroutine unpack77(c77,nrx,msg,unpk77_success)
|
|||||||
integer ntel(3)
|
integer ntel(3)
|
||||||
character*77 c77
|
character*77 c77
|
||||||
character*37 msg
|
character*37 msg
|
||||||
character*13 call_1,call_2,call_3
|
character*13 call_1,call_2,call_3,call_1a
|
||||||
character*13 mycall13_0,dxcall13_0
|
character*13 mycall13_0,dxcall13_0
|
||||||
character*11 c11
|
character*11 c11
|
||||||
character*3 crpt,cntx,cpfx
|
character*3 crpt,cntx,cpfx
|
||||||
@ -350,11 +350,11 @@ subroutine unpack77(c77,nrx,msg,unpk77_success)
|
|||||||
msg=adjustl(msg)
|
msg=adjustl(msg)
|
||||||
|
|
||||||
else if(i3.eq.0 .and. n3.eq.6) then
|
else if(i3.eq.0 .and. n3.eq.6) then
|
||||||
read(c77(50:50),'(b1)') j2a
|
read(c77(49:50),'(2b1)') j2a,j2b
|
||||||
j2b=0
|
itype=2
|
||||||
if(j2a.eq.0) read(c77(49:49),'(b1)') j2b
|
if(j2b.eq.0 .and. j2a.eq.0) itype=1
|
||||||
j2=2*j2a+j2b
|
if(j2b.eq.0 .and. j2a.eq.1) itype=3
|
||||||
if(j2.eq.0) then
|
if(itype.eq.1) then
|
||||||
! WSPR Type 1
|
! WSPR Type 1
|
||||||
read(c77,2010) n28,igrid4,idbm
|
read(c77,2010) n28,igrid4,idbm
|
||||||
2010 format(b28.28,b15.15,b5.5)
|
2010 format(b28.28,b15.15,b5.5)
|
||||||
@ -364,18 +364,10 @@ subroutine unpack77(c77,nrx,msg,unpk77_success)
|
|||||||
call to_grid4(igrid4,grid4)
|
call to_grid4(igrid4,grid4)
|
||||||
write(crpt,'(i3)') idbm
|
write(crpt,'(i3)') idbm
|
||||||
msg=trim(call_1)//' '//grid4//' '//trim(adjustl(crpt))
|
msg=trim(call_1)//' '//grid4//' '//trim(adjustl(crpt))
|
||||||
|
call save_hash_call(call_1,n10,n12,n22) !### Is this OK here? ###
|
||||||
|
|
||||||
else if(j2.eq.1) then
|
else if(itype.eq.2) then
|
||||||
! WSPR Type 2
|
! WSPR Type 2
|
||||||
read(c77,2030) n28,igrid6
|
|
||||||
2030 format(b22.22,b25.25)
|
|
||||||
call unpack28(n28,call_1,unpk28_success)
|
|
||||||
if(.not.unpk28_success) unpk77_success=.false.
|
|
||||||
call to_grid6(igrid6,grid6)
|
|
||||||
msg=trim(call_1)//' '//grid6
|
|
||||||
|
|
||||||
else if(j2.eq.2) then
|
|
||||||
! WSPR Type 3
|
|
||||||
read(c77,2020) n28,npfx,idbm
|
read(c77,2020) n28,npfx,idbm
|
||||||
2020 format(b28.28,b16.16,b5.5)
|
2020 format(b28.28,b16.16,b5.5)
|
||||||
idbm=nint(idbm*10.0/3.0)
|
idbm=nint(idbm*10.0/3.0)
|
||||||
@ -391,6 +383,8 @@ subroutine unpack77(c77,nrx,msg,unpk77_success)
|
|||||||
if(npfx.eq.0) exit
|
if(npfx.eq.0) exit
|
||||||
enddo
|
enddo
|
||||||
msg=trim(adjustl(cpfx))//'/'//trim(call_1)//' '//trim(adjustl(crpt))
|
msg=trim(adjustl(cpfx))//'/'//trim(call_1)//' '//trim(adjustl(crpt))
|
||||||
|
call_1a=trim(adjustl(cpfx))//'/'//trim(call_1)
|
||||||
|
call save_hash_call(call_1a,n10,n12,n22) !### Is this OK here? ###
|
||||||
else
|
else
|
||||||
! Suffix
|
! Suffix
|
||||||
npfx=npfx-nzzz
|
npfx=npfx-nzzz
|
||||||
@ -409,7 +403,20 @@ subroutine unpack77(c77,nrx,msg,unpk77_success)
|
|||||||
return
|
return
|
||||||
endif
|
endif
|
||||||
msg=trim(call_1)//'/'//trim(adjustl(cpfx))//' '//trim(adjustl(crpt))
|
msg=trim(call_1)//'/'//trim(adjustl(cpfx))//' '//trim(adjustl(crpt))
|
||||||
|
call_1a=trim(call_1)//'/'//trim(adjustl(cpfx))
|
||||||
|
call save_hash_call(call_1a,n10,n12,n22) !### Is this OK here? ###
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
else if(itype.eq.3) then
|
||||||
|
! WSPR Type 3
|
||||||
|
read(c77,2030) n22,igrid6
|
||||||
|
2030 format(b22.22,b25.25)
|
||||||
|
n28=n22+2063592
|
||||||
|
call unpack28(n28,call_1,unpk28_success)
|
||||||
|
if(.not.unpk28_success) unpk77_success=.false.
|
||||||
|
call to_grid6(igrid6,grid6)
|
||||||
|
msg=trim(call_1)//' '//grid6
|
||||||
|
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
@ -1032,6 +1039,7 @@ subroutine pack77_06(nwords,w,i3,n3,c77)
|
|||||||
i3=0
|
i3=0
|
||||||
n3=6
|
n3=6
|
||||||
call pack28(w(1),n28)
|
call pack28(w(1),n28)
|
||||||
|
n22=n28-2063592
|
||||||
k1=(ichar(grid6(1:1))-ichar('A'))*18*10*10*24*24
|
k1=(ichar(grid6(1:1))-ichar('A'))*18*10*10*24*24
|
||||||
k2=(ichar(grid6(2:2))-ichar('A'))*10*10*24*24
|
k2=(ichar(grid6(2:2))-ichar('A'))*10*10*24*24
|
||||||
k3=(ichar(grid6(3:3))-ichar('0'))*10*24*24
|
k3=(ichar(grid6(3:3))-ichar('0'))*10*24*24
|
||||||
@ -1039,7 +1047,7 @@ subroutine pack77_06(nwords,w,i3,n3,c77)
|
|||||||
k5=(ichar(grid6(5:5))-ichar('A'))*24
|
k5=(ichar(grid6(5:5))-ichar('A'))*24
|
||||||
k6=(ichar(grid6(6:6))-ichar('A'))
|
k6=(ichar(grid6(6:6))-ichar('A'))
|
||||||
igrid6=k1+k2+k3+k4+k5+k6
|
igrid6=k1+k2+k3+k4+k5+k6
|
||||||
write(c77,1030) n28,igrid6,2,0,n3,i3
|
write(c77,1030) n22,igrid6,2,0,n3,i3
|
||||||
1030 format(b22.22,b25.25,b3.3,b21.21,2b3.3)
|
1030 format(b22.22,b25.25,b3.3,b21.21,2b3.3)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user