Data structures
IBus_t
Main I-Bus context structure that manages communication state.UART communication interface
Receive buffer for incoming I-Bus messages
Transmit buffer queue for outgoing messages
Current ignition status (KLR, KL15, KL50, etc.)
Detected vehicle type (E38/E39/E52/E53, E46, E8X, R50)
Graphics driver version (MKI, MKII, MKIII, MKIV)
Bitfield tracking which modules are present on the bus
Ambient temperature in Celsius
Engine coolant temperature
Engine oil temperature
Current gear position
Remaining vehicle range in km
IBusModuleStatus_t
Tracks which modules are present on the I-Bus based on observed traffic.Board Monitor (on-board monitor)
Digital Sound Processor
Graphics driver (navigation system)
Instrument cluster electronics
Light control module
Multi-info display
Navigation module
Radio module
Park distance control
General module (body control)
IBusDateTime_t
Date and time structure for OBC and GPS timestamps.Year
Month (1-12)
Day of month (1-31)
Hour (0-23)
Minute (0-59)
Second (0-59)
Core functions
IBusInit
Initialized I-Bus context structure
IBusProcess
Pointer to I-Bus context
IBusSendCommand
Pointer to I-Bus context
Source device address (e.g.,
IBUS_DEVICE_CDC)Destination device address (e.g.,
IBUS_DEVICE_RAD)Pointer to data buffer
Length of data in bytes
Display functions
IBusCommandGTWriteIndex
Pointer to I-Bus context
Menu index (0-7)
Text to display (max 14 characters for MKIII)
IBusCommandGTWriteIndexTitle
Pointer to I-Bus context
Title text (max 16 characters for MKIII)
IBusCommandGTWriteZone
Pointer to I-Bus context
Display zone identifier
Text to display
IBusCommandMIDDisplayText
Pointer to I-Bus context
Text to display (max 24 characters)
IBusCommandIKEOBCControl
Pointer to I-Bus context
Property to control (time, date, temperature, etc.)
Value to set
CDC (CD changer) functions
IBusCommandCDCAnnounce
Pointer to I-Bus context
IBusCommandCDCStatus
Pointer to I-Bus context
Playback status (stop, pause, playing, fast forward, fast reverse)
Current function mode (playing, scan, random)
Current disc number (1-6)
Current track number
Vehicle status functions
IBusCommandIKEGetIgnitionStatus
Pointer to I-Bus context
IBusCommandIKEGetVehicleConfig
Pointer to I-Bus context
IBusCommandLMGetRedundantData
Pointer to I-Bus context
Utility functions
IBusGetNavType
I-Bus diagnostic response message
Navigation type:
IBUS_GT_MKI, IBUS_GT_MKII, IBUS_GT_MKIII, IBUS_GT_MKIV, etc.IBusGetVehicleType
IKE vehicle config response message
Vehicle type:
IBUS_VEHICLE_TYPE_E38_E39_E52_E53, IBUS_VEHICLE_TYPE_E46, etc.IBusGetDateTimeAsEpoch
Date and time structure
Unix epoch timestamp (seconds since Jan 1, 1970)
IBusGetEpochAsDateTime
Unix epoch timestamp
Converted date and time structure
Device addresses
Common I-Bus device addresses used in commands:IBUS_DEVICE_GM(0x00) - Body moduleIBUS_DEVICE_CDC(0x18) - CD changerIBUS_DEVICE_GT(0x3B) - Graphics driver (navigation)IBUS_DEVICE_DIA(0x3F) - DiagnosticIBUS_DEVICE_MFL(0x50) - Multi-function steering wheelIBUS_DEVICE_RAD(0x68) - RadioIBUS_DEVICE_DSP(0x6A) - DSPIBUS_DEVICE_IKE(0x80) - Instrument cluster electronicsIBUS_DEVICE_GLO(0xBF) - Global broadcastIBUS_DEVICE_MID(0xC0) - Multi-info displayIBUS_DEVICE_LCM(0xD0) - Light control moduleIBUS_DEVICE_BMBT(0xF0) - On-board monitorIBUS_DEVICE_BLUEBUS- Alias for CDC (0x18)