DX Tab
DX Tab
The DX tab (not available on mobile devices) controls the content displayed in the DX label and band bar areas above the frequency scale. And also in the "select band" menu on the main control panel. As you make changes they should be immediately reflected in all active user connections (except for file import discussed below which requires a restart).
The Default DX label database menu determines which of the three label databases a user connection will be initially shown: (the user may change the database at any time after)
stored (writeable)
EiBi (writeable)
Community (downloaded)
The remainder of this section describes how to edit DX labels in the stored database.
Changes are saved as you type. The message Changes saved will appear when a save occurs.
It is extremely important that you maintain timely backups of the label database. Especially if you've spent many hours carefully curating an extensive, customized set of labels. Use the Export: JSON CSV buttons to download a copy of the labels onto the computer running the browser.
The band bar and select band menu information is stored in the normal Kiwi configuration file. You can copy the files from tf card by connecting tf card to PC. You could also backup the files individually using a file transfer program such as WinSCP. Or The files are named:
/root/config/dx.json
/root/config/websdr.json
/root/config/admin.json
There are four sections that can be shown or hidden using the + and - buttons on the left. They are:
Section | Usage |
---|---|
Stored DX labels | Defines the labels themselves. |
DX type | Defines content of Type menu appearing in Stored DX labels section above. |
Band bars | Defines content of band bars and select band menu on user page. |
Band service | Defines content of Service menu appearing in Band bars section above. |
If you hover the mouse over the icon a popup will appear with additional information.
Stored DX labels
The fields are the same as those in the user connection DX label edit panel.
The + and - buttons will duplicate and delete, respectively, a label entry. The duplicate function allows a new label to be created before the first and after the last existing entries, or anywhere in-between.
The button allows the optional schedule information to be added. If the schedule is the default (always active, 0000 - 2400, 7-days) then the schedule controls are not displayed to save screen space. Use the button to reset the schedule to the default. More information about label schedules.
There are search controls at the top right for the Freq, Ident and Notes fields. A matching field is highlighted in yellow (closest match for frequency). Type the enter/return key to search for the next occurence of the Ident or Note. The searches will wrap. The frequency is in kHz and MHz notation can be used e.g. 7M versus 7000
See the end of this section for a discussion of editing the dx.json file directly.
DX type menu
The Type menu in the Stored DX labels section above has some values associated with the default dx.json file. But just as with the DX labels you can change the type values to be whatever you like.
However, it is important to understand how changing the type values will effect existing labels. If you have labels that use a particular type, let's say using the type menu name associated with the T1 entry on the DX type menu section. And then you clear the Menu entry name field for T1. What should happen to the Type menu? The answer is that a temporary name called, in this case, (T1) appears in the menu to remind you there are still labels using the T1 definition. If you subsequently change the type name to something non-blank the menu and label will follow the change.
You can define up to 14 different type entries. The 15th type is used in implementing masked frequencies and cannot be changed or removed.
The HTML color name field accepts all HTML color name specifications, including by name, hex value (e.g. #6789ab), or specific RGB/HSL value (e.g. hsl(300, 75%, 95%)). Color utilities like HTML color picker or color names by shade are useful.
Band bars
These next two sections control the band bars seen above the DX labels and frequency scale. And also the content of the select band menu in the main control panel.
The order of entries in the band bars section exactly determine the content of the select band menu. So for example it is important that all entries with the same Service type are grouped together so they appear under a single service heading in the menu.
The select band menu can define band bars and also single frequencies commonly used that do not have an associated band bar (e.g. the time stations). For this reason the ITU / Visibility menu contains the two entries show on band scale only and show on band menu only. The other menu entries, including any, always imply the entry will appear on both the band scale and in the band menu. For a single frequency entry set the Min and Max frequency values equal.
The ITU Region 1|2|3 selection filters when the entry will be shown based on the Kiwi ITU region configuration. Note that entries with ITU region specified typically have different values in the Chan field to account for the different channel spacing in those regions.
The Band name value is the name used in the menu and/or band bar. The band bar name is also augmented by the Menu entry name (service name) and optional Long name fields described below.
An entry in the Band freq/mode field sets a specific frequency and mode when a select band entry is selected. For example this is how the time station entries work. You could e.g. use this to select AM mode and a specific frequency in the AMBC band.
It is possible to have Min and Max frequency values in this list larger than 32 MHz for when a frequency offset is being used (i.e. downconverter/transverter operation).
Band service menu
This section defines the Service menu in the preceding section. The HTML color name field has the same specifications as described above. An example of how the resulting band bar will look with the given color and service name appears on the right.
The two name fields here, Menu entry name (service name) and Long name and the Band name in the preceding section are used in slightly different ways to construct naming in the select band menu and the band bars themselves.
Let's consider a service name of Broadcast, a band name of 41m and a long name of Shortwave Broadcast. In the select band menu 41m will appear under the Broadcast heading, along with any other bands with that same service name. The band bar will have a different name depending how wide it is as a function of the current zoom level. At a minimum 41m will be shown (unless the bar is so short that no text fits.) If it fits 41m followed by Broadcast will be shown. But since the long name is not blank in this example 41m followed by Shortwave Broadcast will be the actual name shown.
Editing the dx.json file directly
In some cases it may be easier to make a large number of changes using a text editor on another computer by connecting tf card to PC. If any illegal format JSON or CSV is detected in the labels after the restart error messages will appear in the Kiwi log and a count of the number of bad labels will appear on the DX tab. The bad labels are discarded. So to repair you must fix them in the file and import again.
Each JSON file entry has a number of fixed fields followed by some optional parameters.
[ Freq (kHz), "Mode", "Ident", "Notes", { parameters, JSON object } (optional) ]
The parameters can be any combination of:
field | explanation |
---|---|
"Tn":1 | Type code linking to a type menu entry, n is 1 to 15. "T0":1 is always omitted to save file space. |
"lo":Hz, "hi":Hz | Passband |
"o":Hz | Offset |
"d0":DOW_value | Day-of-week schedule value, MTWTFSS = hex bits 0x7f, example: M_W__SS = 7'b1010011 = 0x53 = 83. |
"b0":hhmm, "e0":hhmm | Begin and End schedule times (UTC) |
"p":"extension" | Extension Name |
Some examples:
Example | Explanation |
---|---|
[ 5000.00, "AMN", "WWV", "time signal" ] | Both Ident and Notes fields |
[ 7038.60, "USB", "WSPR", "" ] | An empty Notes field |
[ 8653.00, "USB", "FSK", "", { "T1":1 } ] | Type is second entry (T1) in DX type menu |
[ 8681.00, "USB", "FAX", "NMC", { "lo":800, "hi":2200, "p":"fax" } ] | Passband: lo=800, hi=2200 Hz, Extension: FAX |
[ 2500.00, "AMN", "BPM", "time signal", { "b0":730, "e0":100 } ] | Schedule (UTC): begin=0730, end=0100, 7-days |
[ 4458.00, "USB", "XPB", "MFSK", { "d0":33, "b0":2050, "e0":2100 } ] | Schedule (UTC): begin=2050, end=2100,DOW: Tue,Sun = 7'b0100001 = 0x21 = 33. |
Some characters in the string fields (e.g. Ident, Notes) are encoded using a subset of URL percent (%) encoding. They are listed below. These encodings are used in any exported JSON or CSV files. When you edit a file you must use the encoding, except you can enter UTF-8 characters directly. The UTF-8 will be encoded when the files are imported and subsequently re-exported.
Character(s) | % encoding | |
---|---|---|
control chars | %00 - %1f | Use \n in the Ident or Notes field for a multi-line label. No reason to use the other control chars. |
" | %22 | Double quote. |
% | %25 | |
\ | %5c | |
UTF-8 bytes | %80 - %ff | You can enter UTF-8 characters in your text editor but they will be encoded when the file is imported and subsequently re-exported. |
For CSV files the semicolon ; is the field separator character. The first line contains a legend describing the order of the fields. To include the double quote character " inside a string field, like the Ident or Notes fields, repeat it twice. This is a standard escape mechanism supported by spreadsheet programs. For example: Notes field with ""double quotes"" embedded Or use the %22 encoding for a double quote. When imported, the CSV file is converted to JSON and stored in the usual dx.json file.