View Single Post
  #21  
Old 09-11-2021, 09:18 PM
gpeterson gpeterson is offline
Member
 
Join Date: Jul 2020
Location: CA
Posts: 36
gpeterson is on a distinguished road
Quote:
Originally Posted by lkv0315 View Post
So the RS458 board I talked about first will be okay?
Yes. That board does RS485 (which is of no use here) and CAN.

Quote:
Originally Posted by lkv0315 View Post
I’m looking to retrieve coolant temp (as a value), oil temp, mpg, AFR and throttle pos
From the bimmerforums link I posted:

ARBID: 0x329 (DME2)
-B0
-B1 is Temp [Temp in C = .75 * hex2dec(byte01) - 48.373]
-B2
-B3 (bit0 == LSb) bit 7 Cruise 1/0 bit 6 Cruise - bit 5 Cruise + bit 6&5 Cruise Resume
-B4
-B5 Throttle position (00-FE).
-B6 kickdown switch depressed is value (4) Brake pedal depressed is value (1).
-B7

ARBID: 0x545 (DME4),
combinations work to get multiple lights
-B0 Check engine light (binary 10), Cruise light (binary 1000), EML (binary 10000), Check gas cap 2002+ cars (hex 40).
-B1 Fuel consumption LSB
-B2 Fuel consumption MSB. Values just cycle from 0 to FFFF then start over at zero. Fuel consumiption is the rate of change.
-B3 Overheat light (binary 1000, Hex 08), oil level 2002+ cars, (binary 0010, hex 02), On M3's 0x10 7K and Up RPM lights, 0x20 6.5K and up RPM lights, 0x40 5.5K and up RPM lights.
-B4 Oil Temp [Temp in C = hex2dec(byte04) - 48.373]
-B5 Charge light, 2002+ cars (Binary 0001)
-B6
-B7

ARBID: 0x153 (ASC1)
-B0
-B1 Speed LSB
-B2 Speed MSB [Signal startbit: 12, Bit length: 12, 0x0008 = 1 km/hr]
-B3
-B4
-B5
-B6
-B7

You are not going to get MPG. MPG is calculated by injector pulse width (which I can't seem to find, will look) and speed.

Your car is a 2005 (V8 or L6?) and I'm not sure if it has wideband O2 sensors that would provide a real AFR value. Narrowband sensors do not read AFR, they read rich or lean. Even if it does have wideband AFR is probably not broadcast on the CAN bus because there is no need for other modules to know. If it does have wideband sensors you would probably need to use a K-line transceiver to poll for values from the DME (as opposed to listening for a CAN broadcast).
Reply With Quote

Sponsored Links