User-defined Controls

Commander Online Help Contents

 

Increasingly, modern radios provide for computer control beyond VFO, mode, and filter selection. To provide access to these capabilities, Commander lets you specify 

To enable the use of Command Sequences and/or Command-generating Sliders, check the Enabled box in the User-defined Controls panel on the General tab of Commander's Configuration window; a panel containing 8 buttons and 4 horizontal slider controls will appear at the bottom of Commander's main window.

Command Sequences

A Command Sequence specifies 32 commands, where each command can accomplish one of several things:

Command Sequences are organized as two banks of eight sequences. Eight buttons are used to activate the sequences in the current bank; you can also activate sequences in the current bank by striking the F5 through F12 function keys. The ALT checkbox located between the sequence buttons determines which bank is current. To switch banks, check or uncheck the ALT checkbox. Depressing the ALT key while clicking a sequence button or striking one of F5 through F12 activates a sequence in the second bank. You can save a Command Sequence to a file, and load a Command Sequence from a file.

Commander's Command Sequences can be invoked from WinWarbler (version 2.2.0 and later) macros, permitting transceiver control to be automated along with PSK31, PSK63, RTTY, CW, and Phone functions.

To associated a Command Sequence with one of these buttons, depress the CTRL key while clicking on the button or while striking it's associated function key (F5 through F12, as designated above each button); you can also simply right-click the button. To edit Command Sequence in the second bank, check the ALT box or depress both the ALT and CTRL keys while clicking on a button or while striking its associated function key. Commander will display a window that enables you to name and document a sequence of up to 32 radio commands to be sent to your transceiver when the associated Command Sequence button is clicked (or its associated function key is struck)"

Name specifies the name of the sequence; this name serves as the caption on the associated User-defined Command Sequence button, so choose a name of appropriately-short length
  • if you plan to use conditional branching commands (see Command table below), the name cannot contain a comma

Note: if you wish to include the ampersand character in the name, use a pair of back-to-back ampersands, e.g. R&&B.

Function describes the function of the Command Sequence; this information will appear in a popup control explanation when the mouse cursor lingers above the associated Command Sequence button if the display of control explanations is enabled.
Note (1-32) optional information used to document the associated command; this information is not sent to your radio
Command (1-32) a sequence of commands to be executed, beginning with Command 1

 

Valid commands are enumerated in the following table:

Command Function
an even number of hexadecimal characters, e.g.

FEFE26E00700FD

radio instruction -- characters are sent to your radio, two per byte (useful for Icom, TenTec, and Yaesu radios)
  • execution proceeds with the following command.
a sequence of ascii characters preceded by a single apostrophe, e.g.

'AN1;

radio instruction -- each character following the apostrophe will be sent to your radio (useful for Kenwood radios)
  • any <n> within the command will be replaced by a single character whose ascii value is n; for example, <13> will insert the "carriage return" character
  • execution proceeds with the following command.
<Goto N> unconditional branch
  • execution proceeds with command N.
  • be careful to avoid an infinite loop
<End> termination
  • execution of the Command Sequence terminates.
<IfName name, N> conditional branch based on the Command Sequence's current button caption
  • if the Command Sequence's button caption is name, then execution proceeds with command N
  • if the Command Sequence's button caption is not name, then execution proceeds with the following command
  • the comparison between button caption and name is case-independent.
  • name can contain spaces, but not a comma
  • be careful to avoid an infinite loop
<Name text> sets the Command Sequence's button caption to text
<Tooltip text> sets the Command Sequence's button popup explanation to text
<Wait> pauses for the duration indicated in the Command Interval textbox after executing the previous command in the sequence before executing the next command in the sequence.

 

The conditional branch and sequence button naming commands make it possible to create sequences that toggle a sequence button's function, as shown in this simple example for the Icom 756:

 

Command-generating Sliders

One can set the AF gain of a Kenwood TS-2000 by sending it the ASCII command AG0NNN; where NNN is a 3-digit decimal number between 0 and 255 that specifies the desired gain. One can set the AF gain of an Icom 756 Pro III by sending it the hexadecimal command FEFE6EE01402XXXXFD when XXXX is a 4-digit decimal number between 0 and 255. A Command-generating Slider lets you "fill in" the NNN or XXXX with an appropriate value determined by the handle position of a horizontal slider control in Commander's User-defined Commands panel. To control a TS-2000's AF gain with a slider control, one must at minimum configure the slider with

This information is captured by the slider's Configuration window, which can be made to appear by double-clicking the label beneath the slider control:

Lower bound the slider's value when its handle is positioned to the extreme left 
Upper bound the slider's value when its handle is positioned to the extreme right 
Small step the amount by which the slider's value is decreased or increased when you click the arrow at its extreme left or extreme right, respectively
Big step the amount by which the slider's value is decreased or increased when you click the in the space to the left or the right of its handle, respectively
Label text that will appear immediately below the slider
Function text that will appear in an explanatory popup window if the mouse cursor hovers above the label immediately below the slider
Command a template hexadecimal or ASCII radio instruction that specifies where and how the slider's value is inserted to create an instruction that is set to the transceiver
  • when Commander starts

  • when a new transceiver is selected (if Commander is configured to control multiple transceivers)

  • whenever the slider's value is changed by dragging it's handle left or right, clicking its left-arrow or right-arrow, or clicking the space to the left or right of its handle.  

transceiver checkboxes if Commander is configured to control more than one transceiver, a checkbox appears for each transceiver; a slider's instruction is only sent when the transceiver(s) whose transceiver checkboxes are checked are active 

in the example to the left, the AG command would only be assembled and sent when the TS-2000 is active

 

As in Command Sequences, an ASCII command is distinguished from a hexadecimal command by a leading single apostrophe.

The insertion of a slider's value into a template instruction is specified via a substitution command of the form <SFN>, where

Thus in the example show in the screenshot of Commander User Slider 4's  Configuration window above, the ASCII command AG0000; will be generated when slider 4's handle is moved to the extreme left, the ASCII command AG0255; will be generated when slider 4's handle is moved to the extreme right, and the ASCII command AG0128; will be generated when slider 4's handle is centered.

Note that while the CI-V commands used to control Icom transceivers are expressed in hexadecimal, variable settings must often be expressed in decimal. For example, the template used to control an Icom 756 Pro III's AF gain with slider #2 is FEFE6EE01401<2D4>FD (with a lower bound of 0 and an upper bound of 255) . In contrast, using slider #5 to select a Yaesu FT-1000MP's mode would be accomplished with 000000<5H>0C (with a lower bound of 0 and an upper bound of 11).

Only the signed decimal and hexadecimal formats should be used with sliders that can take on negative values. For example, the FlexRadio template 'ZZWB<1S4> will generate commands like ZZWB+028 or ZZWB-014 .

Commander's 8 sliders are organized into two banks of 4. The same ALT checkbox that switches between banks of Command Sequences also switches between banks of sliders.