2.13    Learning guide  - fixed controls - button actions


Buttons controls have a code field.eg: KEYR, BAND, MODE, SPSW.

  • The code field appears in the buttonshl table (which is data held in the client)
  • The code field appears in the catcodeshl table (which is data used on the server.)
  • The code field provides a linking identifier for commands sent from client to server.
  • Likewise, sliders use a code field in the same way, but as discussed earlier, for sliders,
    both client and server data are configured in the single slidershl table.


All code field values should have meaningful names.
For most of them, you are free to choose your own names, eg: KYER instead of KEYR etc.
Clearly, it is essential that the corresponding code fields in buttonshl and catcodeshl are the same!


However, we have a system here in which configuration data can be shared between users, and so
perhaps there is a case for some standardisation, eg: my codes!


A layout with button and slider numbering is shown in  section 3.6 - Button and Slider numbering


Fixed buttons

Some buttons use fixed codes which you must not change.
A few buttons are fixed in postion.
Some buttons are in positions which you could change  ... but why?  eg: BAND and MODE.


Buttons with fixed location and function

These buttons have fixed locations (btnno values) and fixed code fields:

  • VFOA, VFOB, Swap A/B and MOX (btnno =  16, 17, 79 and 59)
    code fields are fixed at  VFO, VFO, SWAP and MOX.
  • Five Tx metering buttons beneath the meter (btnno = 61, 62, 63 ,64 and 65)
    They all have code = TXME and action = M 
  • Eight slider reset-to-default buttons (btnno = 51, 52, 53, 54, 55, 56, 89, and 90)
    These have action = R and no code field. We don't configure these other than to set as active/inactive
    This is because the buttons only action is via internal links to hard coded functions in piWebCAT code.

Note that the Tx metering and slider reset buttons operate as so called 'radio buttons' ie: in a group where

only one can be selected.
Elsewhere, group behaviour is specified by action = G and a shared code field, eg:  BAND, MODE, ATTN.


Buttons with a fixed code but free location.

These can be moved by simply changing their btnno field in table buttonshl.

All my BAND and MODE buttons are in the right hand panel with buttons for 14 bands and 8 modes.
Users will hopefully not wish to move these.
An exception to this is that on an HF radio, the 4m, 2m and 70cm positions could be used for extra modes.

The buttons with fixed code are:

  • BAND        Band switching  grouped buttons
  • MODE        Mode switching - grouped buttons..
  • MPAD        launch popup memory keypad         (no server action)
  • MORE          launch popup window with 24 extra buttons (no server action)
  • RPGO        CW repeat toggle on/ff - a piWebCAT repeat


Sliders with a fixed code but free location.

Sliders with fixed code fields that can be located where you choose have code fields:

  • AFGN        AF gain - fixed because it is linked to internal AFgain swapping code.
  • IFWD        IF width -fixed because it is linked in Hamlib configurations to MODE