WSPRNET packet mode changes


Rob Robinett
 

Yesterday Gary W1GJM posted to the WN forum that the wsprnet.org DB had been changed to better describe the different wpsr pkt modes.  However I am a little confused by his description.

- Modes to DB Code mapping


Upload DB Mode
2 1 WSPR-2
15 2 WSPR-15 & FST4W -900 (1)
3 3 FST4W -120
5 4 FST4W -300
16 5 FST4W -900 (enabled, unused by WSJT-x currently, so possible future change)
30 8 FST4W -1800
? -1 Unknown


WD performs a translation of the mode field in ALL_WSPR.TXT to the spot lines uploaded to WSPRNET by executing this small awk script:

wsprdaemon@AI6VN-KH6-TC:~/wsprdaemon$ cat wn_from_wd_spot_file.awk
#!/bin/awk

### This awk script takes a file of 34 field WD extended spot lines and output 11 field wsprnet batch upload spot lines
### Doing that requries moving the 'sync_quality' to field 3 and transforming the 'pkt_mode' field in field $18 of extended spots to a subset in field 11 of the WN spot line

NF != 34 {
    printf ("ERROR: WD spot file %s has %d fields instead of the expected 34 fields\n", FILENAME, NF )
}
NF == 34 {
    if ( $8 == "none" ) {
        $8 = "      "
    }
    wd_pkt_mode = $18
    if ( wd_pkt_mode == 2 )           ### produced by 'wsprd'
        wn_pkt_mode = 2               ### WSPR-2
    else if ( wd_pkt_mode == 15 )     ### produced by 'wsprd'
        wn_pkt_mode = 15              ### WSPR-15
    else if (  wd_pkt_mode == 3 )     ### added by WD to the lines produced by 'jt9'
        wn_pkt_mode = 2               ### FST4W-120
    else if (  wd_pkt_mode == 6 )     ### added by WD to the lines produced by 'jt9'
        wn_pkt_mode = 5               ### FST4W-300
    else if (  wd_pkt_mode == 16 )    ### added by WD to the lines produced by 'jt9'
        wn_pkt_mode = 15              ### FST4W-900
    else if (  wd_pkt_mode == 31 )    ### added by WD to the lines produced by 'jt9'
        wn_pkt_mode = 30              ### FST4W-1800
    else {
        wn_pkt_mod= 2
        printf ("ERROR: WD spot line has pkt_mode = '%s', not one of the expected 2/3/5/15/16/30 values: ", wd_pkt_mode)
    }
    printf ( "%6s %4s %3.2f %3d %5.2f %12.7f %-14s %-6s %2d %2d %4d\n", $1, $2, $3, $4, $5, $6, $7, $8, $9, $10, wn_pkt_mode)
}

If I understand Gary's post, then I need to upload  FST4W-900 spots as mode 16 rather than translate it to 15 as I currently do.
I'm so deep in other projects that I don't have time to test that one change:

...
    else if (  wd_pkt_mode == 16 )    ### added by WD to the lines produced by 'jt9'
        wn_pkt_mode = 16              ### FST4W-900

-
-
Rob Robinett
AI6VN
mobile: +1 650 218 8896


KD2OM
 

Rob,

This line needs to be changed as well:

from:

else if (  wd_pkt_mode == 3 )     ### added by WD to the lines produced by 'jt9'
        wn_pkt_mode = 2               ### FST4W-120

to:

else if (  wd_pkt_mode == 3 )     ### added by WD to the lines produced by 'jt9'
        wn_pkt_mode = 3               ### FST4W-120


Steve

On 1/18/23 00:25, Rob Robinett wrote:

Yesterday Gary W1GJM posted to the WN forum that the wsprnet.org DB had been changed to better describe the different wpsr pkt modes.  However I am a little confused by his description.

- Modes to DB Code mapping


Upload DB Mode
2 1 WSPR-2
15 2 WSPR-15 & FST4W -900 (1)
3 3 FST4W -120
5 4 FST4W -300
16 5 FST4W -900 (enabled, unused by WSJT-x currently, so possible future change)
30 8 FST4W -1800
? -1 Unknown


WD performs a translation of the mode field in ALL_WSPR.TXT to the spot lines uploaded to WSPRNET by executing this small awk script:

wsprdaemon@AI6VN-KH6-TC:~/wsprdaemon$ cat wn_from_wd_spot_file.awk
#!/bin/awk

### This awk script takes a file of 34 field WD extended spot lines and output 11 field wsprnet batch upload spot lines
### Doing that requries moving the 'sync_quality' to field 3 and transforming the 'pkt_mode' field in field $18 of extended spots to a subset in field 11 of the WN spot line

NF != 34 {
    printf ("ERROR: WD spot file %s has %d fields instead of the expected 34 fields\n", FILENAME, NF )
}
NF == 34 {
    if ( $8 == "none" ) {
        $8 = "      "
    }
    wd_pkt_mode = $18
    if ( wd_pkt_mode == 2 )           ### produced by 'wsprd'
        wn_pkt_mode = 2               ### WSPR-2
    else if ( wd_pkt_mode == 15 )     ### produced by 'wsprd'
        wn_pkt_mode = 15              ### WSPR-15
    else if (  wd_pkt_mode == 3 )     ### added by WD to the lines produced by 'jt9'
        wn_pkt_mode = 2               ### FST4W-120
    else if (  wd_pkt_mode == 6 )     ### added by WD to the lines produced by 'jt9'
        wn_pkt_mode = 5               ### FST4W-300
    else if (  wd_pkt_mode == 16 )    ### added by WD to the lines produced by 'jt9'
        wn_pkt_mode = 15              ### FST4W-900
    else if (  wd_pkt_mode == 31 )    ### added by WD to the lines produced by 'jt9'
        wn_pkt_mode = 30              ### FST4W-1800
    else {
        wn_pkt_mod= 2
        printf ("ERROR: WD spot line has pkt_mode = '%s', not one of the expected 2/3/5/15/16/30 values: ", wd_pkt_mode)
    }
    printf ( "%6s %4s %3.2f %3d %5.2f %12.7f %-14s %-6s %2d %2d %4d\n", $1, $2, $3, $4, $5, $6, $7, $8, $9, $10, wn_pkt_mode)
}

If I understand Gary's post, then I need to upload  FST4W-900 spots as mode 16 rather than translate it to 15 as I currently do.
I'm so deep in other projects that I don't have time to test that one change:

...
    else if (  wd_pkt_mode == 16 )    ### added by WD to the lines produced by 'jt9'
        wn_pkt_mode = 16              ### FST4W-900

-
-
Rob Robinett
AI6VN
mobile: +1 650 218 8896


Rob Robinett
 

I have tested and checked into 3.0.6 the changes needed to support wsprnet.org's new modes.
WD also now uses the 'wsprd' and 'jt9' binaries from the WSJT-x 2.6.1 release