Hi Mike & all,
I have committed the small patch I proposed to correctly interpret type
1 compound call prefixes or suffixes used in "DE ..." messages. This
does not address the other issue discussed in this thread. Perhaps you
can rework your latest patch to do that?
73
Bill
G4WJS.
On 15/04/2017 10:48, Bill Somerville wrote:
On 15/04/2017 06:02, Black Michael wrote:
So do you need me to do some of this or are you going to finish it?
I'm a little fuzzy on what the compound calls are. Are those the
ones with suffix/prefix not in the lookup tables so they end up not
getting compressed?
I knew there was more to that DE problem then the kludge I put in
there....
HI Mike,
I was not sure what the code you added in your patch:
@@ -73,7 +73,7 @@
ncall=NBASE + 2
return
else if(callsign(1:3).eq.'DE ') then
- ncall=267796945
+ ncall=267747660
return
endif
and
@@ -244,6 +244,13 @@
else if((n.ge.267747660) .and. (n.le.267796944)) then
! DE with suffix
+ ! Check for type 1 prefix/suffix special handling on "DE" messages
+ if ((n.ge.267748511 .and. n.le.267748522) .or. n.eq.267747660) then
+ word='DE ';
+ iv2=0;
+ return
+ endif
+ ! W9MDB Note: Why doesn't this work? e.g. "DE KA1ABC/P" doesn't unpack
correctly -- see kludge above
and
@@ -495,6 +502,8 @@
! Encode data into 6-bit words
20 continue
+ if(c1(1:3).eq.'DE ' .and. nv2a.eq.1 .and. nv2b.eq.3 .and. (.not.text3))
nc1=267747660 + k2
+
if(itype.ne.6) itype=max(nv2a,nv2b)
dat(1)=iand(ishft(nc1,-22),63) !6 bits
dat(2)=iand(ishft(nc1,-16),63) !6 bits
was doing, so I worked through the type 1 prefixes and suffixes in DE
messages and ended up with the last patch I posted. I think it stands
alone so I can check that in separately if you wish. I wasn't sure is
there was some other edge case that your changes addressed (aside from
the extra checks if word three forced a free text message). BTW the
biggest problem with your "kludge" seems to be that you changed the
encoding of DE messages which creates a backwards compatibility
problem, my patch only changes the interpretation of existing type 2
prefix/suffix DE messages like "DE W9MDB/P" and stops them coming out
like "DE W9MDB AR95".
FYI the compound calls come in two varieties, type 1 and type 2 each
having two sub-types prefix and suffix. The type 1 ones are those that
are either the predefined prefixes or predefined suffixes defined in
lib/pxf.f90. These are encoded into word 3 instead of a grid, report,
RO, RRR or 73.
Type 2 ones are only usable in CQ, QRZ or DE messages where the prefix
(up to 4 alpha-numeric characters) or suffix (up to three
alpha-numeric characters) is encoded into the first word, these are
detected by the special ranges of word 1 values, that do not collide
with valid callsigns (look at use of the variable nv2b in
lib/packjt.f90 when nv2b.eq.4 or nv2b.eq.5). They allow the sending of
a grid, report, RRR, RO, 73 (encoded in word 3) with compound calls
that have a prefix or suffix that is not in the predefined lists, like
these examples from the User Guide:
CQ W4/G0XYZ FM07
QRZ K1ABC/VE6 DO33
DE W4/G0XYZ FM18
DE W4/G0XYZ -22
DE W4/G0XYZ R-22
DE W4/G0XYZ RRR
DE W4/G0XYZ 73
73
Bill
G4WJS.
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
wsjt-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wsjt-devel