mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2024-11-25 21:58:38 -05:00
Fix some bugs for more varied example messages.
This commit is contained in:
parent
c75a270872
commit
acd6d5cab9
@ -18,8 +18,8 @@ i3.n3 Example message Bits Total Purpose
|
|||||||
0.7
|
0.7
|
||||||
|
|
||||||
1 WA9XYZ/R KA1ABC/R R FN42 28 1 28 1 1 15 74 Standard msg
|
1 WA9XYZ/R KA1ABC/R R FN42 28 1 28 1 1 15 74 Standard msg
|
||||||
2 TU; W9XYZ K1ABC R 579 MA 1 28 28 1 3 13 74 ARRL RTTY contest
|
2 PA3XYZ/P GM4ABC/P R JO22 28 1 28 1 1 15 74 EU VHF contest
|
||||||
3 PA3XYZ/P GM4ABC/P R JO22 28 1 28 1 1 15 74 EU VHF contest
|
3 TU; W9XYZ K1ABC R 579 MA 1 28 28 1 3 13 74 ARRL RTTY contest
|
||||||
4 <WA9XYZ> PJ4/KA1ABC RR73 13 58 1 2 74 Nonstandard calls
|
4 <WA9XYZ> PJ4/KA1ABC RR73 13 58 1 2 74 Nonstandard calls
|
||||||
5 ...
|
5 ...
|
||||||
6
|
6
|
||||||
|
@ -3,9 +3,15 @@ i3 n3
|
|||||||
0 0 FREE TEXT MSG 71 0 71
|
0 0 FREE TEXT MSG 71 0 71
|
||||||
0 1 K1ABC RR73; W9XYZ <KH1/KH7Z> -12 28 28 10 5 1 71 DXpedition Mode
|
0 1 K1ABC RR73; W9XYZ <KH1/KH7Z> -12 28 28 10 5 1 71 DXpedition Mode
|
||||||
0 2 PA3XYZ/P R 590003 IO91NP 28 1 1 3 12 25 2 70 EU VHF contest (2)
|
0 2 PA3XYZ/P R 590003 IO91NP 28 1 1 3 12 25 2 70 EU VHF contest (2)
|
||||||
|
0 2 PA3XYZ 520093 IO91NP 28 1 1 3 12 25 2 70 EU VHF contest (2)
|
||||||
0 3 WA9XYZ KA1ABC R 16A EMA 28 28 1 4 3 7 3 71 ARRL Field Day
|
0 3 WA9XYZ KA1ABC R 16A EMA 28 28 1 4 3 7 3 71 ARRL Field Day
|
||||||
|
0 3 WA9XYZ KA1ABC 7D EMA 28 28 1 4 3 7 3 71 ARRL Field Day
|
||||||
0 4 WA9XYZ KA1ABC R 32A EMA 28 28 1 4 3 7 4 71 ARRL Field Day
|
0 4 WA9XYZ KA1ABC R 32A EMA 28 28 1 4 3 7 4 71 ARRL Field Day
|
||||||
0 5 0123456789ABCDEF01 71 71 Telemetry (18 hex)
|
0 5 123456789ABCDEF012 71 71 Telemetry (18 hex)
|
||||||
|
0 5 7123456789ABCDEF01 71 71 Telemetry (18 hex)
|
||||||
|
0 5 71234567 71 71 Telemetry (18 hex)
|
||||||
|
0 5 81234567 71 71 Telemetry (18 hex)
|
||||||
|
0 5 8123456789ABCDEF01 71 71 Telemetry (18 hex)
|
||||||
1 WA9XYZ/R KA1ABC/R R FN42 28 1 28 1 1 15 74 Standard msg
|
1 WA9XYZ/R KA1ABC/R R FN42 28 1 28 1 1 15 74 Standard msg
|
||||||
2 TU; W9XYZ K1ABC R 579 MA 1 28 28 1 3 13 74 ARRL RTTY contest
|
2 TU; W9XYZ K1ABC R 579 MA 1 28 28 1 3 13 74 ARRL RTTY contest
|
||||||
3 <WA9XYZ> PJ4/KA1ABC R-11 13 53 1 1 6 74 Nonstandard calls
|
3 <WA9XYZ> PJ4/KA1ABC R-11 13 53 1 1 6 74 Nonstandard calls
|
||||||
|
@ -2,7 +2,7 @@ subroutine pack77(msg,i3,n3,c77)
|
|||||||
|
|
||||||
use packjt
|
use packjt
|
||||||
character*37 msg
|
character*37 msg
|
||||||
! character*22 msg22
|
character*18 c18
|
||||||
character*13 w(19)
|
character*13 w(19)
|
||||||
character*77 c77
|
character*77 c77
|
||||||
integer nw(19)
|
integer nw(19)
|
||||||
@ -27,33 +27,35 @@ subroutine pack77(msg,i3,n3,c77)
|
|||||||
if(i3.ge.0) go to 900
|
if(i3.ge.0) go to 900
|
||||||
|
|
||||||
! Check 0.5 (telemetry)
|
! Check 0.5 (telemetry)
|
||||||
5 if(index(msg,' ').gt.18) then
|
5 i0=index(msg,' ')
|
||||||
ntel=-99
|
c18=msg(1:i0-1)//' '
|
||||||
read(msg(1:18),1005,err=6) ntel
|
c18=adjustr(c18)
|
||||||
|
ntel=-99
|
||||||
|
read(c18,1005,err=6) ntel
|
||||||
1005 format(3z6)
|
1005 format(3z6)
|
||||||
6 if(ntel(1).ge.0 .and. ntel(2).ge.0 .and. ntel(3).ge.0) then
|
if(ntel(1).ge.2**23) go to 800
|
||||||
i3=0
|
6 if(ntel(1).ge.0 .and. ntel(2).ge.0 .and. ntel(3).ge.0) then
|
||||||
n3=5
|
i3=0
|
||||||
write(c77,1006) ntel,n3
|
n3=5
|
||||||
1006 format(b23.23,2b24.24,b3.3)
|
write(c77,1006) ntel,n3
|
||||||
go to 900
|
1006 format(b23.23,2b24.24,b3.3)
|
||||||
endif
|
go to 900
|
||||||
endif
|
endif
|
||||||
|
|
||||||
! Check Types 1 and 4 (Standard 77-bit message (type 1) or with "/P" (type 4))
|
! Check Types 1 and 2 (Standard 77-bit message (type 1) or with "/P" (type 2))
|
||||||
call pack77_1(nwords,w,i3,n3,c77)
|
call pack77_1(nwords,w,i3,n3,c77)
|
||||||
if(i3.ge.0) go to 900
|
if(i3.ge.0) go to 900
|
||||||
|
|
||||||
! Check Type 2 (ARRL RTTY contest exchange)
|
! Check Type 3 (ARRL RTTY contest exchange)
|
||||||
call chk77_2(nwords,w,i3,n3)
|
call chk77_2(nwords,w,i3,n3)
|
||||||
if(i3.ge.0) go to 900
|
if(i3.ge.0) go to 900
|
||||||
|
|
||||||
! Check Type 3 (One nonstandard call and one hashed call)
|
! Check Type 4 (One nonstandard call and one hashed call)
|
||||||
call chk77_3(nwords,w,i3,n3)
|
call chk77_3(nwords,w,i3,n3)
|
||||||
if(i3.ge.0) go to 900
|
if(i3.ge.0) go to 900
|
||||||
|
|
||||||
! By default, it's free text
|
! By default, it's free text
|
||||||
i3=0
|
800 i3=0
|
||||||
n3=0
|
n3=0
|
||||||
msg(14:)=' '
|
msg(14:)=' '
|
||||||
call packtext77(msg(1:13),c77(1:71))
|
call packtext77(msg(1:13),c77(1:71))
|
||||||
|
@ -22,16 +22,6 @@ subroutine pack77_03(nwords,w,i3,n3,c77)
|
|||||||
call chkcall(w(1),bcall_1,ok1)
|
call chkcall(w(1),bcall_1,ok1)
|
||||||
call chkcall(w(2),bcall_2,ok2)
|
call chkcall(w(2),bcall_2,ok2)
|
||||||
if(.not.ok1 .or. .not.ok2) return
|
if(.not.ok1 .or. .not.ok2) return
|
||||||
|
|
||||||
ntx=-1
|
|
||||||
j=len(trim(w(nwords-1)))-1
|
|
||||||
if(j.ge.2) read(w(nwords-1)(1:j),*,err=1) ntx !Number of transmitters
|
|
||||||
1 if(ntx.lt.1 .or. ntx.gt.32) return
|
|
||||||
nclass=ichar(w(nwords-1)(j+1:j+1))-ichar('A')
|
|
||||||
|
|
||||||
m=len(trim(w(nwords))) !Length of section abbreviation
|
|
||||||
if(m.lt.2 .or. m.gt.3) return
|
|
||||||
|
|
||||||
isec=-1
|
isec=-1
|
||||||
do i=1,NSEC
|
do i=1,NSEC
|
||||||
if(csec(i).eq.w(nwords)) then
|
if(csec(i).eq.w(nwords)) then
|
||||||
@ -40,7 +30,17 @@ subroutine pack77_03(nwords,w,i3,n3,c77)
|
|||||||
endif
|
endif
|
||||||
enddo
|
enddo
|
||||||
if(isec.eq.-1) return
|
if(isec.eq.-1) return
|
||||||
|
if(nwords.eq.5 .and. trim(w(3)).ne.'R') return
|
||||||
|
|
||||||
|
ntx=-1
|
||||||
|
j=len(trim(w(nwords-1)))-1
|
||||||
|
read(w(nwords-1)(1:j),*,err=1) ntx !Number of transmitters
|
||||||
|
1 if(ntx.lt.1 .or. ntx.gt.32) return
|
||||||
|
nclass=ichar(w(nwords-1)(j+1:j+1))-ichar('A')
|
||||||
|
|
||||||
|
m=len(trim(w(nwords))) !Length of section abbreviation
|
||||||
|
if(m.lt.2 .or. m.gt.3) return
|
||||||
|
|
||||||
! 0.3 WA9XYZ KA1ABC R 16A EMA 28 28 1 4 3 7 71 ARRL Field Day
|
! 0.3 WA9XYZ KA1ABC R 16A EMA 28 28 1 4 3 7 71 ARRL Field Day
|
||||||
! 0.4 WA9XYZ KA1ABC R 32A EMA 28 28 1 4 3 7 71 ARRL Field Day
|
! 0.4 WA9XYZ KA1ABC R 32A EMA 28 28 1 4 3 7 71 ARRL Field Day
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
subroutine pack77_1(nwords,w,i3,n3,c77)
|
subroutine pack77_1(nwords,w,i3,n3,c77)
|
||||||
! Check Type 1 (Standard 77-bit message) and Type 3 (ditto, with a "/P" call)
|
! Check Type 1 (Standard 77-bit message) and Type 2 (ditto, with a "/P" call)
|
||||||
|
|
||||||
character*13 w(19),c13
|
character*13 w(19),c13
|
||||||
character*77 c77
|
character*77 c77
|
||||||
@ -20,12 +20,12 @@ subroutine pack77_1(nwords,w,i3,n3,c77)
|
|||||||
if(.not.is_grid4(w(nwords)(1:4))) return
|
if(.not.is_grid4(w(nwords)(1:4))) return
|
||||||
|
|
||||||
! 1 WA9XYZ/R KA1ABC/R R FN42 28 1 28 1 1 15 74 Standard msg
|
! 1 WA9XYZ/R KA1ABC/R R FN42 28 1 28 1 1 15 74 Standard msg
|
||||||
! 3 PA3XYZ/P GM4ABC/P R JO22 28 1 28 1 1 15 74 EU VHF contest
|
! 2 PA3XYZ/P GM4ABC/P R JO22 28 1 28 1 1 15 74 EU VHF contest
|
||||||
|
|
||||||
if(nwords.eq.3 .or. (nwords.eq.4 .and. w(3)(1:2).eq.'R ')) then
|
if(nwords.eq.3 .or. (nwords.eq.4 .and. w(3)(1:2).eq.'R ')) then
|
||||||
n3=0
|
n3=0
|
||||||
i3=1 !Type 1: Standard message
|
i3=1 !Type 1: Standard message, possibly with "/R"
|
||||||
if(index(w(1),'/P').ge.4 .or. index(w(2),'/P').ge.4) i3=3
|
if(index(w(1),'/P').ge.4 .or. index(w(2),'/P').ge.4) i3=2 !Type 2, with "/P"
|
||||||
endif
|
endif
|
||||||
c13=bcall_1//' '
|
c13=bcall_1//' '
|
||||||
call pack28(c13,n28a)
|
call pack28(c13,n28a)
|
||||||
|
@ -96,6 +96,11 @@ subroutine unpack77(c77,msg)
|
|||||||
1006 format(b23,2b24)
|
1006 format(b23,2b24)
|
||||||
write(msg,1007) ntel
|
write(msg,1007) ntel
|
||||||
1007 format(3z6.6)
|
1007 format(3z6.6)
|
||||||
|
do i=1,18
|
||||||
|
if(msg(i:i).ne.'0') exit
|
||||||
|
msg(i:i)=' '
|
||||||
|
enddo
|
||||||
|
msg=adjustl(msg)
|
||||||
|
|
||||||
else if(i3.eq.1 .or. i3.eq.3) then
|
else if(i3.eq.1 .or. i3.eq.3) then
|
||||||
!### Here and elsewhere, must enable rpt/RRR/RR73/73 in igrid4
|
!### Here and elsewhere, must enable rpt/RRR/RR73/73 in igrid4
|
||||||
|
Loading…
Reference in New Issue
Block a user