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)
                    = 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)