On-Board Computer (OBC) data
BlueBus can display various vehicle sensor data on the vehicle’s screens by monitoring I-Bus messages from the Instrument Cluster Electronics (IKE).Temperature monitoring
The system monitors and displays multiple temperature sensors: Coolant temperature:- Source: IKE temperature update message (IBUS_CMD_IKE_TEMP_UPDATE)
- Storage: ibus.coolantTemperature (firmware/application/lib/ibus.c:391)
- Range: 0-127°C (values above 0x7F are ignored)
- Event: IBUS_SENSOR_VALUE_COOLANT_TEMP
- Source: IKE temperature update message
- Storage: ibus.ambientTemperature (signed char)
- Range: -60°C to +60°C
- Event: IBUS_SENSOR_VALUE_AMBIENT_TEMP
- Source: Light Control Module I/O diagnostics (E38/E39/E52/E53 only)
- Calculation: Logarithmic formula based on sensor voltage
- Offset varies by LCM variant: 310 (standard) or 510 (LCM_IV)
- Formula:
67.2529 * log(rawTemp) + offset(firmware/application/lib/ibus.c:556) - Event: IBUS_SENSOR_VALUE_OIL_TEMP
Temperature display configuration
Temperature display configuration
You can configure which temperature is displayed:
- CONFIG_SETTING_TEMP_COOLANT (0x01) - Coolant temperature
- CONFIG_SETTING_TEMP_AMBIENT (0x02) - Outside air temperature
- CONFIG_SETTING_TEMP_OIL (0x03) - Engine oil temperature
- CONFIG_SETTING_TEMP_CELSIUS (0x00)
- CONFIG_SETTING_TEMP_FAHRENHEIT (0x01)
Vehicle range
BlueBus monitors the vehicle’s calculated range from the IKE:- Parsed from OBC text messages (IBUS_IKE_OBC_PROPERTY_RANGE)
- Format: “123 KM” or “123 MLS”
- Storage: ibus.vehicleRange (uint16_t)
- Parsing: Extracts numeric value, ignores ”---” invalid readings
- Event: IBUS_SENSOR_VALUE_VEHICLE_RANGE
Speed and RPM data
The system receives real-time speed and RPM updates:- Source: IBUS_CMD_IKE_SPEED_RPM_UPDATE (0x18)
- Event: IBUS_EVENT_IKE_SPEED_RPM_UPDATE
- Used for speed-dependent features like auto-lock
Gear position
Automatic transmission gear position is monitored:- Source: IKE sensor response (IBUS_CMD_IKE_SENSOR_RESP)
- Storage: ibus.gearPosition (4-bit value)
- Event: IBUS_SENSOR_VALUE_GEAR_POS
- IBUS_IKE_GEAR_PARK (0x0B)
- IBUS_IKE_GEAR_REVERSE (0x01)
- IBUS_IKE_GEAR_NEUTRAL (0x07)
- IBUS_IKE_GEAR_FIRST through IBUS_IKE_GEAR_SIXTH
GPS time synchronization
For vehicles equipped with factory navigation, BlueBus can synchronize the vehicle’s clock with GPS time.GPS time reception
BlueBus monitors GPS time broadcasts from the navigation system:- Hour: BCD format at IBUS_PKT_DB2
- Minute: BCD format at IBUS_PKT_DB3
- Day: BCD format at IBUS_PKT_DB4
- Month: BCD format at IBUS_PKT_DB6
- Year: BCD format at IBUS_PKT_DB7 and IBUS_PKT_DB8
BlueBus automatically adjusts for the GPS week rollover issue by adding 1024 weeks (in seconds) to the epoch calculation:
epoch + (1024 * 604800) (firmware/application/lib/ibus.c:643).Time synchronization modes
The CONFIG_SETTING_AUTO_TIME setting controls automatic time synchronization:Time synchronization options
Time synchronization options
GPS synchronization (CONFIG_SETTING_AUTO_TIME_GPS, bit 1):
- Synchronize from factory navigation GPS
- Automatic correction for GPS week rollover
- Requires navigation system (IBUS_DEVICE_NAVE)
- Get time from connected Bluetooth phone
- Useful for vehicles without navigation
- Automatic DST adjustment
- Timezone offset configuration (CONFIG_SETTING_AUTO_TIME_TZ)
Timezone configuration
The system supports 32 different timezone offsets (CONFIG_TIMEZONE_COUNT):- Stored as index: ConfigGetTimeOffsetIndex() / ConfigSetTimeOffsetIndex()
- Actual offset: ConfigGetTimeOffset() / ConfigSetTimeOffset() (int16_t minutes)
- DST flag: ConfigGetTimeDST() / ConfigSetTimeDST()
Park Distance Control integration
BlueBus integrates with the factory PDC (Park Distance Control) system to provide visual feedback.PDC sensor monitoring
The system monitors eight PDC sensors: Front sensors:- frontLeft (ibus.pdc.frontLeft)
- frontCenterLeft (ibus.pdc.frontCenterLeft)
- frontCenterRight (ibus.pdc.frontCenterRight)
- frontRight (ibus.pdc.frontRight)
- rearLeft (ibus.pdc.rearLeft)
- rearCenterLeft (ibus.pdc.rearCenterLeft)
- rearCenterRight (ibus.pdc.rearCenterRight)
- rearRight (ibus.pdc.rearRight)
Sensor values are received via IBUS_CMD_PDC_SENSOR_RESPONSE (0xA0) messages from the PDC module at address 0x60. Invalid/no-obstacle readings return 0xFF (firmware/application/lib/ibus.c:684).
PDC status tracking
The PDC status structure (IBUSPDCStatus_t) tracks:- IBUS_CMD_PDC_STATUS (0x07) - PDC active broadcast
- Bit 0 of 10th data byte in sensor response - PDC enabled flag
Visual PDC display
BlueBus can display PDC information in multiple locations:PDC display options
PDC display options
Cluster display (CONFIG_SETTING_PDC_CLUSTER, 0x01):
- Shows PDC warnings in instrument cluster
- Uses IKE check control display
- Shows PDC information on radio/navigation screen
- Graphical representation on BMBT
- Simultaneous display on cluster and radio
- Maximum visibility
Light module integration
BlueBus monitors the Light Control Module (LCM) for various sensor data.LCM variants
The system auto-detects and supports eight LCM variants:- IBUS_LM_LME38 (E38)
- IBUS_LM_LCM (E39 early)
- IBUS_LM_LCM_A (E39 mid)
- IBUS_LM_LCM_II (E39 late/E46/E53)
- IBUS_LM_LCM_III (E46 facelift)
- IBUS_LM_LCM_IV (E83/E85/E86)
- IBUS_LM_LSZ (E6x)
- IBUS_LM_LSZ_2 (E6x facelift)
Light sensor data
BlueBus monitors LCM sensor voltages: Dimmer (58G) voltage:- ibus.lmDimmerVoltage
- Controls automatic display brightness
- ibus.lmPhotoVoltage
- Ambient light detection
- ibus.lmLoadFrontVoltage
- ibus.lmLoadRearVoltage
- Headlight self-leveling
Navigation system integration
For vehicles with factory navigation, additional features are available:Navigation auto-zoom
Automatic map zoom based on vehicle speed:- CONFIG_SETTING_NAV_MAP_DEFAULT - Manual zoom control
- CONFIG_SETTING_NAV_MAP_SPEED_20 - Auto-zoom at 20 km/h
- CONFIG_SETTING_NAV_MAP_SPEED_30 - Auto-zoom at 30 km/h
- CONFIG_SETTING_NAV_MAP_SPEED_50 - Auto-zoom at 50 km/h
- CONFIG_SETTING_NAV_MAP_TIME_5 - Zoom change every 5 seconds
- CONFIG_SETTING_NAV_MAP_TIME_10 - Zoom change every 10 seconds
Navigation controls
BlueBus can send commands to the navigation system:Silent navigation mode
The CONFIG_SETTING_NAV_SILENT bit (0b10000000) in the NAV setting enables silent navigation mode, preventing voice guidance from interrupting audio playback.Vehicle type detection
BlueBus auto-detects the vehicle platform:- IBUS_VEHICLE_TYPE_E38_E39_E52_E53 (0x01)
- IBUS_VEHICLE_TYPE_E46 (0x02)
- IBUS_VEHICLE_TYPE_E8X (0x03)
- IBUS_VEHICLE_TYPE_R50 (0x04)
- Oil temperature calculation offset
- Feature availability
- UI rendering
- Module compatibility checks