I would like to acknowledge the following folks who helped me with the program.
Thank you to everyone who helped with this project.
Thank you for using JJRadio. This program is used to monitor and control amateur radio equipment. It is primarily designed for use by blind amateur radio operators.
JJRadio is optimized for use with a braille display, preferably one with at least 40 cells. I originally wrote this program because I do not like listening to a speech synthecizer while trying to listen to the radio! With the program, I am able to turn my synthecizer off, and just use the braille display to monitor the rig and do the logging.
Note that JJRadio does not use braille or speech directly, rather it relies on your screen reader to manage those devices.
The Pan Adapter function of JJRadio really requires a braille display, and will not work well with speech.
Also, when used with an Elecraft rig, a braille display makes it much handier to read the VFOA and B displays while accessing memories, for example.
When JJRadio starts up for the first time, you'll see a welcome screen. From here you can either read the documentation, configure JJRadio, or exit. If you exit JJRadio without configuring it, you'll see the Welcome screen again when you next run the program. It is recommended that you read the documentation first, but then you're doing that now.
When you configure JJRadio, you will be asked to enter some information about yourself, the path to your log file, and your rigs.
The first screen asks for your full name, handle, QTH, and log file. For your QTH, something like "City, ST" is recommended, e.g. "Austin, TX", without the quotes. The QTH should be what you'd send for your QTH on CW.
You are then asked for your license class. This may be none, novice, technition, general, advanced or extra.
Following this is a button entitled "Log Characteristics". You can press this to specify a log file and its characteristics, or you can elect to wait til later. Log characteristics is discussed later in the section on log characteristics.
Following this, you can specify your braille display size in cells. The default is 40.
You may then enter the address and login name for your preferred DX cluster. This is discussed later under DX Cluster.
Next you can enter your id and password for hamqth.com. This is used for the hamqth callbook lookup discussed in the log characteristics section, and in the Station Lookup command. Note that this is a free service, and creating an id is simple, go to the hamqth web site. Note that they do take donations though, and a donation would be nice.
Leave the "Default Operator button checked, and press the Add button. You will be taken to the Rig Information dialogue.
Here you are asked for information about the radio you'll be using. You may, if you wish, hit the escape key to run JJRadio without a rig.
The Rig Name is just a name used to reference the radio.
The Model is selected from a list box. The model selection determines the communication parameters you can specify. For most models, such as TS-590, you can only select a com port and baud rate. The other communication parameter values, such as the number of data bits, are fixed.
The generic rig model should only be used if you wish to use JJRadio to investigate an unsupported radio that uses the CAT commands, (i.e.) not a network radio such as the Flex. The only thing you can do with a generic rig is send CAT commands to the radio and observe the raw output from the rig. The generic type is not intended for general use.
If the model is a Flex 6300, JJRadio will look for radios on your network. It will show you a list of the radios it finds, if any. Each entry consists of the radio name, model, and serial number. You then select the radio you want. Parameters pertaining to com port settings are not shown.
If you exit this box without selecting a radio, you may enter a radio's name, model, and serial number manually. This allows you to use a radio remotely without it's needing to be on your local network.
If you plan to use this radio remotely over the internet, you must also check the "Allow remote" button.
For non-flex radios, you next select a com port from a list of ports available on your system. Thus the Com port you intend to use should already be set up. If not, you can cancel out of here and come back to this setup dialogue later from the Actions menu.
The baud rate is configurable for most radios. Unless you've changed the baud rate at the rig, you should accept the default value shown.
You'll likely want the first rig you enter to be the default rig, but that's not required. However, you are required to provide a default rig. You may now click the "Add Another" button or the "Last one" Button. In any case, you must have defined a default rig when finished.
You're now ready to start enjoying JJRadio.
If the serial port for the radio you're trying to use isn't connected, you'll get a message telling you that the port didn't open. You have three choices, abort, retry, or ignore. If you click "abort", JJRadio terminates immediately.
If you click "ignore", JJRadio keeps running, but checks periodically to see if the port has become available, and if so, you'll see the meter and frequency displayed. You might do this if you just haven't plugged the serial or USB cable in yet, but plan to soon, or perhaps you don't have the cable plugged in, but just want to look at the log.
If you click "retry", JJRadio tries to connect again. You will probably do this if you've now plugged in the cable.
Often a rig is connected to a computer using a virtual COM port. This is the case if you're using a USB connection to the radio, and have installed a virtual COM driver to do so. In this case, the rig should be powered on before starting JJRadio. This is due to the COM port's being created when the rig is turned on. Thus if JJRadio is expecting to see your rig on COM10, and you've started JJRadio before powering on the rig, the virtual driver thinks that COM10 is taken, so it'll use perhaps COM11, and JJRadio won't find the radio.
The main window is composed of several fields. There are however 5 main fields. The first is the meter and frequency display. The second is the operating mode, (e.g.) USB. This is followed by several fields which largely depend upon the mode, although some are always there. These are discussed in somewhat more detail in the Other screen fields section.
Finally there are always three fields present at the bottom, "receive text", "sent text", and "status".
The "received text" field is currently only used to display direct command output discussed later.
When in CW mode, typing text into the "sent text" field will send the characters if your rig supports it.
The last field is a "status" field.
Currently it shows:
log: log file name
There are some predefined keyboard commands that make it easier to navigate the main window.
The meter and frequency display is the first item on the main window, and where you'll want to be focused on for most operation. It is actually one text box, so it shows up as one field, and works very well with a 40-cell braille display. It is good to learn this display, as information is maximized, and there are no field prompts or headers.
I'll begin by just showing some typical output from my TS-590, and describing the information shown. Then I'll go into detail about the various fields.
Note that the left-most 2 characters are rig dependent, and are blank for the TS-590.
7 A 7.028.420 rrrr xxxx
This shows the rig on 7.028.420, using VFO A. The meter is reading s-7, so I've got a pretty good noise level.
The RIT and XIT are off.
Also, if I hit the tab key, I'll show the mode as CW.
7 A 7.028.420 +0040 xxxx
This is the same as above, except now the RIT is on, and set to +40 hz.
7 A 7.028.420 rrrr -0040
Here the XIT is on and set to -40.
10 m 1 7.200.000 rrrr xxxx
Here we have an "M" in place of the VFO, which indicates a memory channel is active. In fact, it's channel 1, at 7.2 MHZ.
Also note the s-10, which means s9 plus 10.
8 VA 7.200.000 rrrr xxxx
Now we've set VFO A to the memory channel, but we've turned on the Vox! It's very important to note when the Vox is on, especially on LSB, which is our mode as I can tell by tabbing to the mode.
7 SVA 7.200.000 rrrr xxxx
Now here, not only is the Vox enabled, but the VFOs are Split! Ok, I'll admit it, I've accidentally transmitted on an unintended frequency, because I didn't pay enough attention to whether or not my VFOs were split.
Finally, notice that the frequency is shown in the form mm.kkk.hhh, MHZ, KHZ, HZ.
Now let's turn off Vox and Split.
7 A 7.200.000 rrrr xxxx
As I turn the dial I can watch the frequency change.
NOTE: If you're using JAWS 14 through 17, you will need to uncheck "Enhanced Edit Support" to get the continuous frequency display to work. Versions prior to 14 don't have this problem. To uncheck this, use JAWSKEY-F2 and select "Settings Center". Search for the word "Enhanced", and uncheck "Enhanced Edit Mode".
Now for the cool stuff you can do from the keyboard. I'll admit this is easier with a braille display. I can use the cursor routing with my Pacmate 40 display.
First, place the cursor on a digit of the frequency, and use the up and down arrow keys to change it. For example, if you place your cursor on the right-most KHZ digit, and cursor down 5 times, you'll be on 7.195. If you place your cursor on the 7, the MHZ digit, and cursor up once, you'll be on 8.200.
Note that you can't change the frequency from the keyboard if transmitting.
You may also place your cursor on a digit and enter a digit, 1 through 9, from the keyboard. This will, by default, add that digit to the frequency according to the cursor placement. For example, if you're focused on the KHz digit, and enter a 5, 5 KHz will be added to the frequency. If you enter a minus sign, then the subsequent entries are subtracted, until you enter a plus sign.
If however you're in split VFO mode, the value applies to the transmit VFO. This is very handy for instantly setting your transmit VFO 2 KHz above the receive VFO, for example. The way it works is that if in split mode, the value entered is added to the frequency that is showing. So if you're viewing the receive frequency, the default for split mode, then the value is added to the received frequency. Thus, in this case, entering the number 2 twice, really only adds 2 once. If, however, you're viewing the transmit frequency, it is added to the transmit frequency. Thus, in this case, entering the number 2 twice, adds 4 to the transmit frequency.
Ok, go back to 7.200 please.
Now place your cursor on the A, for VFO A. Press the space bar, and notice you switch to the next VFO. Assuming you have two VFOs, you'll get back to VFO A on the next press. You can also change with the up and down arrow keys.
Note that for the Flex radios, the term VFO refers to a slice. Currently JJRadio only supports 2 slices, A and B.
Now press the "M". You should now be in memory mode. In my case, it'll be on memory 1 at 7.200.
Now place your cursor on the memory number, and go through the memories with your arrow keys. You'll note that only the active memories are shown. Empty ones are not.
Now place your cursor back on the "M", and hit the "V" key. This will switch the last-used VFO to the memory you were at, and you're back in VFO mode.
Placing the cursor over the RIT (r) or XIT (x) fields and hitting space activates the RIT or XIT. Note that RIT and XIT are not present on the IC-9100, because there is no computer control for these fields.
Here's the list of fields that have associated key functions:
For the K3, this value is either an "m" or "s" depending on whether the K3 subreceiver is active.
The second character is either 'm' or 's', depending upon whether you're controling the main or subband. Note that the subband must be on to control it.
Note that this does not work on the IC-9100. You'll need to use the XFC button, the round button on the upper left side of the main tuning dial.
Note that when using the K3 or Flex, you may wish to hear both VFOs/slices when in split mode.
Note that the 'Space" key is no longer active in the frequency field." It was too easy to accidentally enter split mode.
Note that from the frequency you can manipulate the VFOs, go into and out of split mode, and view the receive or transmit frequency.
Note that for the radios supported, RIT and XIT are in HZ.
On the Flex radios, if focused on the RIT, use the = (equal sign) to set the XIT to the RIT frequency and clear the RIT. This comes in handy when you are, for example, trying to work a DX station that's not using split frequencies, but he's working a station not exactly on his frequency.
The RIT and XIT fields aren't present for the IC-9100.
Hopefully this has given you a good sense of the main frequency display. I find it very useful, and it has really improved my radio's usability!
If you tab to the field following the main frequency display, you'll be at the Mode field. This shows the operating mode, and the mode can be changed with the arrow keys. Many of the following fields are modified using the arrow keys. I won't discuss each field in detail here, because they're somewhat rig dependent. It is certainly worth mentioning though that many of the fields that follow the mode are themselves mode dependent, and only fields relevant to the current mode are shown. Also, it is possible to access most of these fields using the Screen Fields menu.
Many fields can be changed with the up and down arrow keys. The change increment is field dependent. Also, many numeric fields may be entered directly. For example, you can enter a keyer speed of 17, for 17 wpm, rather than having to arrow to the desired values. Some fields however, which are not numeric, or have specific values that are not necessarily liniar,must be selected with the arrow keys.
For the TS-2000 and IC-9100, the SWR, Comp, and ALC fields behave differently from other fields. These radios report metered values depending upon which meter scale is selected. Thus you must either enter the field for the meter you wish to view, or mouse-click that field. Only one meter can be reported at a time.
The K3 relies more heavily on its VFO-A and VFO-B fields than do other radios. The screen fields that follow the main frequency display, for the K3, are largely binary values, such as switch settings, followed by the VFO-A and B displays.
To set the electronic keyer speed, for example, you should focus on the VFO-B display, and then rotate the knob that changes the speed. The same is true with other numeric settings such as the power and compression levels.
The Flex radios don't use menus, but some of the screen fields are buttons that may bring up dialogues. Some fields to note are:
It should be noted that JJRadio does not currently support multiple profiles such as those supported by the Smart SDR client from Flex Radio Systems.
For the selected TNF, you can then change the width in HZ, the depth, 1, 2, or 3, and whether the TNF is permanent. If TNFs are turned on, and they are by default, You will be able to hear the effect of any changes you make to a TNF immediately. Also, unless you make a TNF permanent, it will be deleted when the radio is powered off.
This is currently used to view a rig's control command output, non-flex only. If you enter a CAT command directly to the rig with the "Enter Radio's Control Command" key, ctrl-F2 by default, any output from that command appears in this field. You can view all CAT commands coming from the radio with the "raw data output" function, ctrl-shift-F2 by default.
You can copy or cut text from the Received Text field to the clipboard with ctrl-C or ctrl-X respectively. Note that you don't select text first. All the text currently in the field is copied or cut.
This works somewhat differently for the Icom rigs. To enter commands directly and view their output, use these steps:
When you start JJRadio, the Kenwood rig's memories are loaded into your computer's memory from your radio. This allows JJRadio to know what they are without having to query every time. The memories are loaded in numerical order with one noteable exception. If you are in memory mode at poweron, that memory is loaded immediately. However, you may not change memories with the arrow keys until all memories have been read in.
JJRadio has a memories dialogue accessed with the ctrl-M key sequence by default. This dialogue cannot be accessed until all the memories are loaded. The status field, the last field on the screen, displays "memories are all loaded" when that is the case. If however, you try to use the memories dialogue beforehand, you just see a message telling you the memories aren't loaded.
This dialogue displays a list on the left and a bunch of memory fields on the right. You are initially placed in the memories list, at the memory your radio is set to, or was last set to.
At the top of the screen is a button that initially says "Include empty memories". You can get there easily with a back-tab. By default though, only used memories are shown. If you click this button though, it'll then say "Only used memories", and all memories, used and empty, are displayed. If you plan to add a new memory, it is necessary to have the display include empty memories.You can navigate the memory list with the arrow keys or the page up/down keys. Each list item shows the memory number and either the memory's name, or the frequency if it has no name, or the word "empty" if it's empty. The fields displayed to the right reflect what's in the currently selected memory, and you can tab through them. For example, that memory 1 on my rig, mentioned above, will show 7.200 as the frequency, LSB as the mode, etc. The list item for it shows "001 7.200.000", since it has no name.
Note that if making changes to a memory, or setting up a new memory using the fields shown, you should change the frequency and mode before changing any other fields. This is because some fields are mode-dependent.
On the bottom of the screen are some buttons.
Also, if your focused on a list item, just press enter to go to that memory. You'll leave the dialogue, and the rig is in memory mode at the selected memory.
To use the Elecraft memories, you'll need to read the manual and look at the VFOA and VFOB displays. In other words, you select and set the memories just as it's done by looking at the rig's displays. JJRadio only provides you with the rig monitoring capability.
Flex memories differ from most other rigs, because they are completely dynamic, and there is not a fixed number of them. For example, for the Kenwood radios, memory 10 exists, whether or not it is empty. There are a fixed number of memories. For the Flex radios, a memory is simply an item on a list of memories. This list contains only used, or non-empty, memories.
When you bring up the flex memories dialogue, you are in a list of the available memories. This list is sorted by memory group and name. Unnamed memories appear after the named memories, and are sorted by frequency. If you've selected a memory in this list, and then press enter, you are taken to that memory.
The values stored for a memory by JJRadio are, frequency, mode, Low, High, Power, Name, Owner, and Group. In addition, for FM modes you can set the tone mode, off or CTCSS; tone frequency; squelch, on or off; squelch level; offset direction, off, minus or off; and the offset in KHZ.
To add a memory, first set the radio with the values you want, then bring up the memories dialogue and click the add button. For example, to add a 6-meter FM repeater at 53.670 you might:
To set the name or group, enter the value you want, and then either leave the field with the tab key, or press Enter. This also applies to most of the other fields. Some fields, such as the mode, tone mode, and tone frequency, you just set with the arrow keys.
By default, the Name and Group are blank. The owner is the radio's model, FLEX-6300 in my case, by default. Note that at present, the Owner field isn't used by JJRadio, but it is preserved. The Name and group fields are used to position the memory in the list. Memories with the same group name appear together, sorted by name. Note that if you provide a group name, you should also provide a name within that group.
If you put an "m" in the VFO field of the frequency display, the radio enters memory mode. The number shown as the memory channel is really the index of the current memory within the memory sort order. Arrowing up and down with the cursor positioned on this memory number will move up and down through the sort order. The main difference between the Flex and the other supported radios is that the Flex radios don't have a memory mode as such. The current slice is set to the selected memory. Thus pressing "v" to go back to the VFO in use before memory mode really has no effect, since that VFO, or slice, is set to the current memory already. This is an important distingtion, because if you have VFO A set to 14.2 USB, for example, and you press "m" and go to a memory, VFO A will now be set to that memory. Pressing "v" won't take you back to 14.200 USB.
The memory dialogue has the following fields:
For example, to add a new memory:
The steps are the same for changing an existing memory, except you select a memory currently in use.
One of the handiest features of JJRadio is the rig's menus dialogue. As of this writing, I have the TS-590, TS-2000, and Elecraft K3 menus implemented. By default, you access this dialogue with ctrl-U.
This menus dialogue, like the memories dialogue, puts up a list of menu items on the left which you can navigate with cursoring keys. When an item is selected, it's possible values are shown on the right. For example, the first menu item for the 590 is "Display Brightness". When selected, you can tab to a box where you can select a value of "off", or values 1 to 6. The second menu item, item 1, is "Display Backlight Color". If you select this one, you'll see the possible values of "amber" and "green", not just 0 or 1.
In fact, for the PF-key items, you're shown the possible values along with their descriptions. For example, selecting menu 79 on the 590, "Front panel PF A assignment", shows you all the values starting with 000, "display brightness", and continuing on through 208, "Emergency frequency", and 255, "No function". This is menu 51 on the TS-2000.
Note that in prior versions of JJRadio, you needed to hit Enter or click the OK button for a menu change to take effect. Now the change occurs as soon as you change the item. The exception to this is text items, those where you must enter text. In this case, you must click the OK button, or just hit enter, for the change to occur. Presently the only such item is the power on message on the TS-590.
I took a different approach with the Elecraft menus. When you get into the list of menus, you select the menu you want. A menu item that contains "(tech)" is a tech mode menu item as described in the manual. If you want to select a "(tech)" menu item, the "tech md" menu item must be turned on. If not, the "(tech)" menu items don't show up.
Once you've selected the item you want, hit the tab key to see the item's value. In most cases, you change the value with the main tuning knob on the radio.
If you hit "tab" again, you'll go to a description of the item. For example, the "ALARM" item says that the alarm is turned on and off by pressing the (1) key, and the (2) and (3) keys are used to select the hour and minute values. You then change these values with the main tuning knob.
Also, select the menu using the menu selection list provided. Do not select a menu using the VFOB knob.
JJRadio allows you to do your logging with the same program you use to monitor your rig. It is good to become familiar with the keystrokes used to log information, and the behavior of the log window in general, before attempting to use it. Once you're familiar with the logging, you can just turn off the speech from your screen reader and use the braille display.
JJRadio's logging can be modified to fit a particular logging situation. For example, there is a different log form for Field Day logging than for general purpose logging. These log formats are predefined.
This dialogue is used to specify the log file and its properties. The first thing is the log file name. You can specify a log pathname, use the Browse button that follows the name, or choose from the four most recently used log files using the Files menu, Alt-F. The default file extention for the log file is .jrl. While the log file format is unique to JJRadio, the log can be exported to, and imported from, an .adif file.
Next you specify the form name. This is the name of a predefined log format. The log format we'll discuss here is the DefaultLog.
The reason for different log forms is to tailor the logging to the activity being logged. For example, you don't need to log signal reports, QTH, and name for field day, rather you log the call, class, and ARRL section. Other log forms will be added in the future.
You can then select one of four types of duplicate checking. The types are none, justCall, callAndBand, or callAndBandAndMode. If you specify something other than none, the information in the current log entry is checked for a previous duplicate entry containing the fields mentioned. If, for example, the duplicate method is justCall, and you enter the call of a station you've worked previously, a beep sounds when you leave the call field. The #QSOs field in the log entry shows the number of prior contacts you've made with that station. This is not only useful for contesting, but also lets you know when you've contacted a station you've worked before.
Next is a field where you can specify the first serial number in the log. The default is 1.
Following the first serial field is a field that allows you to specify whether or not to lookup operator information from hamqth.com; the default is "No". The operator's information is placed into the pertinent fields in the log when you exit the Call field. For example, if you enter "ke5al" while creating a new log entry, when you exit the Call field, the QTH, Handle, and country fields are primed with KE5AL's QTH, Handle and country information.
In order for this to work, you must have an account at hamqth.com, and have entered your hamqth id and password into the information for the current operator. It is very simple to get such an account, and it is free. Simply go to the hamqth web site.
The log window can be brought up with key sequences, and brought down immediately with either the Enter or Escape key. If you exit the window with the escape key, any new information you entered is discarded. If you use the Enter key, the new information is remembered, but not logged yet. The exception to this is the Comments field, where the Enter key adds a new line. It is important to note that an entry isn't logged until you use the "Write Log Entry" key, set by default to ctrl-W.
For example, if you've just come to the log form to enter the QTH, and you know it's wrong and want to start over, you can hit Escape, and come back to it when the station is repeating it. However, if you've entered other information and use Escape, that will need to be re-entered too, so be careful here. Remember, unless in the Comments field, pressing enter leaves the form, remembers the information, but doesn't log it. If you're in the Comments field, hit Tab to leave the field and then press Enter.
Field formats aren't checked, so you can enter anything into any field, except for Tab and Enter. Enter behaves as described, and Tab takes you to the next field. You can also enter the key sequences to go to other log fields, or perform some log actions. For example, you can jump from the Callsign field to the Comment field if you wish.
You use a key sequence to go to a log field or perform selected log actions. If you're at the main window, the log window is brought up and you're positioned in the desired field. If you're already in the log window, you simply jump to the desired field.You can also perform selected logging actions such as to write the current entry.
Let's go through a typical QSO, showing the default keys used to log information. You can change these key sequences if you wish.
You can search for information in the log with ctrl-shift-F by default. If you were at the main window, you are placed in a blank log form, and you need to enter the information in the appropriate field. For example, if you want to look up a callsign, put it in the callsign field, which you can jump to with alt-C by default. The results are displayed in a list form, and you can select the desired item. You are then placed in the log form for that QSO.
If you are logging a station that you've worked before, and focused on the log form, ctrl-shift-F will search for that call. You will be placed in the list of previous logged QSOs. Note however the search from within the log form only searches if the entry has been identified as a dup. Thus if you're not dup checking, it won't function.
These are the program's menus, not the rig's menus. Currently there are four menus as described below.
The Actions menu currently consists of the following items:
You have the capability of having multiple operators. JJRadio uses the default operator when first brought up. You can use this dialogue to change the current operator.
You may also use this dialogue to add another operator by clicking the "New" button.
You may update an operator's information by selecting that operator and clicking the "Update" button. Similarly you may delete an operator.
When done, click "Finished or hit escape.
This allows you to show and perhaps change the current rig. As with the Operators dialogue, you can also add another rig here.
This is used to specify information about the logfile, see the section on log characteristics.
This is a useful way to show what frequencies you may operate on. Currently, there is only information for U.S. amateur bands and license classes. This dialogue consists of 3 list boxes, a display area, and a couple of buttons. When it comes up, you are in the first of 3 list boxes, the band box. If your radio is on and tuned to a ham band, that band is selected. The second box is used to select the license class. Initially the license class you specified for the current operator is used. The third box selects the mode. This will be set to CW or phone, depending upon the mode setting of your radio. You may alter these selections if you choose.
When you press the Show button, or just hit enter, you are taken to the display area which shows the results. The first line will show the entire band, (e.g.) "20m 14000 14350". If I'm on 20 meter CW, the second line will show,
extra - 14000 14150 - CW RTTY/Data
If I now select "none" for the license, I am shown all the 20 meter band restrictions for the different license classes.
For the Flex radios, this item takes you directly to the The Flex pan display.
For other radios, this uses your radio to implement a pan adapter. It is intended for use with a braille display, see the section on the pan adapter. Panning is not currently supported for the K3.
This will import an ADIF file into the current log. It is important to note that the log is replaced by the entries in the ADIF file. Thus this would normally be used on an empty log.
This exports the current log to an ADIF file.
This item allows you to add, update, or delete any CW messages you have created. If you select this item you'll see a list of your CW messages. You can add a new message, update the selected one, delete the selected one, or exit with the escape key. Of course they only work if the rig supports sending CW.
Note: When using the Flex radios, the VOX, or CW breakin, must be on in order to send a CW message. If you just want to test a message, you'll need to set the transmit power to 0, which you can do with the Flex radios.
For the IC-9100, if using a straight key, it must be unplugged to send a CW message.
CW messages are on a per operator basis. Each operator has a unique set of CW messages.
A CW message consists of a label, a key assignment, and the text to send.
The text to send may contain substitution items consisting of an ampersand (&) followed by a single character. The character is case sensative. For example, &C (uppercase c) will add your call sign to the message. Thus if the text is "de&C", and your call is KE5AL, the assigned key will send "deKE5AL".
The current substitutions are:
Change key mapping brings up a dialogue allowing you to change the key mappings. When the dialogue comes up, you are in a list of items, each of which has a check box. With an item selected, you may press Tab to get to a field where you can press the new key sequence for the associated function. If you have now duplicated another definition, both items are checked.
Thus the check boxes let you know where the duplicate key definitions are so you can correct one or both. For example, if I change the key for Call from alt-C to alt-L, I am brought back to the list and now the current item is checked, along with the "alt-L Bring up Log Form" item. I should either change one of these, or hit escape to cancel my changes.
If you want to inactivate a key definition, (i.e.) assign it to no key, use the Delete key for the new key sequence.
Note that when assigning key sequences, you should avoid the Alt key sequences that conflict with menu access keys. These are currently Alt-A, Actions menu; Alt-F, Screen Fields menu; and Alt-H, Help menu.
As the name implies, this restores the original key mapping.
If the rig supports CW decoding, that is managed here. Currently only the TS-590SG CW decoding is supported by JJRadio. With this dialogue you can set the decoded text size. The default is not to constrain the text, but to display it in the Receive Text box, and let it scroll.
I found, however, that this doesn't always work well with a screen reader and braille display. It works best for me to constrain the size of the decode display to the size of a braille line. If you decide to constrain the text size, press the button marked "Constrain". You may then specify the constrain size. The default constrain value is the size given for the current user's braille display. Press the "Change" button to change the value.
I found that while operating I would get in a QSO and not touch the computer for a period of time. It was annoying to have my screen saver come up in the middle of a QSO, because my screen saver starts up work items using the Worldwide Grid. When JJRadio is started, if your screen saver is active, it is disabled. It is re-enabled on exit. You can use this item to enable it while the program is running.
This exits JJRadio. Alt-F4 also works. If you have an incomplete log entry, you are asked if you want to write it. Remember, log entries are only written when you use the key sequence for that, ctrl-W by default.
Most of the fields on the main screen are rig dependent fields. This menu allows you to easily navigate to those fields without having to hit the tab key several times to get where you want to go. For example, if in CW or CWR mode, and you want to change the keyer speed, hit Alt-F to go to the Screen Fields menu, then hit "k", and you'll go to the keyer speed field. Note that like other menus, if more than one field has the same access key, you're positioned in the menu at the first such field.
The fields shown are mode dependent, so, for example, if the mode is USB the keyer speed won't show up.
This menu simply allows you to access program operations, normally accessed with a key sequence, from a menu. It's chief advantage is that, if you forget a key sequence, you can use the function without having to look it up. For example, if you forget that Ctrl-F is used for direct frequency entry, you can use the Operations menu to find the "Frequency" item.
This menu has these items:
This brings up this help page.
This brings up the list of key assignments. This list may also be shown with the F1 key.
This dialogue allows you to start an execution trace. You should only do this if directed to for the purpose of providing debug information to fix a problem. It allows you to specify a file to receive the trace and to set the trace detail level.
This shows information about JJRadio.
JJRadio provides two types of scanning, linear and memory. Linear scanning is used to scan a linear region of memory, while the memory scanning allows you to scan through your radio's memories.
JJRadio provides a primative scanning feature that allows you to scan between a start and end frequency. By default, it is access with ctrl-S. You can specify the scan step size, in KHZ, and the scan speed. The speed is the number of tenths of a second to spend on each frequency. Thus to scan from 7.2 to 7.299 in steps of 1 KHZ, spending half a second on each frequency, you'd specify 7.2, 7.299, 1, and 5 (5 tenths of a second).
While scanning, if you hear something you want to investigate, pressing the "Pause scan" key will pause the scan, you may then investigate with the VFO, and then resume the scan where you left off, using the resume scan key. By default, the pause key is F2, and the resume key is Shift-F2. Stop the scan with ctrl-Z by default.
The status line shows the state of the scan, off, running, or paused.
You can also save your scan for later use. This is done from the dialogue where you entered the scan parameters. When saving a scan, you are asked to name the scan for future reference. There is a function to list and select the saved scans, ctrl-shift-U by default.
The memory scanning feature makes use of memory groups. There are two types of memory groups, those defined by the memories themselves, and memory groups you define yourself. For example, The TS-590 groups its memories in groups of 10, memories 0 through 9, memories 10 through 19, etc. The TS-2000 originally has all memories in group 0, but you can change this by setting the memory group to 0 through 9. The Flex radios allow you to specify a memory group name.
You may also define your own memory groups which can include memories you choose, regardless of which group they're in according to your radio. For example, you might have setup group 1 on your TS-2000 to be 2 meter repeaters, and group 2 to be 440 repeters. You could define a group called Repeaters that includes all those repeaters. Of course, when doing a scan, you could simply select both group1 and group2 also.
By default the key sequence to perform a memory scan is Ctrl-Shift-M. You are then given a list of the memory groups. When you select a memory group, the memories belonging to that group are displayed in the list to the right of the group list. However, in order to include a memory group in a scan, you must check the corresponding check box.
To start a scan, you then tab to the speed field and provide the scan speed in tenths of a second, (e.g.) 10 will spend 1 second on each memory. You then press the start scan button.
Following the start scan button is a button labeled "Manage Groups". This brings up a dialogue you can use to update or create a group you've defined. You can not change the memory groups defined by your radio here. Those must be changed using the radio's control panel or the memory dialogue.
If using a Flex radio, see The Flex pan adapter. The rest of this discussion pertains to other radios.
This is essentially a band scanner. It is intended to work with a braille display with routing keys. It will work best with a 40 cell display. Panning is not currently supported for the Elecraft or Icom radios.
The pan adapter dialogue is as follows:
Band Panner Start (KHZ): 14000 End (KHZ): 14350 Increment (KHZ): 1 Start Done
This shows a sample initial dialogue where the rig is tuned to 20 meters. You may at this point change any of the values shown. For example, you may well change the End point to 14080 to pan the first 80 khz of 20 meters. When you click the Start button, the rig starts panning.
It pans using the operating mode the rig is currently set to. It does, however, use the rig's fastest AGC setting, restoring it when finished.
After the panner has made a few minimal passes, currently two, the braille display shows the results of the pan in that blank area between the Start, End, and Increment settings and the Start button. The display shows each frequency that corresponds to a cell on the display, and uses the 6 dots in that cell to indicate the signal strength. Here is the panning dialogue showing a sample result:
Band Panner Start (KHZ): 14000 End (KHZ): 14080 Increment (KHZ): 1 aaaabbbaalpaaabaaabbb=qaabbbbbbbpqaaaaaa Start Done
The signal strength at the corresponding frequency is indicated by the number of dots displayed. The displayed values are, from low to high, "a", "b", "l", "p", "q", and "=". Note that this is a 40 cell display, so each cell corresponds to 2 KHZ. Thus the display shows the strongest signals around 14044 and 14068. Note that the "a" character indicates the noise floor. I've elected to show the noise floor with a single dot for clarity; so there aren't blank areas in the display.
You may stop panning in one of two ways. First, you can click a routing button on the braille display to go to the corresponding frequency for that cell. Note however that you may need to tune a bit to find the signal, since one cell may correspond to a frequency range. You may also click the Stop button, or press escape, to end panning and return to the frequency the radio was on when you brought up the dialogue.
Note that panning doesn't work well if you have a high noise level, or signals are not well differentiated, that is, they're mostly down in the noise. Also note that JJRadio can't distinguish a signal from, let's say, a carrier or a TV birdy.
The flex pan adapter is always displayed. You can jump to the display with the Band Pan Actions menu item or the key sequence, ctrl-P by default. The display shows the relative signal strengths for the corresponding frequencies. It is intended for use with a braille display. The signal strengths are shown using the braille characters 'a' through 'Z' in lower and upper case, where lowercase 'a' is the noise floor, and uppercase 'Z' is a strong signal. The routing keys will take you to the corresponding frequency.
Below the pan display are the following fields:
Here is some sample pan output:
aaaabbbaalpaaabaaabbb=qaabbbbbbbpqaaaaaa Pan Low: 14.000.000 Pan High: 14.080.000 Change Save Erase
The signal strength at the corresponding frequency is indicated by the number of dots displayed. The displayed values are, from low to high, "a", "b", "l", "p", "q", and "=". Note that this is a 40 cell display, so each cell corresponds to 2 KHZ. Thus the display shows the strongest signals around 14044 and 14068. Note that the "a" character indicates the noise floor. I've elected to show the noise floor with a single dot for clarity; so there aren't blank areas in the display.
When you first start JJRadio, the pan range is selected for the band you're using. For example, the initial low and high values for 20 meters will be 14.000 and 14.350.
Let's say you want to create two ranges on 20 meters, 14.000 to 14.080 and 14.150 to 14.350. To create the first range, leave Pan Low at 14.000, and set Pan High to 14.080. Then press Change. Note that at this point the pan display will pan over the new range. Press the Save button to save the range. For the second region, set Pan Low to 14.150 and Pan High to 14.350. Then press Change and Save. Now if your frequency is in one of these ranges, the pan display will show the corresponding region. Note that if you move out of the ranges, let's say to 14.110, panning will be from 14.000 to 14.350.
Your custom ranges are saved for the current operator. Thus different operators can create their own ranges.
It is possible to use the Flex radios running Version 2 of the SmartSDR software remotely, over the WAN, (i.e.) over the internet. You must have first setup a remote SmartSDR account, and the remote radio parameters using SmartSDR, see sections 6 and 7 in the version 2 SmartSDR Users Guide. You may wish to use some sighted assistance here, although you may be able to get along without it. You must have configured the radio with JJRadio on your local network, see the section on getting started. The "Allow remote" button for the associated rig must be checked.
When connecting to a radio, JJRadio first checks the local network for the radio, and if not found, checks for a radio on the network if the "Allow remote" button is checked. If, however, the button is unchecked, it won't check for a remote radio. Thus, if you start JJRadio, and your rig is on your LAN but is turned off, and you want the program to just look on your LAN, uncheck this button. Note that checking for a radio on the internet involves entering your remote login credentials, so you won't want to do that if the radio is on your LAN, but is turned off or just hasn't booted up yet.
When operating remotely, your PC provides the input and output, as well as controling the radio. For example, to send cw, you go to the Send Text window, and use the PC's keyboard. Your PC must also provide the audio when transmitting. To transmit audio, go into transmit mode using the Transmit button on the main window. Although it seems counter-intuitive, the VOX must be on.
This allows you to use DX clusters which have a telnet interface. By default, the key assigned is Ctrl-Alt-D, or use the "DX cluster" item from the Operations menu.
Before using this function for the first time, you may want to see if the current operator has defined a cluster address and login name. This is done by selecting "List Operators" from the Actions menu, and updating the currently checked user. The Cluster address defaults to dxc.nc7j.net. The cluster address may contain a port number, delimited with a colon, in which case you specify it as address:port. For example, dxc.nc7j.net is the same as dxc.nc7j.net:23; 23 is the default telnet port. The login name will default to the callsign of the operator when the operator is created or updated. You will almost always login using your callsign. For one list of telnet available clusters, see Telnet Access to DX Packet Clusters. There are other lists as well.
When you use this function you will be asked to enter the cluster address and the login name. This will be the cluster address and login name, callsign, for the current operator if set. When in this dialogue, you can tab past the OK and Cancel buttons, and check the box to not see this again, and then click the OK button. If you do this, when you subsequently bring up the cluster, you won't be prompted for the login name. Thus if you wish to use multiple clusters, you may not want to check this box. JJRadio allows you to have multiple cluster windows open, so checking the box will mean you'll always open a window on the same cluster.
If the login was successful, a separate window will come up showing text from when we connected to the present; basically the login banner stuff. Then the DX spots appear. If you haven't set a filter, you'll be inundated with spots, primarily from skimmers. The NC7J cluster, an AR-Cluster, has good documentation starting at the AR-Cluster Introduction page. The DXSpider cluster documentation is at the DXSpider Documentation Wiki.
If you press tab once you'll land in the "Cluster cmd" field. In this field you can enter a command to the cluster. For the NC7J cluster, and other AR-Clusters, you might immediately want to enter the command "set dx filter not skimmer", without the quotes of course. This will turn off the skimmer spots. I encourage you to read up on the clustr commands. They allow you to filter the cluster output, set your login information, such as your name, lat/long, grid square, etc, and other functions.
At the bottom of the screen are two buttons. The first is the "Beep on/off" button. The text for the button shows the action to be performed. Since the button is initially off, the button is labeled "Beep on". Turning beeps on causes a beep every time output is sent to the screen. The next push is for Beep on DX. This, my preferred setting, causes a beep only when a new spot is reported. Also, the setting you choose, on, off, or beep on dx, is remembered so you don't need to set it every time you use the cluster.
Next is a button initially labeled "Track last post Off"; it will be Off or On. If you press it, turning tracking on, the cursor is routed to the last displayed screen item, instead of staying in one spot. This is quite useful if you don't have a lot of spots coming in, and always want to read the most recent post. This setting is also remembered.
You may simply close the cluster window to log off the cluster. Of course you are logged off if you close JJRadio also.
The reason I developed this interface as opposed to simply using a telnet client, is that I can either maintain your current cursor position in the output while new information is being added at the bottom of the window, or always set the cursor to the last item added. If maintaining position, even if the window would normally scroll, your cursor position is preserved. This gives you a chance to read the output with speech or braille, before moving on. To navigate to the bottom of the output, (i.e.) to the most recent entry, use Ctrl-End. Ctrl-Home takes you to the top of the window. As usual, you move up and down a line at a time with the up and down arrows.
The format of a displayed spot is usually frequency, callsign, comments, timestamp, and reporting callsign.
14020.1 EA1AA good sig 2149Z KE5AL
This says that the station, EA1AA, is on 14020.1 khz, reported by KE5AL at 2149Z. KE5AL says he has a good signal.
With your cursor on that line, if you press enter, your radio, if being controled by JJRadio, will go to that frequency, 14020.1. Also, the call, EA1AA, will be in the windows clipboard, so it can be copied into the log.
It may be desirable to use an external wattmeter to read the power or SWR. This is especially true if using an amplifier. At present, JJRadio only supports the Elecraft W2 wattmeter. The W2 allows the meter to be read over a virtual com port. This document assumes the W2 is already setup.
The power or SWR is shown in the s-meter field when in transmit.
To start using the W2, select the W2 Wattmeter item from the Actions Menu. The appropriate com port must then be selected.
The next item is either "useifopen" or "dontuse". If "dontuse" is selected, the power is gotten from the rig.
The final item is "average", "pep", or "swr",depending upon the reading you want.
The power or SWR will show up instead of the s-meter reading when you transmit, whether it comes from the wattmeter or the rig, however the SWR only shows up in this field if it comes from the wattmeter.
Important! The Elecraft W2 software must not be running.
Flex Radio Systems sells an external control knob known as the FlexControl knob. At present, the knob will only control a Flex radio. The knob contains a tuning knob, and 3 push buttons, left, center and right. The tuning knob and each button may be pressed once, twice quickly, or held for over a second, for a total of three functions which may be assigned to each one. In addition, the tuning knob can be rotated like a VFO knob.
If using a Flex radio, there is a button on the screen labeled FlexKnob. When you first use the FlexControl knob, you will need to press, or click, this button to configure the device. You must select the com port for the device. This can be found using the Windows Device Manager. You may then configure additional keys or change the ones setup by default. The defaults are:
Let's say, for example, you wish to use a long press of the left button to disable/enable the knob. This is currently done with a double press on the left button.
With the exception of the logging commands, all JJRadio commands must be entered from the main screen. You may change the key assignments as discussed in Change Key Mapping in the Actions Menu section. The logging commands are discussed in somewhat more detail in the section on logging.
The logged callsign and name must now be sent using CW messages, see CW messages
Any CW message keys you've defined will show up after these keys.
If you need support for JJRadio, You can send an email to the support link on the JJRadio web page.
This section addresses significant enhancements and bug fixes.
JJRadio now supports different logging formats to accommodate contests and special events. Note however that the support is there, but the different contest forms are largely not there, (i.e.) they're TBD.
The annoying double prompting with screen readers has been fixed.
The bug where the radio's speech was not turned off during a scan or panning is fixed.
The export file now conforms to ADIF version 3.0.3.
When selecting a log file, you may now choose from the 4 most recently used log files.
For the TS-2000, if the subreceiver indicators are blank, the subreceiver is off, see subreceiver fields.
You may now view/set the FM width for the TS-590 and TS-2000.
The stepsize can be viewed/changed for the TS-2000.
Problems concerning the memory display being incorrect are fixed.
The equal sign (=) now sets the other VFO to the current VFO on the TS-2000.
The memory-to-VFO function now works with split frequencies.
You may not change memories with the arrow keys if in memory mode at startup, until all the memories are loaded. This restriction is necessary to avoid accessive activity at startup time.
The SWR, Comp, and ALC meters can be reported for the TS-2000, see The TS2000 Meter fields.
JJRadio now supports the Flex 6000 series radios.
For other than the Flex, panning is now only restarted if the current frequency is within the prior panning frequency range.
Sending CW using the keyboard is now supported for all supported radios.
You may now run JJRadio without setting up a rig. You still must set up at least one operator though.
Dup checking is now case independent. Previously, if you are dup checking and logged "ke5al" (lower case), for example, and then logged "KE5AL" (upper case), no dup was identified. This caused dup checking to fail for a log that was exported, then imported, since the export process converts the calls to upper case.
The frequency display now allows you to set the RIT and XIT from the keyboard.
If the cursor is over the frequency, pressing "k" rounds the frequency to the nearest KHZ.
A problem with deleted function key assignments, where the deletion didn't persist, has been fixed.
You may now change the audio and RF gains, for non-flex rigs, from the keyboard. For Flex rigs, these functions adjust the lineout and slice volume respectively. By default they are shift-pageup/down and alt-pageup/down.
When entering the Flex memories dialogue, the last selected memory, if any, is selected.
Using the RigInfo dialogue, you may now view the radio's model, version, serial number, and IP address. You may also change the call sign, name, and front panel display selection.
I've made the resume scan a separate function. There is now a separate pause scan, F2 by default, and resume scan, Shift-fF2 by default. Previously, it was easy to, after having paused a scan, forget that a scan was running, and resume the scan when you just meant to go to the main frequency display. The status line now shows the current state of the scan.
Fixed a bug if using the Flex and looking at the log with the Flex powered off.
The Flex pan adapter now won't show the whole spectrum of magnitudes if there is little variation in the signal strength. This happens when there is little or no activity in the frequency range being panned.
I changed the way the split VFOs are changed, see that section and the frequency section. Now, from the frequency you can manipulate the VFOs, go into and out of split mode, and view the receive or transmit frequency.
This version adds support for the Icom IC-9100.
It should be noted that this radio should either be controlled from the computer, or the front panel of the radio, but not both. For example, most changes made from the control panel of the radio are not reported to the software. Like the Kenwood rigs, you may turn the VFO knob and watch the frequency change. However, if you put the radio in memory mode, for example, this is not reported to the software, so JJRadio will still think you're in VFO mode. In fact, some changes made by software may revert to their knob settings if a control on the front panel is used. For example, if you set the keyer speed using JJRadio, and then turn the volume knob on the radio, the keyer speed will revert to where it was, the knob setting. Thus JJRadio now has a Reackquire command, ctrl-shift-S by default, to reackquire the rig's values. It is currently only supported for the IC-9100.
JJRadio treats the Icom's Duplex setting different from it's implementation in the IC-9100. In the 9100, you can have Duplex set to symplex, minus, or plus regardless of the mode. In other words, you could be in LSB mode, and have an offset, Duplex, value set. JJRadio refers to the duplex setting as the "Offset". It only uses the offset setting in the FM mode. To work split frequencies in other modes, use split VFOs.
For the Flex radios, the accuracy of the pan adapter has been improved. I also fixed a bug where the program would fail if you reselect a Flex from the "List Rigs" dialogue.
I fixed a bug with the TS-2000 noise reduction to show the NR1 level as Auto instead of 0.
A problem with resending terminated CW messages using Kenwood rigs was fixed.
The About dialogue crash has been fixed.
A button has been added to put the rig into transmit mode.
JJRadio now supports the Kenwood TS-590SG. If you're already using JJRadio with an SG model rig specified as a TS590, you'll need to change the model of your radio, probably the TS590, to a model of TS590SG. The easiest way to do that is as follows:
Note that if you don't change your radio's model from the TS590, you'll get a warning message. You are strongly advised to make this change.
Changes for the TS-590SG include:
Regardless of the rig model, you may specify a digit when the cursor is in the frequency display. The corresponding number is added to the value your cursor is on. Also, if you're in split mode, then the entered digit is added or subtracted to/from the transmit frequency, (i.e.) the other VFO. See the the discussion in The Meter and Frequency Display section.
The warning message that you've selected the wrong radio is only output if you have a TS-590, but selected an SG, or vice versa. It will not be output if you selected a TS-590 or SG, but have another radio. Also, this message may be ignored in future if you wish.
Changes have been made regarding directly changing the frequency, RIT and XIT.
Memory mode is now supported for the Flex radios, see Flex radio memories.
JJRadio now supports memory scanning.
The log search result display now shows more information in an easier-to-use format.
CW macros are now allowed from the logging screen.
Some TS-590SG menus have been updated.
An Operations menu has been added, see The Operations Menu
For the Kenwood and Flex radios, CW zerobeat and RIT clear functions have been added, see those functions.
JJRadio can now open the reverse beacon web site at www.reversebeacon.net, see that function.
The program can now use a DX spotting cluster that has a telnet interface, see DX cluster.
The Track last post button has been added to the DX cluster window.
The ability to jump to the selected station from the DX cluster has been added.
Fixed bug with a crash if a bad country prefix is entered into the log.
Callbook lookup has been added to the log, see the Log Characteristics section.
QSL_rcvd, QSL_sent and Grid have been added to the log. An "LOTW merge" item has been added to the actions menu to merge an adif file from LOTW to set the QSL_rcvd field of the log.
When starting the DX cluster, you are immediately able to use other JJRadio functions without having to wait for the cluster to connect.
Display asterisks in hamqth password field.
Added a quick toggle field, default key is ctrl-f9. See Commands.
When in the frequency field, space no longer toggles split mode. This is now done with 'S'.
When focused on the frequency, RIT, or XIT, 'v' toggles the Vox, and 'x' toggles transmit. Also, the letters A and B change the VFO when focused on the RIT or XIT, as they do with the frequency field.
A separate "Station Lookup" command has been added. This uses the callbook lookup from hamqth.com as does the log, see Station Lookup.
JJRadio can use the Elecraft W2 wattmeter to get the power or SWR, see External Wattmeter Support. If using an amplifier, the rig will report its output power, not that from the amp, so you'll want to get the power from an external source. JJRadio at present only supports the W2 wattmeter.
The smeter for signals over S9 now appear as +n, where n is the DB over S9.
Fixed bug on Kenwood rigs with losing cw when typing in the "Sent text" field.
Fixed bug where speaker position was reversed for the Flex radios.
For the Flex radios, you no longer need to use the JAWS cursor to go to the frequency from the pan adapter. This can now be done with the Enter key. Also, the cursor is at the relative position in the pan adapter of the frequency you last went to.
A Flex radio may now be used over the internet, see Using the Flex Radio Remotely.
The Flex 6000 radios now have support for the FlexControl knob.
Fixed bug with Flex radios where program crashes if using Flex remotely.
Allow remote Flex information to be entered manually.