From 7a855f1fd54c03b673b0d5d0c16f72094c35bc20 Mon Sep 17 00:00:00 2001 From: Joe Taylor Date: Wed, 27 Jun 2018 20:19:48 -0400 Subject: [PATCH] Correct several minor bugs. --- lib/77bit/encode77.f90 | 9 ++++++--- lib/77bit/messages.txt | 28 +++++++++++++++++++--------- lib/77bit/pack77_1.f90 | 4 ++-- lib/77bit/pack77_3.f90 | 2 ++ lib/77bit/unpack77.f90 | 1 + 5 files changed, 30 insertions(+), 14 deletions(-) diff --git a/lib/77bit/encode77.f90 b/lib/77bit/encode77.f90 index dc24308ac..71f910bde 100644 --- a/lib/77bit/encode77.f90 +++ b/lib/77bit/encode77.f90 @@ -1,6 +1,6 @@ program encode77 - character msg*37,msg0*37,cerr*1 + character msg*37,msg0*37,msg1*37,cerr*1 character*77 c77 nargs=iargc() @@ -12,12 +12,15 @@ program encode77 1002 format(a37) endif if(msg0.eq.' ') exit - call pack77(msg0,i3,n3,c77) + msg1=msg0 + call pack77(msg1,i3,n3,c77) call unpack77(c77,msg) cerr=' ' if(msg.ne.msg0) cerr='*' - write(*,1004) i3,n3,cerr,msg0,msg + if(i3.eq.0) write(*,1004) i3,n3,cerr,msg0,msg 1004 format(i1,'.',i1,1x,a1,1x,a37,1x,a37) + if(i3.ge.1) write(*,1005) i3,cerr,msg0,msg +1005 format(i1,3x,a1,1x,a37,1x,a37) if(nargs.eq.1) exit enddo diff --git a/lib/77bit/messages.txt b/lib/77bit/messages.txt index 69af60dd7..1cc0cf22c 100644 --- a/lib/77bit/messages.txt +++ b/lib/77bit/messages.txt @@ -1,4 +1,5 @@ FREE TEXT MSG 71 0 71 +CQ YW18FIFA K1ABC RR73; W9XYZ -12 28 28 10 5 1 71 DXpedition Mode PA3XYZ/P R 590003 IO91NP 28 1 1 3 12 25 2 70 EU VHF contest (2) PA3XYZ 520093 IO91NP 28 1 1 3 12 25 2 70 EU VHF contest (2) @@ -7,21 +8,15 @@ WA9XYZ KA1ABC 7D EMA 28 28 1 4 3 7 3 71 ARRL Field Day WA9XYZ G8ABC 1D DX 28 28 1 4 3 7 3 71 ARRL Field Day WA9XYZ KA1ABC R 32A EMA 28 28 1 4 3 7 4 71 ARRL Field Day 123456789ABCDEF012 71 71 Telemetry (18 hex) -7123456789ABCDEF01 71 71 Telemetry (18 hex) 71234567 71 71 Telemetry (18 hex) 81234567 71 71 Telemetry (18 hex) +7123456789ABCDEF01 71 71 Telemetry (18 hex) 8123456789ABCDEF01 71 71 Telemetry (18 hex) WA9XYZ/R KA1ABC/R R FN42 28 1 28 1 1 15 74 Standard msg WA9XYZ KA1ABC R-19 28 1 28 1 1 15 74 Standard msg WA9XYZ KA1ABC +03 28 1 28 1 1 15 74 Standard msg -PA1XYZ/P GM4ABC/P R FN42 28 1 28 1 1 15 74 EU VHF Contest -TU; W9XYZ K1ABC R 579 MA 1 28 28 1 3 13 74 ARRL RTTY contest -TU; W9XYZ G8ABC R 559 0013 1 28 28 1 3 13 74 ARRL RTTY (DX) - PJ4/KA1ABC 13 58 1 2 74 Nonstandard call -PJ4/KA1ABC RRR 13 58 1 2 74 Nonstandard call - PJ4/KA1ABC RR73 13 58 1 2 74 Nonstandard call -PJ4/KA1ABC 73 13 58 1 2 74 Nonstandard call - PJ4/KA1ABC 73 13 58 1 2 74 Nonstandard call +WA9XYZ KA1ABC -30 28 1 28 1 1 15 74 Standard msg +WA9XYZ KA1ABC +30 28 1 28 1 1 15 74 Standard msg CQ K1ABC FN42 DE K1ABC FN42 QRZ K1ABC FN42 @@ -34,3 +29,18 @@ CQ AAA K1ABC FN42 CQ ZZZ K1ABC FN42 CQ AAAA K1ABC FN42 CQ ZZZZ K1ABC FN42 +PA1XYZ/P GM4ABC/P R FN42 28 1 28 1 1 15 74 EU VHF Contest +TU; W9XYZ K1ABC R 579 MA 1 28 28 1 3 13 74 ARRL RTTY contest +TU; W9XYZ G8ABC R 559 0013 1 28 28 1 3 13 74 ARRL RTTY (DX) +W9XYZ K1ABC 519 MA 1 28 28 1 3 13 74 ARRL RTTY contest +W9XYZ K1ABC 529 MA 1 28 28 1 3 13 74 ARRL RTTY contest +W9XYZ K1ABC 599 MA 1 28 28 1 3 13 74 ARRL RTTY contest +W9XYZ K1ABC 599 SNJ 1 28 28 1 3 13 74 ARRL RTTY contest +W9XYZ G8ABC 529 0013 1 28 28 1 3 13 74 ARRL RTTY (DX) +W9XYZ G8ABC 599 0013 1 28 28 1 3 13 74 ARRL RTTY (DX) + PJ4/KA1ABC 13 58 1 2 74 Nonstandard call +PJ4/KA1ABC RRR 13 58 1 2 74 Nonstandard call + PJ4/KA1ABC RR73 13 58 1 2 74 Nonstandard call +PJ4/KA1ABC 73 13 58 1 2 74 Nonstandard call + PJ4/KA1ABC 73 13 58 1 2 74 Nonstandard call +CQ 313 YW18FIFA diff --git a/lib/77bit/pack77_1.f90 b/lib/77bit/pack77_1.f90 index 09996cc16..89ce44b5d 100644 --- a/lib/77bit/pack77_1.f90 +++ b/lib/77bit/pack77_1.f90 @@ -15,11 +15,11 @@ subroutine pack77_1(nwords,w,i3,n3,c77) grid4(3:3).ge.'0' .and. grid4(3:3).le.'9' .and. & grid4(4:4).ge.'0' .and. grid4(4:4).le.'9' -! print*,'b',nwords,w(1:nwords) if(nwords.lt.3 .or. nwords.gt.4) return call chkcall(w(1),bcall_1,ok1) call chkcall(w(2),bcall_2,ok2) - if(w(1)(1:3).eq.'DE ' .or. w(1)(1:3).eq.'CQ_' .or. w(1)(1:4).eq.'QRZ ') ok1=.true. + if(w(1)(1:3).eq.'DE ' .or. w(1)(1:3).eq.'CQ_' .or. w(1)(1:3).eq.'CQ ' .or. & + w(1)(1:4).eq.'QRZ ') ok1=.true. if(.not.ok1 .or. .not.ok2) return c1=w(nwords)(1:1) c2=w(nwords)(1:2) diff --git a/lib/77bit/pack77_3.f90 b/lib/77bit/pack77_3.f90 index b2ffbe04d..084c1037b 100644 --- a/lib/77bit/pack77_3.f90 +++ b/lib/77bit/pack77_3.f90 @@ -55,6 +55,8 @@ subroutine pack77_3(nwords,w,i3,n3,c77) if(w(3+itu)(1:2).eq.'R ') ir=1 read(w(3+itu+ir),*) irpt irpt=(irpt-509)/10 - 2 + if(irpt.lt.0) irpt=0 + if(irpt.gt.7) irpt=7 ! 3 TU; W9XYZ K1ABC R 579 MA 1 28 28 1 3 13 74 ARRL RTTY contest ! 3 TU; W9XYZ G8ABC R 559 0013 1 28 28 1 3 13 74 ARRL RTTY (DX) write(c77,1010) itu,n28a,n28b,ir,irpt,nexch,i3 diff --git a/lib/77bit/unpack77.f90 b/lib/77bit/unpack77.f90 index d3ed8e5f3..97f444f6a 100644 --- a/lib/77bit/unpack77.f90 +++ b/lib/77bit/unpack77.f90 @@ -42,6 +42,7 @@ subroutine unpack77(c77,msg) ! 0.0 Free text call unpacktext77(c77(1:71),msg(1:13)) msg(14:)=' ' + msg=adjustl(msg) else if(i3.eq.0 .and. n3.eq.1) then ! 0.1 K1ABC RR73; W9XYZ -11 28 28 10 5 71 DXpedition Mode