8.17  Hamlib  --  unsupported commands   IC7000 duplex /simplex switching

Using \set_level ? and \set_func ? at the rigctl command line reveals that rigctl does not support
 IC7000 duplex / simplex  switching commands.

I therefore configured the buttons below using  rigctld   \send\cmd_rx which appends actual rig CAT commands.

The rig doesn't have the means to assign repeater operation to specific channels and so Duplex -  or + has to be selected. piWebCAT's buttons here are much faster and easier to access than the corresponding control sequence on the rig.

From the rigctl documentation, binary data (eg: for Icom CI-V) is entered as: \send_cmd_rx \0xAA\0xBB 

From the IC7000 manual CAT section:

With command = 0x0E:

  • Subcommand 0x10 selects simplex operation.
  • Subcommand 0x11 selects  -DUP  operation.
  • Subcommand 0x12 selects  +DUP operations.

These are Icom CI-V  set commands with no other associated data.

The full CI-V command string for +DUP is:  0xFE  0xFE  0x70  0xE0  0x0E  0x12  0xFD

(0xFE  0xFE  and  0xFD are obligatory fixed bytes. 0x70 is the rig address. 0xE0 is a sender address
  0x0E is the command and  0x12 is our subcommand for +DUP. )

Reading simplex/duplex status ?

A scan of available commands finds no commands to read Duplex/Simplex status.

Synchronisation of button to rig at startup is not therefore possible here.

Furthermore, Interpreting data returned from \send_cmd_rx would require bespoke software
because to the complex Icon CI-V formats, I haven't produced this!

The configuration tables are shown below:



I have chosen code=DPLX.   code is the link between server data (catcodeshl) and client data (buttonshl)    
(I could have used any code of my choice here as there are no restrictions from internal uses of the code.)

The three buttons are grouped (shared code = DPLX  and action = G).

Grouped buttons use the nset and nans field for data. We use only nset here because we only have set functionality.

From the IC7000 CAT information, the three values are 0x10, 0x11 and 0x12.

The fields are actually held as text.  I have used 10, 11 and 12 as the nset values.

In catcodedshl, the setmask is  \send_cmd_rx \0xFE\0xFE\0x70\0xE0\0x#\0xFD 5

The # character, as in all rigctld commands is substituted by the data from the client records (buttonshl)

Thus 0x# becomes 0x10,  0x11   and  0x12   for the three buttons.