Dan Toma - YO3GGX - yo3ggx@gmail.com
This is a very simple to use multi-platform Java application which can be used to convert CAT commands. It can be used to allow controlling newer transceivers using old application (no more updated). The application is user configurable for different transceivers, no matter the CAT protocol used.
As an example you can work in DigiModes using the latest free version of HamRadio Deluxe Suite (5.24.0.38) with the new Yaesu FT-991 (which is not supported in that version of the application) using the Yaesu FT-950 model in HRD. Without this application, you will not be able to set or read the frequency from the radio as the number of digits used to represent the frequency is higher for FT-991 (as it covers VHF and UHF bands too) making this application almost useless for the new transceiver.
NOTE: As an alternative, you can buy the latest HRD version which includes 1 year of support from:
http://www.hrdsoftwarellc.com/
which natively supports the Yaesu FT-991 transceiver. If you are like me and you like the old free version, then go further with the reading.
Current version of the application has the following features:
Use two virtual COM ports to be the man-in-the-middle between the transceiver and CAT application.
Listen for specific patterns and replace/modify the data as defined in the configuration file
Work in both directions, with separate pattern rules (CAT application -> radio and radio -> CAT application
Can be run on Windows, Linux or Mac (with Java Runtime installed)
The application is fully portable, nothing is modified in the Registry and contains only the executable (JAR) and a simple text configuration file
Configurable Baudrate (from 4800 to 38400)
Settings are saved in a configuration file, so no need to enter values again at next start
Auto start at application startup (unattended)
Users can define new conversion rules based on patterns by just editing a text configuration file.
Current version of the application has the following limitations:
Not all features can be converted. For example using FT-991 transceiver in FT-950 mode of HRD does not allow to set frequencies >= 100MHz
WARNING!!!
Use this application on your own risk. If you write wrong conversion rules in the configuration file, you can send commands that can brick some transceivers.
In order to use the application, you need two virtual COM ports. For this purpose, I recommend you to use the well-known open source solution named com0com.
To be able to install com0com on Windows 7 or higher, use the latest available version of the signed package available here:
http://pete.akeo.ie/2011/07/com0com-signed-drivers.html
or this direct link:
http://files.akeo.ie/blog/com0com.7z
This is a package available only without GUI, so to install it do the following (as described in the article from the link above):
Download and extract the files (using 7zip if needed)
Open an elevated command prompt in the i386\ (32 bit) or x64\ (64 bit) directory
Run the command:
setupc
Enter the install command (when you get the ‘command>’ prompt:
install - -
Accept the prompts.
Once the driver is installed, two connected COM ports will be created: CNCA0 and CNCB0. As HamRadio Deluxe (for example) does not support such names for COM ports, rename CNCA0 to COM22 (or any other not used COM port in your system). For this, do the following:
Open an elevated command prompt in the i386\ (32 bit) or x64\ (64 bit) directory
Run the command:
setupc
Enter the following command (when you get the ‘command>’ prompt:
change CNCA0 PortName=COM22
You have now two new COM ports (COM22 and CNCB0) virtually connected. You can see the two devices in the Device Manager under “com0com – serial port emulators” as in the picture below.
You can always download the latest version of the application from the link available on my web page:
The package is a zip archive containing two files: catconv.jar and catconv.cfg.
Unzip the two file in a new folder of your choice.
To start the application in Windows, if you have previously installed Java Runtime (from Oracle), just click on the file (catconv.jar). You will get the following window:
Note: This application was tested with Java SE Runtime Environment 8u92 downloaded from here:
http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html
Select the virtual COM port previously created (named CNCB0) as the “Bridge COM Port”. This will be used to connect to HamRadio Deluxe.
Select the COM port used by your transceiver CAT interface as the “Radio CAT Port”. This will be used for the communication with the radio.
In my case this is COM10. In fact is the port named “Silicon Labs Dual CP210x USB to UART Bridge: Enhanced COM Port (COM10)” in Device Manager.
Select the Baudrate. Use the value configured in the radio CAT setup menu. I recommend you to use the higher available speed.
Yaesu FT-991 require to set RTS in order to control it over CAT using the USB connection. For this purpose, in the File menu verify that “RTS Power” to be checked.
All settings are saved in the configuration file and automatically used at next application start.
You are now ready to use it. Do not check “Autostart” before you are sure that everything work as expected. Click on “START” button. The window background will go green and the converter will become active.
Use the following document to configure the settings in FT-991.
http://www.hamoperator.com/Fusion/FusionFiles/K9EQ-FUSION-PDF-0020_HRD-FT-991.pdf
Discard the section related to the HRD version 6 configuration.
You can download the latest free version of HamRadio Deluxe (5.24.0.38) from this web page:
http://www.iw5edi.com/software/ham-radio-deluxe-5-download-links
or if the page is not available using this direct link:
http://www.mannini.it/software/Ham-Radio-Deluxe-Download/setuphrd52438.exe
Start HamRadio Deluxe. You will be prompted to define a new transceiver connection. Define the preset as in the following picture. Use the virtual COM port defined previously and FT-950 as the radio model. You don’t need to check “RTS” as this line will be controlled by the java application.
Click on “Connect” button to connect to the radio through the CATconv application.
You will be able to use most of the functions in HRD 5.x with your new transceiver.
When you download the application from my web site a special configuration file is included (catconv.cfg).
This contains all the settings required for the FT-991 to FT-950 conversion and looks like the following:
#Wed Jun 29 16:18:04 EEST 2016
sRadioCOM=COM10
sBaudrate=38400
bAutostart=false
sBridgeCOM=CNCB0
bRTSpower=true
bDTRpower=false
sRadio1=Yaesu FT-991
sRadio2=Yaesu FT-950
n12=3
101=<SIF>,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,<S;>,<R>,p1,p2,p3,p4,p5,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28
102=<SFA>,?,?,?,?,?,?,?,?,?,<S;>,<R>,p1,p2,p4,p5,p6,p7,p8,p9,p10,p11,p12
103=<SFB>,?,?,?,?,?,?,?,?,?,<S;>,<R>,p1,p2,p4,p5,p6,p7,p8,p9,p10,p11,p12
n21=2
201=<SFA>,?,?,?,?,?,?,?,?,<S;>,<R>,p1,p2,30,p3,p4,p5,p6,p7,p8,p9,p10,p11
202=<SFB>,?,?,?,?,?,?,?,?,<S;>,<R>,p1,p2,30,p3,p4,p5,p6,p7,p8,p9,p10,p11
Some of the parameters are self-explanatory, corresponding with the ones from the GUI.
I will describe here only the ones related to the conversion rules:
‘sRadio1’ – The friendly name of the transceiver to be controlled through the converter
‘sRadio2’ – The friendly name of the transceiver mode used in HRD
‘n12’ – number of conversion rules for the data passing from Radio1 to Radio2
‘n21’ – number of conversion rules for the data passing from Radio2 to Radio1
‘1xx’ – conversion rule for the data passing from Radio1 to Radio2. You can have up to 99 rules.
‘2xx’ – conversion rule for the data passing from Radio2 to Radio1. You can have up to 99 rules.
Rules syntax is based on specific tags and has the following format:
Each rules contains two sections, separated by the ‘<R>’ tag.
First section contains the patterns for the input data which will trigger the conversion.
Second section contains information about the conversion rule to be applied when that pattern is found in the input data.
Each section contains n comma separated elements, where n is the number of bytes for the input command (first section) or the converted command (second section).
<S…> tag contains a number of chars (>=1) following the ‘S’ letter.
Several String type pattern elements can be represented as a single element. For example <SF>,<SA> can be represented as <SFA>.
In the second section there is one element for each byte of the data which will replace the matching input data
xy – (ex. ‘30’ in the config provided) is a hex number between 00-FF
px – where x can be any positive decimal number representing the byte position of the original input data which will be used on the current position of the replacing data.
More tags will be added in the future if this will help extend the support for other transceivers, based on users feedback.
Version 0.1 (Jun 29, 2016). First public release of the application
catconv_v0.1.pdf Bucharest, Jun 29 2016 – © Dan Toma – YO3GGX – yo3ggx@gmail.com