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 endifand
@@ -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 aboveand
@@ -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 bitswas 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
