Functional Keyboard FK

The Functional Keyboard allows to send CTC commands to various control points. It is based on an AT keyboard, and connected to MRBus.

Photo of prototype Functional Keyboard

The number keys in the upper left are shortcut keys for different control points (here two keys are shown). They are used to select a specific CP. The numberpad keys allow to digit the number of the interested field device, and the ASDF and KL keys send the commands. Input is monitored on a two-line (at least 2x16) LCD display.

Command keys will be color-coded and have the following function:
- A (green): Clear a signal
- S (red): Drop a signal
- D (white): Enable Fleeting
- F (white with red oblique line): Disable fleeting

- K (green): Set switch normal
- L (yellow): Set switch reverse

How does it work? First, you must select the control point by hitting a CP shortcut key, and on the LCD a three-character ID code of the CP is shown. This could be "HTE" for East Hazeltine, or "FRB" for Fremont Branch Junction, for example. Then the two-digit number of the field device must be introduced with the numberpad, finalized by hitting the desired command key. Pressing the command key causes control of the introduced data and then sends the command to field circuitry. The last CP selected remains stored (and is visualized on the LCD), and you can directly type a new field device's address. Thus a CP shortcut key only needs to be pressed if you want to change the addressed CP.
A "Generic CP" key allows to type the three-digit MRBus address of a CP node not previously configured as shortcut.

The shortcut addresses are stored in EEPROM, along with the three-digit ID codes. E.g. key 1 might have address 0xC0 associated, with code "HTE" for East Hazeltine.

The number of the accessed field device is internally decreased by 1. If you type "03" for signal number 3, the command packet actually contains 0x02. This allows you to enumerate the elements on the panel starting with 01 (02, 03 and so on), whereas the system uses its native C-style enumeration starting with 0. I think its more logical and straightforward to have the third element named "03".

On the keyboard there is plenty of space for additional information sheets (e.g. "CP Fremont - address 128").


Scancodes and pinout of keyboard connectors

The diagram below shows the Scan Code assigned to the individual keys. The Scan code is shown on the bottom of the key. E.g. The Scan Code for ESC is 76. All the scan codes are shown in Hex.
The colors identify the keys used: CP shortcut keys are shown in yellow, the Generic CP key is orange, signal command keys are green, turnout command keys blue, and number keys pink.

Scan codes
Extended scan codes

The following pinout can be found (male connectors):

1. KBD Clock
2. KBD Data
3. N/C
4. GND
5. +5V (VCC)
1. KBD Clock
2. GND
3. KBD Data
4. N/C
5. +5V (VCC)
6. N/C

Schematic and source code

Source code

Version 1.0a [download]

Schematics

Version 1.0[download]
No power ciruitry shown