Home Forums Articles How To's FAQ Register
Go Back   Xoutpost.com > BMW SAV Forums > X5 (E53) Forum
Arnott
User Name
Password
Member List Premier Membership Search Today's Posts Mark Forums Read

Xoutpost server transfer and maintenance is occurring....
Xoutpost is currently undergoing a planned server migration.... stay tuned for new developments.... sincerely, the management


Reply
 
LinkBack Thread Tools Display Modes
  #51  
Old 06-02-2019, 08:51 AM
Overboost's Avatar
Member
 
Join Date: Apr 2006
Location: Huntersville, NC
Posts: 3,266
Overboost is on a distinguished road
Quote:
Originally Posted by oldskewel View Post
I got the PA Soft running earlier, and am having some questions about the gauge programming.

First, general question, when you say "0x0F0 rolling into 0x100" do you mean that the 12-element byte array that you list is present in consecutive elements spread across those two 16-element rows? I think yes, but just checking. For example, my first appearance looks like:
0x0F0 08 45 14 E8 27 0F 5E 32 C9 4B C9 73 36 78 6A 7D
0X100 FF ...


Then regarding the values found in there, it looks like there are different values found by overboost, crowz, and now me. Here's what I've found reported here, plus what I found on my 2001 3.0i with high cluster.

0F 62 32 CB 4B CB 73 38 78 6A 7D FF overboost original 2004 3.0i high
0F 65 32 D0 4B D0 73 38 78 69 7D FF crowz original
0F 5E 32 C9 4B C9 73 36 78 6A 7D FF oldskewel original 2001 3.0i high

The fact that these arrays do not match raises some concern for me, and I figured I should think before bricking my car.

6 of the 12 values in each array seem to map to meaningful values, as I'll write out here:
0F 62 32 CB 4B CB 73 38 78 6A 7D FF overboost
0F 65 32 D0 4B D0 73 38 78 69 7D FF crowz
0F 5E 32 C9 4B C9 73 36 78 6A 7D FF oldskewel
15 -- 50 -- 75 -- 115 -- 120 -- 125 -- hex to Decimal (*C) conversions. meaningful values shown, others left as "--"

It looks like those 6 break point temps all match for all 3, as do some of the others. So if it is true that the 6 other ("--") values don't matter, then the 3 original arrays do match between overboost, crowz, and me.

The gauge visualizations show 8 total values, but I think I figured this one out. The two extra ones (e.g., 60*C and 118*C) are not actual break points. They are interpolated, which is why they show in light gray in the visualization. So there are only 6 actual values to adjust.

So I think I've figured things out as I have carefully composed this question. I'm thinking I should leave the ("--") values as is, and modify only the 6 meaningful breakpoint values, making sure to make the change in both places this array appears.

Sound good?
Good morning oldskewel. I can only assume your 2001 with High Cluster is the same and the numbers you posted should be fine.

First thing to do is save your original .bin so if it gets sideways, you have a way back.

Second is to remember you have 2 lines of code that need to be changed. 0x0F0 rolling into 0x100 and 0x290 rolling into 0x02A0. This will keep the checksum correct.

I think you only need to change 5 hexadecimal values as I did.

0F 5E 32 C9 4B C9 73 36 78 6A 7D FF original
0F 5E 3C C9 55 C9 5F 36 6E 6A 73 FF modified

1) Click on IKE.
2) Click "Read EEPROM"
3) Hex editor functions are in the lower left hand corner. Click the floppy disk icon to save the factory loaded file onto your desktop as backup.
4) Make revisions from "factory" values to "revised" values shown above: Find the corresponding offset and move the cursor over the bytes to be revised. You can use arrow keys to move the cursor as well.
5) Click "Write EEPROM." Your cluster will flash and beep several times after completion -- and like magic, your gauge will now reflect more accurately what's happening under the hood.
6) You will need to reset you time and date after the cluster EEPROM has been flashed
Reply With Quote

Sponsored Links

  #52  
Old 06-02-2019, 03:40 PM
Member
 
