11.9  Band switching

piWbCAT development was done on two radios:

  • Yaesu FTdx101D  - a very new design
    A quick scan of other recent Yaesu models reveals use of the same control codes..
  • Icom IC7000   - a 15 year old design.
    A scan of modern Icom radios reveals the same command coding system but, the
    actual codes are different.  ... Someone out there has a little work to do.
    The electronics of the CI-V interface on the radios appears not to have changed.


It is hoped that the system described below is applicable to all other RS232 CAT

radios. If there are issues, then the existence of a support group should help sort them.

The FTdx101D has band select, band up and band down CAT commands.
These are write-only. I could find no command to read the current band from the radio.

This is not a problem.

piWebCAT reads the frequency (main or sub) from the radio and then checks it against
stored band limits. The repeat interval for such frequency read is set in the timing table.
I use 200ms for main and 600ms for sub.

piWebCAT changes band if the main frequency enters a new band.

piWebCAT does not change band if frequency leaves the current band.... The red

frequency marker simply changes to olive and stops at the band edge until the frequency

returns into the band.

When piWebCAT does decide to change band:

  • The tuning scale is redrawn for the new band.
  • The band button selection highlight changes to the new band.
  • Button and slider settings are reloaded for the new band.
    ( on the FTdx101D, the roofer, mode, IPO/Amp etc change as expected
       but also most of the other buttons and sliders)

There can be a four second delay while this happens  .... a good reason not to
change band if we accidentally just drop outside band limits!!

On cross-band split frequency working, the reload does not occur on moving to the

transmit band.

  See also Dual VFO switching.  piWEbCAT stores the latest control settings for
  VFO-specific controls in order to avoid load from radios on VFO swapping.

In summary:

The write-only band select command changes band on the radio.

The radio will switch to use its last used frequency on the new band.

piWebCAT will detect the frequency change in about 250ms and change band.

If band is changed on the radio, piWebCAT will detect the frequency change

in about 250ms and change band.

Icom IC7000 

I have a solution which works well and which is catered for by piWebCAT's standard

CIV configuration options.

The only workable command  that I could assign to a band button was a
band-stacking register command. (Have I missed something here??!!)
The band stacking register holds three frequencies for each band:

- the most recently assigned, second most recent and third most recent.

For band button click, we configure in the database for piWebCAT to issue a write

command to select the frequency of the 'most recent' register for the required band.

The command is  command = 0x1A,   subcommand = 0x01  data = 4 bcd digits (2 bytes)

eg: 0301 is used for 40m   ...the 03   is 40m    the  01 is the latest

So we configure cmdtype = C_S_DATA  and  datadigits = 4.

The band button sends the command to change frequency to the new band.

piWebCAT pick up the frequency change within 250ms and band change begins.

To the user, the response is no different to that on the Yaesu radio.