Download the latest CAT command version
VarAC offers direct CAT command support for various RIGs. You can download the most updated CAT commands file here.
If you found a mistake in this file or want to contribute a set of CAT commands that is not listed here, please submit your request as a comment on this post.
Download link - Latest file version:
After downloading, unzip the file and place it in your VarAC installation directory
Customizing VarAC Rig control CAT file
VarAC Cat file was built from ground up as an open platform so YOU can tweak it or even create your own customized configuration.
The VarAC_Cat_command.ini file contains a set of definitions for each RIG.
Here is an example of an IC-7300 VarAC CAT configuration:
[Icom IC-7300]
CmdType=HEX
PTTOn=FEFE94E01C0001FD
PTTOff=FEFE94E01C0000FD
ModeUSB=FEFE94E026000100FD
ModeUSB_D=FEFE94E02600010102FD
ModeFM=FEFE94E0260005FD
ModeFM_D=FEFE94E02600050102FD
SetFreq_Data_method=BCD
SetFreqVfoA_Cmd=FEFE94E02500{}FD
SetFreqVfoA_param_length=10
SetFreqVfoA_hz_res=1
ReadFreqVfoA_Cmd=FEFE94E02500FD
ReadFreqVfoA_Result_Data_method=BCD
ReadFreqVfoA_Result_hz_res=1
ReadFreqVfoA_Result_Length=24
ReadFreqVfoA_Result_Freq_Start_Pos=13
ReadFreqVfoA_Result_Freq_Length=10
AntennaTuner=FEFE94E01C0102FD
VarACStartCmd=
VarACExitCmd=
Now lets dive in to each of the parameters:
PTT and MODE commands:
CmdType=
Possible values: "HEX" or "TEXT"
Some rigs requires a text based commands to be sent (like all Kenwoods and some Yaesus) while other requires Hex-based commands like most Icoms. This parameter tells VarAC how to encode the command before sending it to the Rig.
PTTOn=
Triggers TX (engage PTT)
PTTOff=
Triggers RX (dis-engage PTT).
ModeUSB=
Sets Rig to USB mode.
ModeUSB_D=
Sets Rig to USB-D mode.
This mode/command is only available with modern rigs.
VarAC settings screen provides you with the option to choose if you want to use the USB or USB-D mode.
ModeFM=
Sets Rig to FM mode.
VarAC will put your RIG in FM mode only if you use VaraFM.
AntennaTuner= Fires the antenna tuner after frequency changes.
Under the VarAC settings screen you can set it to tune on EVERY frequency change or only during BAND SKIPS.
Only a few Rigs provide with a CAT command that activate the "Tune" operation of the rig.
Set frequency commands:
The default CAT commands provided set the VFO-A.
SetFreq_Data_method=
Possible values: "HEX" or "TEXT"
Some rigs has different formats for PTT/MODE commands and for "set-frequency" commands. But in most cases it will be the same as the "CmdType=" parameter.
SetFreqVfoA_Cmd=
sets the Rig VFO-A to a desired frequency.
This command use a special characters as place holder "{}" (2 curly brackets) that VarAC uses to plug the actual frequency.
For example:
Icom IC-7300:
SetFreqVfoA_Cmd=FEFE94E02500{}FD
Kenwood TS-850:
SetFreqVfoA_Cmd=FA{};
SetFreqVfoA_param_length=
Each rig has a different frequency range capability. Therefore it has a different frequency length format where it pads with Zeros the beginning of the frequency.
When VarAC plugs in the desired frequency into the "SetFreqVfoA_Cmd=" command, it will use this value to know how many Zeros in needs to pad to bring the frequency into a "fixed size format" (ex. with length of 14105000 --> 0014105000)
SetFreqVfoA_hz_res=
Some Rigs get the frequency number that is plugged to the "{}" placeholder but process it differently.
Most Rigs will take this frequency number as is. So in this case it means that the provided frequency number is in single Hertzs (ex - 14105000) so this parameter value in most cases is set to "1".
But some Rigs require the frequency number to be provided differently. For example:
Yaesu FT-100: SetFreqVfoA_hz_res=10 - which means that the number provided is in 10Hz skips so VarAC will need to divide the actual frequency by a factor of 10 before passing it to the RIG. 14105000 --> 1410500
Reading frequency commands:
Under the VarAC settings you can enable VarAC to read your current VFO frequency every X seconds.
If you do not use this feature you don't have to set these parameters.
Please note that some old Rigs does not provide with commands to read the current VFO frequency
The default CAT commands provided reads the VFO-A.
ReadFreqVfoA_Cmd=
Read the Rigs current VFO-A frequency.
ReadFreqVfoA_Result_Data_method=
Possible values: TEXT, BCD, BCFBE, BIN
Instruct VarAC how to interpret the output of the "ReadFreqVfoA_Cmd=" command. Some rigs returns the frequency as clear text while other return in Binary or Hexadecimal format.
By rig type:
Kenwood rigs are always "TEXT"
Icoms are always "BCD"
Xiegus are always "BCD"
Yaesus are either "BCD" or "BCDE" depends on the model
Some TenTecs and some Yaesus are "BIN"
For HEX values:
BCD is Little endian
BCDBE is big endian
ReadFreqVfoA_Result_hz_res=
Similar to the "SetFreqVfoA_hz_res=" but on the reading frequency side.
It instructs VarAC on how to process the returning frequency number.
VarAC will multiply the number that returns with the number in this parameter to get to the frequency in Hz.
ReadFreqVfoA_Result_Length=
The expected length of the entire output from the read frequency command (ReadFreqVfoA_Cmd=).
This output in most cases includes many values that VarAC do not need so the next 2 parameters instruct VarAC where to find the actual frequency number.
ReadFreqVfoA_Result_Freq_Start_Pos=
The position in the output of the read frequency command (ReadFreqVfoA_Cmd=) in which the frequency number part begins.
ReadFreqVfoA_Result_Freq_Length=
Similar to the "SetFreqVfoA_param_length=" but on the frequency reading side.
When parsing the output of the read frequency command (ReadFreqVfoA_Cmd=), what is the expected length of the frequency number within the output.
Start/Exit VarAC commands
VarACStartCmd=
This command will be executed upon VarAC launch.
You can use it to set specific configuration in your Rig prior to using VarAC such as settings your preferred Filters, Notch, Antenna, NB level etc.
VarACExitCmd= This command is executed upon VarAC exit.
Use it to place you Rig in a preferred stated when existing VarAC.
Usually you would use it to revert any Rig states you enabled using the "VarACStartCmd=" command.
CAT command concatenaion
You can concatenate commands using the comma "," sign.
This would work only on the following commands: PTTOn, PTTOff, ModeUSB, ModeUSB_D, ModeFM
There are no limits to the number of commands you can concatenate.
Example #1:
When switching to USB_D (happens in every frequency change), and you also want to place DATA port of your IC-7300 to USB (not ACC):
ModeUSB_D=FEFE94E02600010102FD,FEFE94E01A05006703FD
Example2:
If your rig support 2 antennas, you can Use one for TX and one for RX by concatenating an antenna switch CAT command to the PTT On/Off commands. This is an example for IC-7400:
PTTOn=FEFE66E0120000FD,FEFE66E01C0001FD
PTTOff=FEFE66E0120100FD,FEFE66E01C0000FD
If your rig is not listed on the VarAC default CAT file and you configured it on your own,
or you find errors in the default CAT file and you managed to fix it by yourself,
PLEASE be kind and share it with us by commenting down below so we can distribute this to all VarAC users.
Rig based configuration examples (by other VarAC users)
Some folks have shared screenshots from their VarAC setting screen that so you see what worked for them:
Icom
Yaesu
Kenwood
SDR
Elecraft
Xiegu
Other
For my IC-735, for frequency readback to work properly without parsing errors I had to change
ReadFreqVfoA_Result_Freq_Start_Pos=7
to
ReadFreqVfoA_Result_Freq_Start_Pos=11
Now it works correctly. Figure 15 on page 16-9 of the IC-735 Service Manual ID5428 pdf shows the "Displayed Frequency Field" starting in nibble 11, so this makes sense. In the VarAC_cat_commands.ini file Change Tracking section I see that the start position was changed from 11 to 7 at V6.1, and I noticed a previous discussion in the forum about it. Position value 11 is working for me, and matches the ICOM documentation, that's all I know. I bought this IC-735 new in 1991 and the firmware has never been updated.
Thanks much for your fine software,
73,
Craig N7RWB