2.10 Learning guide -  Icom transceiver issues

piWebCat was developed for Icom transceivers on a IC7000, which is 17 years old.

I have not tested piWebCAT on a modern Icom transceiver.
I have therefore not used a USB connection with Icom.

Examination of modern Icom CAT manuals shows that the CAT system is essentially unchanged.
The number of functions has greatly increased and there is extensive renumbering of subcommands.
This learning guide uses Hamlib's generic command set which translates into the correct CAT commands
and thereby avoids the detail and complexity of the Icom CI-V system.

Furthermore, the CI-V interface circuitry appears essentially unchanged.

Hamlib rigctl --vfo mode.


To read noise reduction level in non --vfo mode, the command is  \get_level NR

To read noise reduction level in  --vfo mode, the command is \get_level VFOA NR   (or ..VFOB)

So we use VFO mode for radios whose CAT commands can access or need to access parameters of

a specific 'VFO' or receiver.
eg The FTdx101D has two completely separate receivers and CAT commands can address them
individually, irrespective of which receiver is currently in use.

In --vfo mode, all commands must have a VFOA or VFOB etc parameter. This is so, even if it is just a
 dummy parameter because the command doesn't really need it (eg: RF power setting)

I quickly realised that the Icom IC7000 command set only addresses the currently active VFO.

I was later fairly astonished to find that modern Icom radios do not appear to have CAT access
to the background VFO.

With the Yaesu rig, I display both VFO frequencies in piWebCAT. This is done by periodically

reading the frequencies (and modes) from the rig. The read intervals are user defined in the

timings table and can be made less frequent for the background VFO.

Hamlib commands \get_freq VFOA   and    \get_freq VFOB read the frequencies.

(Hamlib translates them into simple Yaesu commands: FA; and FB;)

I can't easly do this with Icom because I can only read the active VFO frequency. I cannot read the
background  VFO frequency. The same applies to VFO associated parameters such as NR, NB etc.

I discussed this with Mike, W9MDB who is doing much of the Hamlib development. He confirms my
observations and says that this situation applies to several other rigs as well as Icom.

I quote him:

   "...There are a lot of rigs that can't read the "other" vfo without swapping. 

                                             That's why you don't see any programs polling both vfos".
 .... Please correct me if I am missing something here!!

piWebCAT does support dual VFOs if the rig's CAT system provides the necessary access.

Likewise -  Hamlib's --vfo mode is available for those rigs that can use it.

With regard to other receiver parameters (NR, NB, width etc): I do not know if modern Icom radios
hold a full separate parameter set for each receiver ... but in their CI-V manuals, I can only see a
CAT access route to the the active receiver. If it isn't there, then Hamlib cannot implement it.

With the IC7000, if use --vfo mode and send a command to read frequency and other parameters
from the background VFO, then Hamlib momentarily switches the background VFO to achieve this.
This produces intolerable oscillatory band changing between VFOs.
There is no point having the background VFO displayed in CAT software if it not repetitively updated.

So with Icom I suggest NOT using VFO mode.

With regard to the list of 250 radios supported by Hamlib, I cannot tell you which give CAT
access to the background VFO. You need to experiment with Hamlib rigctl at the RPi
command line.

This learning guide and --vfo mode

The Learning guide uses three example transceiver configurations using Hamlib.
These have a progressive build up of features and are in the supplied database as:
       Transceiver-H-A,  Transceiver-H-B,  Transceiver-H-C.    They use --vfo mode.

Transceiver-H-C is fairly well featured, but I attempt to restrict it to commonly used controls so
that it can be switched fairly easily to any transceiver by simply changing the Hamlib reference number
(and making any changes needed to the connection details)  These configurations were developed

on the FTdx101D but then worked fine on switching to the 20 yr old FT920.


I have also include a corresponding Hamlib progression that does NOT use --vfo mode.

    Transceiver-H-A-NV, Transceiver-H-B-NV  and  Transceiver-H-C-NV.

These are currently working with my IC7000 using a CI-V connection (it doesn't have USB).