TunerPro V5.00.7330.00 Motronic 1.3 Automatic Axis Info

Discuss Bosch (Porsche, BMW, Volvo, etc) tuning topics here. Request definitions, discuss parameters, etc.

Moderators: robertisaar, dex

Post Reply
DmcL
Posts: 73
Joined: Wed Dec 08, 2010 11:55 am
Location: Northern Ireland
Contact:

TunerPro V5.00.7330.00 Motronic 1.3 Automatic Axis Info

Post by DmcL »

right.. heres how far i have got into figuring out how to have automatic axis info on WOT ignition map 1, same will apply for other maps i just chose to start with a WOT map since its only got 1 string of axis info. for doing this with a 3D map like part throttle u would just do the same thing but for both columns and rows and would set the start of the axis data for each axis accordingly.

in this example im using a 173 BIN file with software number 1 267 355 705. im using WinOLS to look at the raw data and see where the start address is for the axis data tho if u know what ur looking for u can use any hex editor for this.

here is what im starting with (note: RPM axis has been edited in the file im using here so wont be the same on yours but will still be the same start location in hex). ive calculated the RPM points and manually entered them into the XDF parameter info for this map which gives me this:

Image

to set for automatic axis info on any 173 BIN file with the WOT ignition 1 map in the same location u will want to set the label source to "internal, pure" which will then allow u to add the location of the axis info for this map which is shown above in the blue part at the bottom of the picture above. once u add the start address of the axis info then set "data size" to 8 bit and set "address step" to 1. if u then click apply u will end up with this:

Image

this is now displaying the actual axis data that is in the BIN file as u can see above.

the only part i do not know yet and am hoping someone here will be able to help with is coming up with the conversion equation to calculate the axis data into RPM. it looks like it will require creating additional arguements in the XDF parameter info but im not sure how to do this.. it will need to have an equation that subtracts the axis data from 256 starting with the "86" located at the highest RPM end of the map and then multiply it by 40 then for the next axis data point down from that it will need to divide the current axis data by 40 then subtract the current raw axis data from the sum of the previous equation and then multiply that by 40 to give the second points RPM value and so on untill u reach the lowest RPM axis point on the map.

anyone have any idea how to create such an equation?

for an explanation of how to calculate RPM points from RPM axis data see here:
http://tunerpro.net/forum/viewtopic.php?t=2271

for other axis data the equation will be different, u multiply the sum of each axis equation by 40 here for RPM value but for temperature or whatever other axis information u will have to add/subtract/multiply/divide by whatever it is for working out that axis data in relevant units for the axis in the XDF.
EthosMotorsports
beepee
Posts: 3
Joined: Sun Apr 03, 2011 6:49 pm

bosch axis

Post by beepee »

Here's how I did the RPM axis for LH2.4 which is similar... I did most of it in Notepad+ :shock:

This is the equation for the "highest" RPM cell. The axis starts at 0x3971. You have to repeat this with one less variable, for every cell until you get to the first...

Code: Select all

      <MATH row="1" col="1" equation="ROUND&#40;150000 / &#40;POW&#40;2;&#40;&#40;255-&#40;A+B+C+D+E+F+G+H+I+J+K+L+M+N+O+X&#41;+128&#41;/32&#41;&#41; * 64&#41;;0&#41;*100">
        <VAR id="A" type="address" address="0x3980" />
        <VAR id="B" type="address" address="0x397F" />
        <VAR id="C" type="address" address="0x397E" />
        <VAR id="D" type="address" address="0x397D" />
        <VAR id="E" type="address" address="0x397C" />
        <VAR id="F" type="address" address="0x397B" />
        <VAR id="G" type="address" address="0x397A" />
        <VAR id="H" type="address" address="0x3979" />
        <VAR id="I" type="address" address="0x3978" />
        <VAR id="J" type="address" address="0x3977" />
        <VAR id="K" type="address" address="0x3976" />
        <VAR id="L" type="address" address="0x3975" />
        <VAR id="M" type="address" address="0x3974" />
        <VAR id="N" type="address" address="0x3973" />
        <VAR id="O" type="address" address="0x3972" />
        <VAR id="X" />
      </MATH>
I have tried using the I wish there was an way to SUM() using a memory range as a parameter... or better yet a way to reference memory relative to a table start :wink:

I even tried to make a terrible nasty mess of nested IFs and CELLs and SUMs, but I kept crashing TunerPro :x
User avatar
Mangus
TunerPro Author
Posts: 1926
Joined: Wed Mar 19, 2003 1:49 pm

Post by Mangus »

http://www.tunerpro.net/examples.htm

