Page 29 of 31 FirstFirst ... 419202122232425262728293031 LastLast
Results 701 to 725 of 755

Thread: State of the mod: M5 cluster -> 540 (yes, I've read the old threads)

  1. #701
    Join Date
    Feb 2015
    Location
    Norway
    Posts
    7
    My Cars
    00 540IAT, 93 530D
    Ok. So i Need to look at 4,6 is software, think i have a orginal file somewhere.

  2. #702
    Join Date
    Jan 2016
    Location
    France
    Posts
    1
    My Cars
    BMW E36 328i Coupe
    I am not very familiar with WinKFP; does someone have 540i/6 full flash 512KB with correct hardware version to support oil temp ?
    Thanks.

  3. #703
    Join Date
    Nov 2010
    Location
    Charlotte, NC
    Posts
    9,266
    My Cars
    03 M5/05 RR/06 Cayman S
    Resurrecting this post from the dead .

    Big news for all you I6ers with M3 or M5 clusters in your non-M e46 or e39. We are finally able to offer oil temp warm up lights to go along with your already working oil temp gauge. On top of that, the mod also enables shift lights using the warm up lights after the car is warmed up. I've tested it on both my 330Ci/5 and my 530it/6. Can be applied to any MS43 DME with either 430056 or 430066 program/tune data.

    More information is here:
    https://www.ms4x.net/index.php?title=Siemens_MS43#M_Cluster_LED_Control and here: https://forum.e46fanatics.com/showpo...postcount=6535, but as always, if you need me to do the mod for you, just PM me.
    Last edited by blackknight530i; 01-30-2019 at 07:34 PM.

    -Paul
    2003 "M5" - Full M5 conversion, AMG C63S 6 piston front calipers, Porsche Panamera 4 piston rear calipers, GC Coilovers,
    Eibach ARBs, UUC Evo3/DSSR, Borla Exhaust w/Muffler Delete, BMW NBT with Carplay/Android Auto, Bi-Xenons, e38 Style 37 M-Pars, e60 Hubs 530i 6-speed swap build thread
    2005 Range Rover 4.6is (M62TU Powered) - 4.6is Engine Swap from X5, BMW NBT with Carplay/Android Auto
    2006 Porsche Cayman S - Soul Performance Competition Headers and Exhaust, H&R Coilovers, 718 Boxster Spyder wheels, Rennline 35mm rear spacers

  4. #704
    Join Date
    Jan 2016
    Location
    Fl
    Posts
    28
    My Cars
    M3, 850i, 740i, M5, M3
    Sending PM!!

  5. #705
    Join Date
    Oct 2009
    Location
    Spokane, WA
    Posts
    50
    My Cars
    E30 325i
    To bump an old thread. I have a e39 with an EWS deleted DME from Kassel Performance. Cruise control hasn't worked since I installed this DME, probably because it came from a car with a different gearing setup.

    If I flash with winkp, will I loose that EWS delete? I would be flashing things from this post in this thread.
    https://www.bimmerforums.com/forum/s...3#post28320993

    I've been trying to work with Kassel Performance about this, but he hasn't been able to fix it. I was hoping this would fix it.

  6. #706
    Join Date
    Jun 2018
    Location
    Castle Rock CO
    Posts
    264
    My Cars
    1990 325is, 1998 740i
    Quote Originally Posted by mnc2fan View Post
    To bump an old thread. I have a e39 with an EWS deleted DME from Kassel Performance. Cruise control hasn't worked since I installed this DME, probably because it came from a car with a different gearing setup.

    If I flash with winkp, will I loose that EWS delete? I would be flashing things from this post in this thread.
    https://www.bimmerforums.com/forum/s...3#post28320993

    I've been trying to work with Kassel Performance about this, but he hasn't been able to fix it. I was hoping this would fix it.

    if the Kassel EWS delete works like the one I have then it is outside the 64kb mapping section of your DME file ( the full file is 512kb) I was working on a tunerpro file with a patch for cruise control fix but have not had anyone to test the patch / give feed back (I jumped the gun a bit on posting my thread) but my work in progress tuner pro files are still publicly available (with the patch) I know that the cruise control fix applies to the 64kb mapping section of the DME

    When BlackKnight sent me the 0Da files that Terra made from how I UNDERSTOOD the files the 0da = 64kb mapping the 0pa file = the remainder instructions or remaining 448 kb I have a way better understanding of the me7 since that point thanks to data sheets


    In theory you could convert that 0da file to a 64kb .bin file and flash with Galletto1260 in order to not mess with your 512kb section or ews delete programming (not sure about the checksum though or how you would do that) https://drive.google.com/open?id=19Z...trx3TjbCt9ML6L
    I went ahead and converted them to binaries in case you wanted to try ( again not sure if Galletto will work because they don't have checksums)


    a "partial update" with winFKP shouldn't overwrite the full 512kb


    anyway like my signature says I like to pretend I know stuff
    I like to pretend I know stuff

  7. #707
    Join Date
    Oct 2009
    Location
    Spokane, WA
    Posts
    50
    My Cars
    E30 325i
    Awesome. Thanks for that. From my understanding of MS41 software the checksum has to be corrected.

    Now I wonder what the best software that can easily correct the checksum. WinOLS, ECM titanium? There was an awesome flash software for the ms41.

    If I were to do a full read, could I flash that back to the DME if EWS delete is removed or if there are any checksum related issues?

  8. #708
    Join Date
    Jun 2018
    Location
    Castle Rock CO
    Posts
    264
    My Cars
    1990 325is, 1998 740i
    Quote Originally Posted by mnc2fan View Post
    Awesome. Thanks for that. From my understanding of MS41 software the checksum has to be corrected.

    Now I wonder what the best software that can easily correct the checksum. WinOLS, ECM titanium? There was an awesome flash software for the ms41.

    If I were to do a full read, could I flash that back to the DME if EWS delete is removed or if there are any checksum related issues?

    I think I might be able to help you out .... there is a item in the mapping for our car that is gear recognition at 3k rpm I bet you could edit / alter those tables to make your cruise work as expected or if you have stock gearing / diff you could copy > paste the information from a stock dump > your cars table then use WinOLS to checksum or Ultimo checksum corrector and flash back to your DME

    if you full read the ECU you could attempt to place this mapping items program into your 512kb file it would sit from 10000>1FFFFF inside the 512kb file

    Definitely back up your EWS deleted binary so you don't lose that (I keep mine backed up so i can still start my car in case of emergency :-D )
    I like to pretend I know stuff

  9. #709
    geargrinder's Avatar
    geargrinder is offline Having No Trouble Here BMW CCA Member
    Join Date
    Mar 2010
    Location
    AndoverRockport MA & Intl
    Posts
    14,856
    My Cars
    E46M3Cic E39.540iT E84X1
    Quote Originally Posted by zarboz View Post
    there is a item in the mapping for our car that is gear recognition at 3k rpm
    Actually that is not remotely what is in the DME. What is in the DME is some kind of relatively obscure crank to wheel ratio factor.

    What you are talking about is an XDF-formula parameter that someone else has converted into "friendly units" to make it more 'sensible' to tweak and understand in terms of fine-tuning adjusting for diff changes, vs having to do lots of 'wheel diameter / gear ratio / etc. etc. ' calcs on the side.
    2003 M3CicM6 TiAg
    2002 540iT Sport Vortech S/C 6MT LSD TiAg
    2008 Audi A3 2.0T DSG (the daily beater)
    2014 BMW X1 xDrive28i (wifemobile)

    Former:

    1985 MB Euro graymarket 300SL
    1995.5 Audi S6 Avant (utility/winter billetturbobattlewagen)


  10. #710
    Join Date
    Jun 2018
    Location
    Castle Rock CO
    Posts
    264
    My Cars
    1990 325is, 1998 740i
    Quote Originally Posted by geargrinder View Post
    Actually that is not remotely what is in the DME. What is in the DME is some kind of relatively obscure crank to wheel ratio factor.

    What you are talking about is an XDF-formula parameter that someone else has converted into "friendly units" to make it more 'sensible' to tweak and understand in terms of fine-tuning adjusting for diff changes, vs having to do lots of 'wheel diameter / gear ratio / etc. etc. ' calcs on the side.

    Realistically it didn't matter any way because the NVQUOTU1/2/3/4/5/6 quotients all matched a stock binary as well as the gear ratio as well as NVQUOTO1/2/3/4/5/6.

    NMOT = Engine speed

    Therefore the concept does exist, I apologize for not explaining it in excess

    Capture.PNG
    I like to pretend I know stuff

  11. #711
    Join Date
    Jan 2018
    Location
    Sweden, Goteborg
    Posts
    12
    My Cars
    E34 530 E39 535 x2
    Sent you a pm!

  12. #712
    Join Date
    Apr 2019
    Location
    New Jersey
    Posts
    85
    My Cars
    1997 E39 540i
    Out of curiosity, has anyone gotten this to work in a Non TU M62? Since NJ, NY, and CT are on quarantine I figured now would as good a time as any to try and bang this, and a few other projects, out. Allow me to explain my findings.

    I have a build date 04/97 540i, BW56369. The cluster I have is from a build date 06/04 X5 4.8is LE81450

    I have diagrams from both vehicles, but it would appear my diagram for the X5 cluster is incomplete. For the 540i I have pin outs of all three connectors. The black 18 pin, white 18 pin, and blue 26 pin.

    The X5 diagram is missing the black 18 pin connector. I should also note that on the harness in my car and the harness in the diagram I am missing two pins, CAN Bus High and Low on pins 8 and 9 respectively.

    When I plug the cluster into my car (my power supply for my test bench hasn't come in yet and I got excited) I have no tach signal, oil and coolant temp are pegged, as I would expect, and after a while I get the "Trans. Failsafe Prog" warning. I have to assume it's because of those missing CAN bus lines. Interestingly my diagram says those are mostly for ASC/DSC signal. not sure what to think. Now I should also mention that for some reason, all of my modules have taken the mileage from the X5 cluster, I only powered up the cluster, didn't even move an inch with it installed. the mileage from my car is 117340, the cluster reads something like 192k and some change.

    I know I need to wait for my INPA cable to arrive to get the fuel, tach and coolant to read correctly, and I also need to either man up and remove the pointers and m35080 and program it or find a way to program it through the processors on the back, that is my main concern as of right now.

    I should say, I'm 20, I'm an Electrical Engineering student, this isn't anything too far away from what I already do, but I'm practically broke. I don't exactly have the money to go and spend the $150-$300 programming fee. I understand that Blackknight530i does a great deal of this and I've heard he's a nice guy, but I only have the money to do this myself, I'm trying to get any advice I can to help.

    Any advice is appreciated,
    Andrew
    Attached Images Attached Images
    Last edited by 97M62BimmerKid; 03-30-2020 at 06:23 PM.

  13. #713
    Join Date
    Nov 2010
    Location
    Charlotte, NC
    Posts
    9,266
    My Cars
    03 M5/05 RR/06 Cayman S
    Quote Originally Posted by 97M62BimmerKid View Post
    Out of curiosity, has anyone gotten this to work in a Non TU M62? Since NJ, NY, and CT are on quarantine I figured now would as good a time as any to try and bang this, and a few other projects, out. Allow me to explain my findings.

    I have a build date 04/97 540i, BW56369. The cluster I have is from a build date 06/04 X5 4.8is LE81450

    I have diagrams from both vehicles, but it would appear my diagram for the X5 cluster is incomplete. For the 540i I have pin outs of all three connectors. The black 18 pin, white 18 pin, and blue 26 pin.

    The X5 diagram is missing the black 18 pin connector. I should also note that on the harness in my car and the harness in the diagram I am missing two pins, CAN Bus High and Low on pins 8 and 9 respectively.

    When I plug the cluster into my car (my power supply for my test bench hasn't come in yet and I got excited) I have no tach signal, oil and coolant temp are pegged, as I would expect, and after a while I get the "Trans. Failsafe Prog" warning. I have to assume it's because of those missing CAN bus lines. Interestingly my diagram says those are mostly for ASC/DSC signal. not sure what to think. Now I should also mention that for some reason, all of my modules have taken the mileage from the X5 cluster, I only powered up the cluster, didn't even move an inch with it installed. the mileage from my car is 117340, the cluster reads something like 192k and some change.

    I know I need to wait for my INPA cable to arrive to get the fuel, tach and coolant to read correctly, and I also need to either man up and remove the pointers and m35080 and program it or find a way to program it through the processors on the back, that is my main concern as of right now.

    I should say, I'm 20, I'm an Electrical Engineering student, this isn't anything too far away from what I already do, but I'm practically broke. I don't exactly have the money to go and spend the $150-$300 programming fee. I understand that Blackknight530i does a great deal of this and I've heard he's a nice guy, but I only have the money to do this myself, I'm trying to get any advice I can to help.

    Any advice is appreciated,
    Andrew
    I replied to your PM, but I'll also reply here. Getting the 4.8is cluster to work in your pre-TU car for everything other than the oil temp stuff is trivial.

    Mileage correction would require a M35080VP programmer as the standard M35080 programmers won't work with the newer chips.

    As for the oil temp gauge and warm up lights, the only way you're going to get those to work is to build a module that takes an analog oil temp sensor signal and converts it to digital, then sends that info over the CAN bus using the proper IDs. That's a totally custom thing that isn't being discussed here and I don't have any info on it. The non-TU DME simply doesn't have the ability to send that information.

    Sent from my SM-G965U using Tapatalk

    -Paul
    2003 "M5" - Full M5 conversion, AMG C63S 6 piston front calipers, Porsche Panamera 4 piston rear calipers, GC Coilovers,
    Eibach ARBs, UUC Evo3/DSSR, Borla Exhaust w/Muffler Delete, BMW NBT with Carplay/Android Auto, Bi-Xenons, e38 Style 37 M-Pars, e60 Hubs 530i 6-speed swap build thread
    2005 Range Rover 4.6is (M62TU Powered) - 4.6is Engine Swap from X5, BMW NBT with Carplay/Android Auto
    2006 Porsche Cayman S - Soul Performance Competition Headers and Exhaust, H&R Coilovers, 718 Boxster Spyder wheels, Rennline 35mm rear spacers

  14. #714
    Join Date
    Jul 2007
    Location
    Philadelphia, PA
    Posts
    5,660
    My Cars
    2005 M3 & 2004 330i
    Quote Originally Posted by blackknight530i View Post
    Mileage correction would require a M35080VP programmer as the standard M35080 programmers won't work with the newer chips.
    Since his is from an 04 (assuming he noted month/year rather than year/month), he might get lucky. The one I got out of an 04 model had a standard m35080 6 (not V6 or VP)

  15. #715
    Join Date
    Sep 2001
    Location
    Coral Springs, FL
    Posts
    2,457
    My Cars
    E21,E38,E39,F10 M5
    First thing that came to mind for converting an analog signal to CAN is this:

    https://www.autosportlabs.com/produc...can-interface/

    AnalogX_store.jpg

    I've seen them used with Megasquirt installs on engine swaps of other cars, and they convert the signal nicely.

    I haven't tried to use it for the non-TU cluster, but if the pin-out is followed you should be able to tap it into CAN from the temp signal.

    Stancing is for drivers trapped in an abusive relationship of their own lives.

  16. #716
    Join Date
    Jul 2007
    Location
    Philadelphia, PA
    Posts
    5,660
    My Cars
    2005 M3 & 2004 330i
    Quote Originally Posted by Manny G. View Post
    First thing that came to mind for converting an analog signal to CAN is this:

    https://www.autosportlabs.com/produc...can-interface/

    AnalogX_store.jpg

    I've seen them used with Megasquirt installs on engine swaps of other cars, and they convert the signal nicely.

    I haven't tried to use it for the non-TU cluster, but if the pin-out is followed you should be able to tap it into CAN from the temp signal.
    Does the pre-facelift 540i use the CAN-bus for anything other than transmission control? If not something like this could well work. Though you could probably use an arduino to make something similar for less money.

  17. #717
    Join Date
    Nov 2010
    Location
    Charlotte, NC
    Posts
    9,266
    My Cars
    03 M5/05 RR/06 Cayman S
    Quote Originally Posted by TerraPhantm View Post
    Does the pre-facelift 540i use the CAN-bus for anything other than transmission control? If not something like this could well work. Though you could probably use an arduino to make something similar for less money.
    Arduino would probably be better as I'm sure you could then tell it the CAN ID to send the message to, which would make the cluster work without modification. The one Manny posted only sends out a generic CAN message for 0-5V and the device receiving it needs to translate and interpret it. I would think with the Arduino, you could do that translation internally and send out the proper CAN message.

    Also, I don't think the pre-facelifts use CAN for anything other than EGS communication as they use ASC and manual models don't even have the CAN wires in the cluster's blue connector at all to my recollection. That may be different on 98 models specifically, but I don't know for sure.

    If anyone ended up making one of these, I'm sure there would be several people interested in buying it as I've had requests from a lot of people with prefacelift 740/540s and any year 750s would would like a fully functional M5 cluster.
    Last edited by blackknight530i; 04-05-2020 at 01:42 PM.

    -Paul
    2003 "M5" - Full M5 conversion, AMG C63S 6 piston front calipers, Porsche Panamera 4 piston rear calipers, GC Coilovers,
    Eibach ARBs, UUC Evo3/DSSR, Borla Exhaust w/Muffler Delete, BMW NBT with Carplay/Android Auto, Bi-Xenons, e38 Style 37 M-Pars, e60 Hubs 530i 6-speed swap build thread
    2005 Range Rover 4.6is (M62TU Powered) - 4.6is Engine Swap from X5, BMW NBT with Carplay/Android Auto
    2006 Porsche Cayman S - Soul Performance Competition Headers and Exhaust, H&R Coilovers, 718 Boxster Spyder wheels, Rennline 35mm rear spacers

  18. #718
    Join Date
    Jul 2007
    Location
    Philadelphia, PA
    Posts
    5,660
    My Cars
    2005 M3 & 2004 330i
    Quote Originally Posted by blackknight530i View Post
    Arduino would probably be better as I'm sure you could then tell it the CAN ID to send the message to, which would make the cluster work without modification. The one Manny posted only sends out a generic CAN message for 0-5V and the device receiving it needs to translate and interpret it. I would think with the Arduino, you could do that translation internally and send out the proper CAN message.

    Also, I don't think the pre-facelifts use CAN for anything other than EGS communication as they use ASC and manual models don't even have the CAN wires in the cluster's blue connector at all to my recollection. That may be different on 98 models specifically, but I don't know for sure.

    If anyone ended up making one of these, I'm sure there would be several people interested in buying it as I've had requests from a lot of people with prefacelift 740/540s and any year 750s would would like a fully functional M5 cluster.
    If that’s the case I think this is quite doable with off the shelf hardware. If building in sufficient quantity, a custom board would probably be cheaper.

  19. #719
    Join Date
    Apr 2019
    Location
    New Jersey
    Posts
    85
    My Cars
    1997 E39 540i
    I have a 99 Pre-facelift 540 with the steptronic to compare my 97 automatic to. Or I should say I have my father’s 268k mile 99 touring that’s got a dead engine to compare my car to. That one actually has CAN Bus High and Low lines on the blue 18 pin connector. I have an ancient arduino sitting in its box that I’ve had for probably 8 years now, I’ll gladly brake that thing out and start toying with it if someone comes up with a solution.

    Thanks,
    Andrew
    Last edited by 97M62BimmerKid; 04-11-2020 at 03:20 PM.

  20. #720
    Join Date
    Jul 2007
    Location
    Philadelphia, PA
    Posts
    5,660
    My Cars
    2005 M3 & 2004 330i
    Quote Originally Posted by 97M62BimmerKid View Post
    I have a 99 Pre-facelift 540 with the steptronic to compare my 97 automatic to. Or I should say I have my father’s 268k mile 99 touring that’s got a dead engine to compare my car to. That one actually has CAN Bus High and Low lines on the blue 18 pin connector. I have an ancient arduino sitting in its box that I’ve had for probably 8 years now, I’ll gladly brake that thing out and start toying with it if someone comes up with a solution.

    Thanks,
    Andrew
    You would need to get a CAN-bus shield to do anything.

  21. #721
    Join Date
    Apr 2019
    Location
    New Jersey
    Posts
    85
    My Cars
    1997 E39 540i
    I would imagine so, I wasn’t expecting to just hook up a few wires and be off to the races, DIYing is almost always more complicated than that.

  22. #722
    Join Date
    Jul 2007
    Location
    Philadelphia, PA
    Posts
    5,660
    My Cars
    2005 M3 & 2004 330i
    Quote Originally Posted by 97M62BimmerKid View Post
    I would imagine so, I wasn’t expecting to just hook up a few wires and be off to the races, DIYing is almost always more complicated than that.
    Ha fair enough. With some of the PMs I get, you'd be surprised at what people think is possible or trivial. Just wanted to clarify

  23. #723
    Join Date
    Apr 2019
    Location
    New Jersey
    Posts
    85
    My Cars
    1997 E39 540i
    So let’s say I were to embark on trying to get this to work. I have very little idea as to how this works tbh. I barely have a solid grasp of the basics. All I know is that ones and zeros travel down the can bus high and low lines, high is the sending line and low is the return line so to speak. So if I were to populate the two pins on the blue 18-pin connector to an arduino with a CAN bus shield, what would be the next realistic step in this process, how would I be able to fetch the signal coming from the car and convert it to something the cluster can use?

    Thanks,
    Andrew

  24. #724
    Join Date
    Jul 2007
    Location
    Philadelphia, PA
    Posts
    5,660
    My Cars
    2005 M3 & 2004 330i
    Quote Originally Posted by 97M62BimmerKid View Post
    So let’s say I were to embark on trying to get this to work. I have very little idea as to how this works tbh. I barely have a solid grasp of the basics. All I know is that ones and zeros travel down the can bus high and low lines, high is the sending line and low is the return line so to speak. So if I were to populate the two pins on the blue 18-pin connector to an arduino with a CAN bus shield, what would be the next realistic step in this process, how would I be able to fetch the signal coming from the car and convert it to something the cluster can use?

    Thanks,
    Andrew
    Technically it's not send/receive lines. It's differential signalling. The difference between the two signals denotes a 1/0. And that happens in whatever pattern to generate a list of message IDs and transmitted messages, and all the modules have to be able to handle prioritizing and whatnot. But thankfully can tranceivers do all that nasty business for us and we're just effectively reading serial data out of them.

    So in NCS Expert, you'll find the following CAN parameters:

    CAN_INSTR2_SENDEN
    CAN_INSTR3_SENDEN
    CAN_GANGANZEIGE
    CAN_VERBRAUCH
    CAN_KUEHLMITTELTEMP
    CAN_DREHZAHL

    You'll notice none of those say oil temp or RPM warning field. So there's two possibilities: 1) The instrument cluster always processes the messages those are carried on or 2) Enabling one (or more) of those other flags is what does the trick. My bet is #2.

    Probably don't care about CAN_INSTR2_SENDEN or CAN_INSTR3_SENDEN -- those are messages sent *from* the instrument cluster, and we don't really need those for anything in this scenario.
    CAN_GANGANZEIGE is for the gear display, that'd be a message from the transmission - don't care about that either.

    So that leaves CAN_DREHZAHL (RPM), CAN_KUEHLMITTELTEMP (coolant temperature), and CAN_VERBRAUCH (fuel consumption)
    So I know from disassembling software that this generation BMW generally send the following three messages:
    0x316
    Code:
    byte 0
    Bit 0 - Some status DBW related, set to 0 if everything is running normally
    Bit 1 - Unused (in MSS54)
    Bit 2 - Set to 0 if ASC/DSC error, 1 otherwise
    Bit 3 - Set to 0 if manual, Set to 1 if SMG (on this DME, others may be different)
    Bit 4 - Set to bit 0 of md_st_eingriff (torque intervention status)
    Bit 5 - Set to bit 1 of md_st_eingriff
    Bit 6 - Set to 1 AC driver error
    Bit 7 - Set to 1 if MAF error
    byte 1 - md_ind_ne_ist -- current engine torque after interventions (in %)
    byte 2 - RPM LSB
    byte 3 - RPM MSB
    byte 4 - md_ind_ist -- current engine torque before interventions (in %)
    byte 5 - md_reib -- torque loss of consumers (alternator, ac, oil pump, etc.) (in %)
    byte 7 - md_ind_lm_ist -- theoretical engine torque from air mass, excluding igntion angle (in %)
    0x329
    Code:
    Byte 0:
    On my DME, that byte 0 constantly cycles between 0x11, 0x40, 0x80, and 0xDF. It looks like that 4th value is what can vary from engine to engine. On the MSS54, that 4th value is determined by ORing 0xC0 with a variable BMW calls "md_norm_can" which is taken directly from scalar called "K_MD_NORM" which is set to 0x1F on my DME. The math works out -- 0x1F OR 0xC0 = 0xDF. On a 330i, this 4th value is 0xD9 (so the OR'd value is 0x19). We'll get back to this for the MS43
    Byte 1 - Coolant Temp (ºC = 0.75*X - 48)
    Byte 2 - atmospheric pressure (mbar = 2x + 597)
    Byte 3
    bit 0 - Clutch switch (0 = engaged, 1 = disengage/neutral);
    bit 2 - Hardcoded to 1 (on MSS54, could be used on other DMEs)
    bit 4 - Possibly Motor Status (0 = on, 1 = off)
    bits 5, 6, 7 - Tank Evap duty cycle
    Byte 4 - Driver desired torque, relative (00 - FE)
    Byte 5 - Throttle position (00-FE).
    Byte 6
    bit 0 - Brake pedal depressed (0 = off, 1 = on)
    bit 1 - Brake LIght Switch Error (0 = off, 1 = error)
    bit 2 kickdown switch depressed (0 = off, 1 = kickdown)
    Byte 7 - unused
    0x545
    Code:
    Byte 0
    Bit 0 - unused
    Bit 1 - Check Engine light (0 = off, 1 = on)
    Bit 3 - Cruise Control Light (0 = off, 1 = on)
    Bit 4 - EML Light (0 = off, 1 = on)
    Bit 7 - Check Gas Cap light (0 = off, 1 = on)
    Byte 1 - Fuel Consumption LSB
    Byte 2 - Fuel Consumption MSB (Values just cycle from 0 to FFFF then start over at zero. Fuel consumiption is the rate of change.)
    Byte 3
    bit 0 - Oil level error if motortype = S62
    bit 1 - Oil Level Warning
    bit 2 - Oil Level Error
    bit 3 - Overheat Light
    bit 4, 5, 6 - M3/M5 RPM Warning Field (refer to tables below)
    Byte 4 - Oil Temperature (ºC = X - 48)
    Byte 5 - Charge Light (0 = off, 1 = on; only used on some DMEs)
    Byte 6 - CSL Oil Level (format unclear)
    Byte 7 - Possibly MSS54 TPM Trigger
    
    RPM Warning Field Table (E46 M3 Cluster)
    Code:
    LED Value (dec) Value (bin) Left shift
    7500 0 0 #000####
    7000 1 1 #001####
    6500 2 10 #010####
    6000 3 11 #011####
    5500 4 100 #100####
    5000 5 101 #101####
    4500 6 110 #110####
    4000 7 111 #111####
    
    Or RPM Warning Field Table (E39 M5 Cluster)
    LED Value (dec) Value (bin) Left shift
    6500 0 0 #000####
    5500 1 1 #001####
    5000 2 10 #010####
    4500 3 11 #011####
    4000 4 100 #100####
    (bits 5-7 are unused on the E39 m5 cluster)
    Notice the first message I list contains RPM, second message contains coolant temp, last message contains fuel consumption.

    My guess would be that enabling the functions in NCS Expert would cause those specific messages to become active and handle their relative functionality.

    So that means we would have to have the arduino handle the following:

    Check engine light
    Cruise control light
    EML light (Don't know if that's used for anything on a non-DBW car)
    Check gas cap light (Don't know if pre-ME7.2 cars even use such a light)
    Fuel consumption
    Oil level warning (again, don't know if that's a thing on the early cars)
    Coolant overheat light
    Oil tempeature
    Oil temperature warning LEDs

    Charge light, CSL stuff, and M3 TPMS stuff will not be relevant to an E39 cluster.

    All the various lights are easy enough. I assume those are wires directly going to the E39 cluster currently. So all you'd really have to do is hook those wires up to the arduino's inputs (bumping voltage down before hand if they're 12v signals), and then setting the CAN message based on that input.

    Oil temp we'll be interpretting an oil temperature sensor and then sending the oil temperature on that message. And the RPM lights you can code to light up however you want based on the oil temp you're reading.

    The hard one is fuel consumption. It is apparently the rate of change of value that tells the cluster what the fuel consumption is. I'm not quite sure how to interpret the analog signal that is presumably coming from the DME and turn that into the rate of change that the CAN-mode expects.

    Obviously the M5 cluster doesn't have a fuel consumption gauge, but if you want your mpg calculations to be right, gotta figure that out.

    So basically you'd be filling your message with those values every loop and sending a message to the DME at x interval (I don't remember how often that message is expected off hand, but it's easy enough to log/measure).

  25. #725
    Join Date
    Nov 2010
    Location
    Charlotte, NC
    Posts
    9,266
    My Cars
    03 M5/05 RR/06 Cayman S
    Quote Originally Posted by TerraPhantm View Post
    Technically it's not send/receive lines. It's differential signalling. The difference between the two signals denotes a 1/0. And that happens in whatever pattern to generate a list of message IDs and transmitted messages, and all the modules have to be able to handle prioritizing and whatnot. But thankfully can tranceivers do all that nasty business for us and we're just effectively reading serial data out of them.

    So in NCS Expert, you'll find the following CAN parameters:

    CAN_INSTR2_SENDEN
    CAN_INSTR3_SENDEN
    CAN_GANGANZEIGE
    CAN_VERBRAUCH
    CAN_KUEHLMITTELTEMP
    CAN_DREHZAHL

    You'll notice none of those say oil temp or RPM warning field. So there's two possibilities: 1) The instrument cluster always processes the messages those are carried on or 2) Enabling one (or more) of those other flags is what does the trick. My bet is #2.

    Probably don't care about CAN_INSTR2_SENDEN or CAN_INSTR3_SENDEN -- those are messages sent *from* the instrument cluster, and we don't really need those for anything in this scenario.
    CAN_GANGANZEIGE is for the gear display, that'd be a message from the transmission - don't care about that either.

    So that leaves CAN_DREHZAHL (RPM), CAN_KUEHLMITTELTEMP (coolant temperature), and CAN_VERBRAUCH (fuel consumption)
    So I know from disassembling software that this generation BMW generally send the following three messages:
    0x316
    Code:
    byte 0
    Bit 0 - Some status DBW related, set to 0 if everything is running normally
    Bit 1 - Unused (in MSS54)
    Bit 2 - Set to 0 if ASC/DSC error, 1 otherwise
    Bit 3 - Set to 0 if manual, Set to 1 if SMG (on this DME, others may be different)
    Bit 4 - Set to bit 0 of md_st_eingriff (torque intervention status)
    Bit 5 - Set to bit 1 of md_st_eingriff
    Bit 6 - Set to 1 AC driver error
    Bit 7 - Set to 1 if MAF error
    byte 1 - md_ind_ne_ist -- current engine torque after interventions (in %)
    byte 2 - RPM LSB
    byte 3 - RPM MSB
    byte 4 - md_ind_ist -- current engine torque before interventions (in %)
    byte 5 - md_reib -- torque loss of consumers (alternator, ac, oil pump, etc.) (in %)
    byte 7 - md_ind_lm_ist -- theoretical engine torque from air mass, excluding igntion angle (in %)
    0x329
    Code:
    Byte 0:
    On my DME, that byte 0 constantly cycles between 0x11, 0x40, 0x80, and 0xDF. It looks like that 4th value is what can vary from engine to engine. On the MSS54, that 4th value is determined by ORing 0xC0 with a variable BMW calls "md_norm_can" which is taken directly from scalar called "K_MD_NORM" which is set to 0x1F on my DME. The math works out -- 0x1F OR 0xC0 = 0xDF. On a 330i, this 4th value is 0xD9 (so the OR'd value is 0x19). We'll get back to this for the MS43
    Byte 1 - Coolant Temp (ºC = 0.75*X - 48)
    Byte 2 - atmospheric pressure (mbar = 2x + 597)
    Byte 3
    bit 0 - Clutch switch (0 = engaged, 1 = disengage/neutral);
    bit 2 - Hardcoded to 1 (on MSS54, could be used on other DMEs)
    bit 4 - Possibly Motor Status (0 = on, 1 = off)
    bits 5, 6, 7 - Tank Evap duty cycle
    Byte 4 - Driver desired torque, relative (00 - FE)
    Byte 5 - Throttle position (00-FE).
    Byte 6
    bit 0 - Brake pedal depressed (0 = off, 1 = on)
    bit 1 - Brake LIght Switch Error (0 = off, 1 = error)
    bit 2 kickdown switch depressed (0 = off, 1 = kickdown)
    Byte 7 - unused
    0x545
    Code:
    Byte 0
    Bit 0 - unused
    Bit 1 - Check Engine light (0 = off, 1 = on)
    Bit 3 - Cruise Control Light (0 = off, 1 = on)
    Bit 4 - EML Light (0 = off, 1 = on)
    Bit 7 - Check Gas Cap light (0 = off, 1 = on)
    Byte 1 - Fuel Consumption LSB
    Byte 2 - Fuel Consumption MSB (Values just cycle from 0 to FFFF then start over at zero. Fuel consumiption is the rate of change.)
    Byte 3
    bit 0 - Oil level error if motortype = S62
    bit 1 - Oil Level Warning
    bit 2 - Oil Level Error
    bit 3 - Overheat Light
    bit 4, 5, 6 - M3/M5 RPM Warning Field (refer to tables below)
    Byte 4 - Oil Temperature (ºC = X - 48)
    Byte 5 - Charge Light (0 = off, 1 = on; only used on some DMEs)
    Byte 6 - CSL Oil Level (format unclear)
    Byte 7 - Possibly MSS54 TPM Trigger
    
    RPM Warning Field Table (E46 M3 Cluster)
    Code:
    LED Value (dec) Value (bin) Left shift
    7500 0 0 #000####
    7000 1 1 #001####
    6500 2 10 #010####
    6000 3 11 #011####
    5500 4 100 #100####
    5000 5 101 #101####
    4500 6 110 #110####
    4000 7 111 #111####
    
    Or RPM Warning Field Table (E39 M5 Cluster)
    LED Value (dec) Value (bin) Left shift
    6500 0 0 #000####
    5500 1 1 #001####
    5000 2 10 #010####
    4500 3 11 #011####
    4000 4 100 #100####
    (bits 5-7 are unused on the E39 m5 cluster)
    Notice the first message I list contains RPM, second message contains coolant temp, last message contains fuel consumption.

    My guess would be that enabling the functions in NCS Expert would cause those specific messages to become active and handle their relative functionality.

    So that means we would have to have the arduino handle the following:

    Check engine light
    Cruise control light
    EML light (Don't know if that's used for anything on a non-DBW car)
    Check gas cap light (Don't know if pre-ME7.2 cars even use such a light)
    Fuel consumption
    Oil level warning (again, don't know if that's a thing on the early cars)
    Coolant overheat light
    Oil tempeature
    Oil temperature warning LEDs

    Charge light, CSL stuff, and M3 TPMS stuff will not be relevant to an E39 cluster.

    All the various lights are easy enough. I assume those are wires directly going to the E39 cluster currently. So all you'd really have to do is hook those wires up to the arduino's inputs (bumping voltage down before hand if they're 12v signals), and then setting the CAN message based on that input.

    Oil temp we'll be interpretting an oil temperature sensor and then sending the oil temperature on that message. And the RPM lights you can code to light up however you want based on the oil temp you're reading.

    The hard one is fuel consumption. It is apparently the rate of change of value that tells the cluster what the fuel consumption is. I'm not quite sure how to interpret the analog signal that is presumably coming from the DME and turn that into the rate of change that the CAN-mode expects.

    Obviously the M5 cluster doesn't have a fuel consumption gauge, but if you want your mpg calculations to be right, gotta figure that out.

    So basically you'd be filling your message with those values every loop and sending a message to the DME at x interval (I don't remember how often that message is expected off hand, but it's easy enough to log/measure).
    Got a couple questions for you. Would the fuel consumption really be off by using the CAN message since pre-TU cars have the OBC that does that calculation anyways?

    Also, slightly unrelated, but were you ever able to determine if the MSS54 and MSS52 send the oil temp data to the cluster differently? I've got a friend of mine that did a S54 swap into his e39 wagon and he installed one of my M5 clusters and we noticed that it doesn't read oil temp at all from the DME. Basically, the gauge does the opposite of the M3 cluster when you start the car and goes to full hot with no warm up lights on. In the test menu 16, I get 207*C, so it seems like it's sending temperature, but the wrong temp. This is with it on the bench and I think it does the same in the car.

    -Paul
    2003 "M5" - Full M5 conversion, AMG C63S 6 piston front calipers, Porsche Panamera 4 piston rear calipers, GC Coilovers,
    Eibach ARBs, UUC Evo3/DSSR, Borla Exhaust w/Muffler Delete, BMW NBT with Carplay/Android Auto, Bi-Xenons, e38 Style 37 M-Pars, e60 Hubs 530i 6-speed swap build thread
    2005 Range Rover 4.6is (M62TU Powered) - 4.6is Engine Swap from X5, BMW NBT with Carplay/Android Auto
    2006 Porsche Cayman S - Soul Performance Competition Headers and Exhaust, H&R Coilovers, 718 Boxster Spyder wheels, Rennline 35mm rear spacers

Page 29 of 31 FirstFirst ... 419202122232425262728293031 LastLast

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •