- 59 -
KEY? QUERY
Returns the decimal number of the key last key processed by the state
machine. This query returns any key in the remote mode even if the key
is locked out by remote mode, i.e. KEY_LOCAL is not locked out.
Syntax:
KEY?<crlf>
21<crlf>
Response:
Decimal Key value between 0-24, 0 = No key pressed
0
KEY_NO_KEY
1
KEY_0
2
KEY_3
3
KEY_CLEAR
4
KEY_9
5
KEY_LOCAL
6
KEY_RESET
7
KEY_FUNC
8
KEY_ENTER
9
KEY_DP
10
KEY_RANGE_4
11
KEY_2
12
KEY_RANGE_5
13
KEY_5
14
KEY_RANGE_6
15
KEY_8
16
KEY_6
17
KEY_NOTUSED
18
KEY_RANGE_2
19
KEY_1
20
KEY_RANGE_1
21
KEY_4
22
KEY_RANGE_0
23
KEY_7
24
KEY_RANGE_3
25
KEY_UNKNOWN
KEY_UPDATE
KEY_1
KEY_HLC
KEY_2
KEY_ADDR
KEY_3
KEY_RUNHOLD
KEY_4
KEY_PRINT
KEY_5
KEY_TCM
KEY_6
KEY_AUTO_RNG
KEY_7
KEY_CAL
KEY_8
KEY_BCD
KEY_9
KEY_VIEW
KEY_0
KEY_DISPLAY
KEY_1
KEY_mk
KEY_DP
Usage: Keys are polled every 25ms in a timer interrupt. This routine
changes mode to local and responds with the last key pressed. It can
sense keys even in remote mode. Keys are debounced but are not tested
for each menu state.
In other words, sending KEY 4 in a state that does not accept that key
will have no effect to change the state. In addition if the KEY X
commands are sent without enough interval the key handler task will not
have executed and the key press can be overwritten by the next key
command and the previous one is skipped. This is due to no buffering of
remote key presses.