Join Date: Nov 2014
Location: SF Bay Area
Posts: 1,423
oldskewel is on a distinguished road
It all worked.

To clarify for others on a few things that are not clearly stated anywhere, that I can find...

On those nice graphical gauges you'll see on threads like this and others, there are 6 breakpoints that can be set. Two of the 8 numbers, printed in gray, are not settable. They are just interpolated for the graphics.

From looking on other threads, it appears that different (not E53, or post-facelift E53, even high vs. low cluster may be a factor) BMWs will have a different arrangement for these 6 values, e.g., they may all be consecutive in the EEPROM. But for my 2001 E53 3.0i with the high cluster, the 6 values (hexadecimal representation of the *C value of the breakpoint) are listed in every other element in an array of 12 values (2 posts earlier). The in-between values (between every other) vary between the 3 different examples I found. No idea what they mean, if anything. Other threads for other BMWs talk as if they are some representation of angle, but that is definitely not the case for my values. I left all those in-between values untouched, only editing the 6 true breakpoint values.

This 12-element array is repeated twice within the EEPROM. Both arrays must be found and edited, and must match eachother - the "checksum" (not really) is done by having an entire second copy.

In the PA Soft 1.4 EEPROM editor, each row contains 16 elements (bytes), and the 12-element array for the temp gauge will be / may be / was for me spread over two rows in each of the two locations in EEPROM. So don't expect the first element in the 12-element array to be the first element in a row.

Similarly, the in-between values are not consistent between the 3 examples I found (crowz, overboost, oldskewel), so you can't search the whole EEPROM for a segment and expect to find it (like I tried and failed at - made tougher since I was not sure if I was using the search function wrong, etc.).

So editing those 6 values within the 12-element array will let you customize your temp gauge however you like.

It is said and implied in a few places that the 3rd and 4th of those 6 values correspond to the beginning and ending temps in a buffer that points to a single angle = straight up. This is the infamous "buffer." So it is said that between 75*C and 115*C (the original settings) the needle points straight up at this single point. I don't know if that is an exaggeration (i.e., single point vs. truly a small linear range, for example as is shown in the graphic). I've seen some advocate to set both ends of that buffer with the same value, to basically mean it's a point, rather than a buffer. Not sure what to believe and not wanting to make it more of a research project, I set those values to 94 and 96*C. Not quite a point in case dividing by zero would blow up my car. And believing the thermostat opens around 95*C, I figured straight up would be good at that temp (which is also the midpoint of the original 75-115 buffer).

Figuring out all the above to a level of confidence needed before implementing it took some time. Hopefully these notes will help someone else.

=========

However, unlike ^^^that^^^ research project (confirming exactly what EEPROM values to edit), installing and using PA Soft 1.4 was definitely not a research project. I wish I had got and installed it years ago. I bought something called BMW Scanner 1.4 on eBay:
https://www.ebay.com/itm/Programmer-...3/132853106131

Searching eBay for the 1.4 BMW Scanner will find it. I paid $12. Was supposed to come from China, but somehow mine arrived 3 days later from within CA. That eBay listing very clearly says that it will only work on Windows XP, but I did not try that since it worked fine on my Win10.

Then these instructions:
https://forum.e46fanatics.com/showpo...72&postcount=1
Work perfectly. No need think, guess, iterate, experiment. I just followed them exactly (despite the post being 7 years old), using my completely normal Win10 x64 laptop (about as normal as you can get), and it installed, ran, etc.

Reading / clearing errors (including some my Foxwell NT520Pro did not find), editing EEPROM, etc. all worked exactly as it was supposed to.

I had held off for a few years on any programming solutions like this since they always seem to be research projects just to get the thing installed. Believe it or not, it took about an hour to get my Foxwell going (registering myself, registering my device, learning that there are two different things to register, checking that the software is updated, etc. - it is just not clear and accurate, guessing is required), but this BMW Scanner 1.4 was up and running in 15 minutes.
__________________
2001 X5 3.0i, 203k miles, AT, owned since 2014

Last edited by oldskewel; 06-02-2019 at 03:56 PM.
Reply With Quote
  #53  
