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