Skip to content

Latest commit

 

History

History
111 lines (73 loc) · 2.9 KB

3b.md

File metadata and controls

111 lines (73 loc) · 2.9 KB

0x3B MFL Buttons

MFL 0x50 → Radio 0x68
MFL 0x50 → Telephone 0xc8

Related Commands

Examples

50 04 68 3B 08 0F
50 04 68 3B 28 2F
50 04 68 3B 01 06
50 04 68 3B 21 26

50 04 C8 3B 00 A7
50 04 C8 3B 40 E7
50 04 C8 3B 01 A6
50 04 C8 3B 21 86
50 04 C8 3B 80 27
50 04 C8 3B A0 07

# Radio (E46 CD53)
68 04 FF 3B 00 A8

Parameters

Fixed length. One byte bit field.

BUTTON  = 0b1100_1001
STATE   = 0b0011_0000

Button 0b1100_1001

BUTTON_FORWARD  = 0b0000_0001   # 0x01
BUTTON_BACK     = 0b0000_1000   # 0x08

BUTTON_RT       = 0b0100_0000   # 0x40
BUTTON_TEL      = 0b1000_0000   # 0x80

State 0b0011_0000

STATE_PRESS     = 0b0000_0000   # 0x00
STATE_HOLD      = 0b0001_0000   # 0x10
STATE_RELEASE   = 0b0010_0000   # 0x20

Use Cases

Radio/Telephone (R/T) Mode

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.

Radio

Navigation

As per the back/forward buttons on the MID/BMBT- radio preset selection, CD track navigation etc

# Radio Forward
50 04 68 3B 01 06   # Press
50 04 68 3B 11 16   # Hold
50 04 68 3B 21 26   # Release

# Radio Back
50 04 68 3B 08 0F   # Press
50 04 68 3B 18 1F   # Hold
50 04 68 3B 28 2F   # Release

Telephone

Quick Contact Selection

# Telephone Contact Forward
50 04 C8 3B 01 A6   # Press
50 04 C8 3B 11 B6   # Hold
50 04 C8 3B 21 86   # Release

# Telephone Contact Back
50 04 C8 3B 08 AF   # Press
50 04 C8 3B 18 BF   # Hold
50 04 C8 3B 28 8F   # Release

Answer, Dial, Hang-up & Voice Act.

Note: depending on year, and options, the button icon may be either a "telephone", or "speaking".

# Telephone Answer/Dial/Hang-up
50 04 C8 3B 00 A7   # Press
50 04 C8 3B 80 27   # Hold
50 04 C8 3B A0 07   # Release