Now, in making this example, I found a hell of a bug in TunerPro that I need to fix. Short of it is, don't use a normal variable (e.g. 'X') to represent "this." Instead, use the THIS() function like the example. I'll figure out a fix.
***************************************
TunerPro Author
1989 Trans Am
revlimit
Posts: 202
Joined: Thu Mar 19, 2009 6:41 pm

Post by revlimit »

Mangus no wonder why I could not get this to work, and I even told you about it, long ago
User avatar
Mangus
TunerPro Author
Posts: 1926
Joined: Wed Mar 19, 2003 1:49 pm

Post by Mangus »

revlimit wrote:Mangus no wonder why I could not get this to work, and I even told you about it, long ago
Actually, I do wonder why you couldn't get it to work, considering I sent you an example similar to the one I linked to above when you asked about it originally.
***************************************
TunerPro Author
1989 Trans Am
DmcL
Posts: 73
Joined: Wed Dec 08, 2010 11:55 am
Location: Northern Ireland
Contact:

Post by DmcL »

ladies.. what matters is we can do it now and thats one more thing we can add to our XDF files for a better XDF and easier tuning. :P
EthosMotorsports
ziggy471
Posts: 2
Joined: Sat May 21, 2011 9:50 am

Post by ziggy471 »

First off Mangus, I love the software, just started using it on Wednesday, and almost have all the tables mapped for my 1985.5 Porsche 944NA. As soon as the car is running again, have a fuel line and regulator issue right now, I'll be tuning it with TunerPro, since it's the only one I've found that runs in Linux.

I think what Dmcl was attempting to do was to create Axis Labels via an automated means. You're examples are great, but won't work for a multi-dimensional table, unless I'm missing something. Here's is a simple example of how I was able to accomplish it using nested IF statements. I know, it's kind of ugly, but it works. Only issue I've noticed is that TunerPro sometimes gives me errors with the conversion, even though there are none.

Simple 3x3 Bosch Motronic 3.1 table:
A, B and C are defined as 'Raw Data at Address', with A being the first cell and C the last.

Rows - Throttle position

Code: Select all

IF&#40;INDEX&#40;&#41;==2;&#40;256-C&#41;*0.715;IF&#40;INDEX&#40;&#41;==1;&#40;&#40;256-C&#41;*0.715&#41;-&#40;B*0.715&#41;;IF&#40;INDEX&#40;&#41;==0;&#40;&#40;&#40;256-C&#41;*0.715&#41;-&#40;B*0.715&#41;&#41;-&#40;A*0.715&#41;;0&#41;&#41;&#41;
Cols - RPM

Code: Select all

IF&#40;INDEX&#40;&#41;==2;&#40;256-C&#41;*40;IF&#40;INDEX&#40;&#41;==1;&#40;&#40;256-C&#41;*40&#41;-&#40;B*40&#41;;IF&#40;INDEX&#40;&#41;==0;&#40;&#40;&#40;256-C&#41;*40&#41;-&#40;B*40&#41;&#41;-&#40;A*40&#41;;0&#41;&#41;&#41;
Imagine what it would look like for a 12x12 Part Throttle table. :shock:


Z
Last edited by ziggy471 on Sat May 21, 2011 9:57 am, edited 1 time in total.
User avatar
Mangus
TunerPro Author
Posts: 1926
Joined: Wed Mar 19, 2003 1:49 pm

Post by Mangus »

The example that I posted defines a table that represents an axis. Once that table is defined, in the 3D table that uses the axis, set the axis type to "linked - scale" and point to the axis table.

It can be done more cleanly than with nested IFs. Also, with IFs, you need to be careful about circular references.

But in the end, whatever you find works for your needs works for me. =)

-Mark
***************************************
TunerPro Author
1989 Trans Am
ziggy471
Posts: 2
Joined: Sat May 21, 2011 9:50 am

Post by ziggy471 »

Mangus wrote:The example that I posted defines a table that represents an axis. Once that table is defined, in the 3D table that uses the axis, set the axis type to "linked - scale" and point to the axis table.

It can be done more cleanly than with nested IFs. Also, with IFs, you need to be careful about circular references.

But in the end, whatever you find works for your needs works for me. =)

-Mark
So in other words, I did miss something. lol

That's why I stated I just started with it a couple days ago, just over 2 to be exact. Thanks for the clarification, that's much cleaner than what I figured out.

As for the circular reference, yeah I got good at that one, hence defining direct references. ;)


Z
fabe77
Posts: 2
Joined: Fri Jan 01, 2010 7:03 am

Post by fabe77 »

Mangus wrote:http://www.tunerpro.net/examples.htm

Now, in making this example, I found a hell of a bug in TunerPro that I need to fix. Short of it is, don't use a normal variable (e.g. 'X') to represent "this." Instead, use the THIS() function like the example. I'll figure out a fix.
Thanks!!!
Good news for bosch tuner's!
Post Reply