Old 06-02-2019, 03:59 PM
Overboost's Avatar
Member
 
Join Date: Apr 2006
Location: Huntersville, NC
Posts: 3,266
Overboost is on a distinguished road
Glad it all worked! Posting your original hex numbers and modified numbers may be helpful for future reference by those modifying their temp gauge buffers.

I think because you have a high cluster, you may be able to code the LCM overheating warning gong to 115C like we did as well. However, you will need NCS Expert and NCS Dummy for this coding.

https://xoutpost.com/1150096-post81.html

So it seems as though we do have an alarm for overheating engine on the high clusters which would be a gong and a text message in the cluster coming from the LCM as per wpoll's advice. I looked at my trace file for my C22 LCM and found the following.

KUEHLMITTELTEMP = melden (reported)
(CHECK CONTROL FOR COOLANT TEMPERATURE)

KUEHLMITTELUEBERTEMP_CAN = activ
(CAN-BUS COOLANT OVERHEATING)

MOTOR_UEBERTEMP = 125_grad_celsius - 125 ºc (257 ºf)
with an option of 130_grad_celsius - 130 ºC (266 ºf)
(ENGINE OVERHEATING [TEMPERATURE_ºC=DATA])

So if MOTOR_UEBERTEMP are the alarm thresholds:

I will add another parameter to MOTOR_UEBERTEMP:

115_grad_celsius - 115 ºc (239 ºf)

Open up the LCM.Cxx file with NCS Dummy without loading any FSW_PSW files, go down to MOTOR_UEBERTEMP, right click it, and click "add parameter". Name it whatever you want, and under data put the hex value of the temp alarm you want. Then click on module -> update module.

You will be able to select that new parameter when coding the LCM now.


Reply With Quote
  #54  
Old 06-02-2019, 05:38 PM
Member
 
Join Date: Nov 2014
Location: SF Bay Area
Posts: 1,423
oldskewel is on a distinguished road
Quote:
Originally Posted by Overboost View Post
Glad it all worked! Posting your original hex numbers and modified numbers may be helpful for future reference by those modifying their temp gauge buffers....
my 2001 E53 3.0i, high cluster, build date 6/2001

original 12-element array:
0F 5E 32 C9 4B C9 73 36 78 6A 7D FF

updated 12-element array:
0F 5E 3C C9 5E C9 60 36 6E 6A 73 FF

My earlier post has more info, comparison with crowz and overboost values, etc.

With this change, I moved the breakpoints
from
15 - 50 - 75 - 115 - 120 - 125 -
to
15 - 60 - 94 - 96 - 110 - 115 -

But I will see how this runs and may change it.

On the high-cluster E53s, there is no warning light built into the gauge, as there is on the low-cluster ones. As overboost mentions, there is a gong and warning message.
__________________
2001 X5 3.0i, 203k miles, AT, owned since 2014
Reply With Quote
  #55  
Old 06-02-2019, 06:06 PM
Overboost's Avatar
Member
 
Join Date: Apr 2006
Location: Huntersville, NC
Posts: 3,266
Overboost is on a distinguished road
Great information for our members oldskewel. Thank you!
Reply With Quote
  #56  
Old 11-22-2020, 03:15 PM
Member
 
Join Date: Oct 2018
Location: Europe
Posts: 15
zboost is on a distinguished road
Just in case someone hasn't saw the other topic a link to my post about easy recoding the temp gauge is here https://xoutpost.com/1195086-post174.html
Reply With Quote
Reply

Bookmarks

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On





All times are GMT -4. The time now is 11:36 AM.
vBulletin, Copyright 2024, Jelsoft Enterprises Ltd. SEO by vBSEO 3.6.0
© 2017 Xoutpost.com. All rights reserved. Xoutpost.com is a private enthusiast site not associated with BMW AG.
The BMW name, marks, M stripe logo, and Roundel logo as well as X3, X5 and X6 designations used in the pages of this Web Site are the property of BMW AG.
This web site is not sponsored or affiliated in any way with BMW AG or any of its subsidiaries.