Skip to content

Worked example

Say your national plan sets aside 10.130 to 10.150 MHz for FT8 specifically, and you want it in its own color rather than lumped in with digital.

Add the mode

  1. Add a new entry to mode_colors, for example "ft8": "#B44AC0".

  2. Reference that exact name in the range, under the 30M band:

    {"start": 10130000, "end": 10150000, "mode": "ft8"}
    
  3. Save the file, then open Display Settings and click OK.

ft8 now appears in the Mode Colors table with a purple swatch, and the segment appears on 30 m labeled FT8.

The result

"mode_colors": {
  "cw":      "#0072B2",
  "phone":   "#009E73",
  "digital": "#E69F00",
  "ft8":     "#B44AC0"
},

"30M": [
  {"start": 10100000, "end": 10130000, "mode": "cw"  },
  {"start": 10130000, "end": 10150000, "mode": "ft8" }
]

Adding a license class

Adding a whole license class works the same way. Add another entry under license_classes with its own bands and ranges. It appears in the License Class drop-down the next time the file is loaded.

Checklist before you load

Valid JSON
Every { has a matching }, every [ a matching ], and there is no comma after the last item in any list or block. JSON does not allow comments.
Frequencies in hertz
Plain whole numbers, with start lower than end in every range.
Every mode defined
Each mode used under license_classes appears in mode_colors, spelled the same way.
Colors well formed
Every color is a #RRGGBB code, including the #.
At least one class
A file with no license classes will not load.

Check the syntax

Paste the file into any online JSON validator, or run:

python3 -m json.tool your-file.json

If it prints your file back, the syntax is good. If not, it tells you which line to look at.