One byte bit field.
Bit | 7 | 6 | 5-4 | 3-0 |
---|---|---|---|---|
Use | Telephone | R/T | Button State | Button ID |
FORWARD = 0b0000_0001
BACK = 0b0000_1000
PRESS = 0b0000_0000
HOLD = 0b0001_0000
RELEASE = 0b0010_0000
R_T = 0b0100_0000
TEL = 0b1000_0000
The R/T button will determine if Radio 0x68
or Telephone 0xc8
is the recipient of applicable messages.
It's use is dependent on Telephone 0xc8
being active on the bus, and MFL 0x50
will periodically check for it's presence:
# MFL Telephone presence check
50 03 C8 01 9A
The R/T button behaves like a toggle switch, i.e. it does not have press, hold, or release states. Each time R/T it is pressed, a single bit 0b0100_0000
is flipped, thus allowing for only one of two messages:
# Telephone Mode
50 04 C8 3B 40 E7 # 0b0100_0000 => 0x40
# Radio Mode
50 04 C8 3B 00 A7 # 0b0000_0000 => 0x00
The bit will only be set for the R/T button press, and not with any other button presses. For example, if R/T is pressed (select telephone mode), and then Forward is pressed (next contact), the bit will not be set in the subsequent messages:
50 04 C8 3B 40 E7 # Select "Telephone Mode"
50 04 C8 3B 01 A6 # Next contact press (R/T bit not set!)
R/T selecting telephone mode will also turn a telephone on.
# Forward (Radio Forward)
50 04 68 3B 01 06 # Press
50 04 68 3B 11 16 # Hold
50 04 68 3B 21 26 # Release
# Forward (Next Contact)
50 04 C8 3B 01 A6 # Press
50 04 C8 3B 11 B6 # Hold
50 04 C8 3B 21 86 # Release
# Back (Radio Back)
50 04 68 3B 08 0F # Press
50 04 68 3B 18 1F # Hold
50 04 68 3B 28 2F # Release
# Back (Previous Contact)
50 04 C8 3B 08 AF # Press
50 04 C8 3B 18 BF # Hold
50 04 C8 3B 28 8F # Release
Note: depending on year, and options, the button icon may be either a "telephone", or "speaking".
# Telephone
50 04 C8 3B 00 A7 # Press
50 04 C8 3B 80 27 # Hold
50 04 C8 3B A0 07 # Release