8.8 Hamlib - rigctld - configuring buttons
The following section deals with configuring buttons for those commands that are supported by rigctld.
(Unsupported commands can use \send_cmd_rx which is discussed separately )
rigctld commands are text based and so configuration is similar to the ASCII configuration system.
Prior reading of the section on Database tables - configuration is assumed.
Some reading of ASCII text CAT - configuration would be useful.
Tables buttonshl and catcodeshl
As with the other configuration systems (buttons, buttonsciv)
- Table buttonshl contains button data extracted at startup from the server database to a client data array.
The data includes: caption, colour, active status, group/toggle/single status and data values to be
passed to the server or interpreted from the server. Also the code and vx values to link to the server. - Table catcodeshl contains the rigctld command strings (readmask and setmask fields).
It also contains client links: code and abx.
Most buttons definitions in buttonshl link to server commands in catcodehl.
Exceptions are (Using example from my FTdx101D configuration:
- More (code fixed = MORE) Launches the popup window with 24 extra buttons.
- MPad (code fixed = MPAD) Launches the memory channel selector keypad.
- rep 10, rep 20 (code fixed = CWRP) CW message repeat is an interval timer in client javascript code.
- repeat (code fixed = RPGO) CW message repeat on / off - built in client function.
- Tx metering option buttons - these link to the meter table records.
- Slider set-to-default buttons (buttons 51 to 56, 89 - 91)
Table buttonshl fields
- rig The current radio - selector (from rigs table). Must have same spelling through the tables.
- description Descriptive text- no function
- colour Button's background colour at startup.
Can be a standard HTML color, eg teal,indigo etc or a numeric colour:
ie: #RRGGBB eg #223344 where 0x22 is red level (0x00 - 0xFF) - caption The caption to be applied to the button at start up. Must fit the button's width.
Try something and then observe. (Lower case letters are MUCH narrower!) - btnno The button's unique, fixed, numeric identifier. See: Button and slider numbering
- active Y = button active N = button inactive S = active + sync (repetitive state update from rig)
L = sync and 'LED' read-only indicator lamps ( See: LED buttons ) - code 3 or 4 upper case characters. This links a button command to its action
on the server. It must match the code for the linked record in catcodes. - vx V for client to send A or B according to current VFO. (A and B catcodes records)
X to send X (single non-VFO dependent server record. U no action to server.
(U = do not participate in buttons state store and retrieve) See: vx and abx
- getset (Hamlib only) --, G, S or GS. G for get function. S for set function.
- action S = single momentary. Button flashes briefly. Sends von field value.
T = toggled. Alternates on/off. Client code highlights it when on and remembers
its current state. Sends von or voff column value.
G = grouped. Is in a group of other G buttons with the same code.
Only one of the group is highlighed. The data value associated with each button is in
the nset field (Corresponding nans field is used to match data read from the rig).
M = a meter button. R = a slider reset buttons
- seton ON value for an on/off (toggling) button ie: action = S or T (usually 1 )
- setoff OFF value for an on/off button ie: action = S or T (usually 0 )
- anson ON value to match a button state command received from the radio.
- ansoff OFF value to match a button state command received from the radio.
- nset The send value for a button that is in a button group
- nans The answer matching value for a button in a group (not always the same as sent)