This command has two purposes:
- Annoucing the presence of a module on the bus.
- "Pong" in response to a "Ping"
0x01
.
0x01
"Ping"
60 04 F0 02 00 96
3B 04 C8 02 10 E5
C8 04 FF 02 31 00
Fixed length. 1-byte bitfield.
ANNOUNCE = 0b0000_0001
VARIANT = 0b1111_1000
REPLY = 0b0000_0000
ANNOUNCE = 0b0000_0001
GT_VM = 0b0001_0
GT_NAV = 0b0100_0 # incl. MK1
NAV_MK4 = 0b0100_0
NAV_MK4_ASSIST = 0b1100_0
TEL_CMT = 0b0000_0 # CMT3000
TEL_MOTO_V = 0b0011_0 # Motorola V-Series
TEL_TCU = 0b0011_1 # Everest
BMBT_4_3 = 0b0000_0
BMBT_16_9 = 0b0011_0
The announce bit is set when a module becomes active on the bus. This is most frequently seen at ignition with modules commonly powered/activated by ignition circuits (KL-R, KL-15).
C8 04 FF 02 31 00 # Telephone broadcasting an announcement
The announcement is what determines the availability of numerous features. For example, Television, Telephone, and DSP will all appear in the BMBT main menu following the announcement by the respective modules.
An annoucement also allows the new module to establish it's state. and any applicable modules will respond as necessary. The response will depend on the announcing module, but will at minimum, include ignition state 0x11
from the cluster.
After a module has announced, it's ongoing presence will be checked by interested modules via 0x01
"Ping".
C8 04 FF 02 31 00 # Telephone broadcasts announcement
[...]
50 03 C8 01 9A # MFL pings Telephone
C8 04 50 02 30 AE # Telephone replies to MFL with a pong
ED 04 FF 02 01 15 # TV broadcasts announcement
[...]
3B 03 ED 01 D4 # BMBT pings TV
ED 04 3B 02 00 D0 # TV replies to BMBT with a pong
If the ping is not acknowledged, features will be disabled. For example, the availability of the "Television" menu item requires the TV continue to reply to pings.
In the case that a module has variants, and that variant affects behaviour of other modules on the bus, a "signature" is used to allow variants to be identified.
A good working example of this is the BMBT which was introduced with the 4x3 display, and was later upgraded to the larger 16x9 display. In order for the navi. computer/video module to output a video signal with the correct aspect ratio, it must be able to identify the BMBT variant.
Module | Variant | Signature | Frame |
---|---|---|---|
GT | Video Module GT | 0x10 |
3B 04 FF 02 11 D3 |
GT | Nav. GT (incl. MK1) | 0x40 |
3B 04 BF 02 41 C3 |
Module | Variant | Signature | Frame |
---|---|---|---|
Nav. | MK4? | 0x40 |
7F 04 BF 02 41 87 |
Nav. | MK4? + BMW Assist | 0xc0 |
7F 04 BF 02 C1 07 |
- telephone to presumably configure BMW Assist
- may affect MRS and sending impact notification
Module | Variant | Signature | Frame |
---|---|---|---|
Telephone | CMT3000 | 0x00 |
C8 04 FF 02 01 30 |
Telephone | Motorola V-Series | 0x30 |
C8 04 FF 02 31 00 |
Telephone | Everest Module with Bluetooth | 0x38 |
C8 04 BF 02 38 49 |
- nav. computer will send telematics data
0xa2
,0xa4
Module | Variant | Signature | Frame |
---|---|---|---|
BMBT | 4x3 | 0x00 |
F0 04 BF 02 01 48 |
BMBT | 16x9 | 0x30 |
F0 04 BF 02 31 78 |
- GT/VM will set correct aspect ratio and encoding.
While the need for a signature is likely predicated upon a module hardware/software revision, it's only in the case that the module must be differentiated on the bus that a signature will be used. Some modules, despite having one or more revisions, will not distinguish variants.
The following module variants do not appear to have a signature.
Module | Address | Variant | Signature | Frame |
---|---|---|---|---|
GM | 0x00 |
GM III (E39) | 0x00 |
00 04 BF 02 01 B8 |
CDC | 0x18 |
All? | 0x00 |
18 04 BF 02 01 A0 |
CCM | 0x30 |
All? | 0x00 |
30 04 BF 02 01 88 |
PDC | 0x60 |
All? | 0x00 |
60 04 BF 02 01 D8 |
Radio | 0x68 |
C23 BM | 0x00 |
68 04 FF 02 01 90 |
Radio | 0x68 |
BM53 | 0x00 |
68 04 BF 02 01 D0 |
IKE | 0x80 |
IKE, IKI, KOMBI | 0x00 |
80 04 BF 02 01 38 |
EHC | 0xaC |
All? | 0x00 |
AC 04 BF 02 01 14 |
LCM | 0xd0 |
LCM III (E39) | 0x00 |
D0 04 BF 02 01 68 |
TV | 0xeD |
MK1 VM, "MK3" VM | 0x00 |
ED 04 FF 02 01 15 |