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.