Bosch ECU - Problem with Row Labels

Discuss anything TunerPro related.

Moderators: Mangus, robertisaar, dex

Post Reply
ipejasinovic
Posts: 5
Joined: Thu Jun 24, 2010 3:32 am

Bosch ECU - Problem with Row Labels

Post by ipejasinovic »

Hi,

I tried to develop a XDF file for some Bosch ECU from Audi, but I have a weird problem. I can't populate Row Labels right because some strange Bosch function. I need get RPM values from bin file and this is how Row labels should be populated:

Row[1].Label = (Bin.Value[ADDR] + 0D) * 40;
Row[2].Label = (Bin.Value[ADDR + 1] * 40) + Row[1].Label;
Row[3].Label = (Bin.Value[ADDR + 2] * 40) + Row[2].Label;
etc...

Is it possible to this in TunerPro?

BTW, this is what "Eprom, subtract" option in WinOLS does.
Laimis
Posts: 16
Joined: Thu May 14, 2009 12:08 pm

Post by Laimis »

You can always write axis values manualy..
yoda69
Posts: 31
Joined: Wed Dec 09, 2009 1:06 pm
Location: Australia

Post by yoda69 »

This is a similar problem to what I've been having in some Aussie GM ecu's. I've added it into the feature suggestions http://forum.tunerpro.net/viewtopic.php?t=2088, hopefully the more people requesting it, the more chance we have of getting it. In the meantime I have been manually configuring.

yoda69
ipejasinovic
Posts: 5
Joined: Thu Jun 24, 2010 3:32 am

Post by ipejasinovic »

@Laimis
I can manually enter axis values, but I'm not sure are they same for each car with that ECU.

@yoda69
Yes, it's similar problem.
robertisaar
Author of Defs
Posts: 962
Joined: Sat Feb 21, 2009 3:18 pm
Location: Camden, MI

Post by robertisaar »

i believe this is what the "internal, pure" labeling option is for, no?
ipejasinovic
Posts: 5
Joined: Thu Jun 24, 2010 3:32 am

Post by ipejasinovic »

Yes, for reading data from binary file, but that data isn't just representation of RPMs for e.g. That data are some increments and how to use them, I described in first post.

BTW, here are screenshots. Same map in WinOLS and TunerPro.

Wrong axis (TunerPro)
Image

Good axis (WinOLS)
Image
Last edited by ipejasinovic on Fri Jun 25, 2010 1:46 pm, edited 1 time in total.
yoda69
Posts: 31
Joined: Wed Dec 09, 2009 1:06 pm
Location: Australia

Post by yoda69 »

I tried this, but from what I can see, it starts at a given address then goes forward or back so many bytes to the next address, it doesn't actually add to the first value. The ones in mine are a little more complicated as I have a start address + constant for the first table, the second table then starts off where the first table ended, and so on up to Table 8. I'll send Mark some detailed info of what I'm trying to do, butunderstand that there are many more other features that he is working on that are probably more important.

yoda69
revlimit
Posts: 202
Joined: Thu Mar 19, 2009 6:41 pm

Post by revlimit »

Pejasinovicu pickin dusmanine!

Tunepro does not support Bosch program scale labeling calculation, you will have to calculate them yourself and insert them in manualy. I made most of Bosch XDFs on this forum.
ipejasinovic
Posts: 5
Joined: Thu Jun 24, 2010 3:32 am

Post by ipejasinovic »

@revlimit
Znamo li se možda?
prj
Posts: 21
Joined: Mon Aug 02, 2010 11:40 pm

Post by prj »

Because TunerPro uses XML, you can write (I did...) a program that will parse the map table and add all tables in the ECU with axis values to the XDF. You can even transform those axes...
User avatar
Mangus
TunerPro Author
Posts: 1925
Joined: Wed Mar 19, 2003 1:49 pm

Post by Mangus »

The ability to do this kind of math is comiong in the next week or two.
***************************************
TunerPro Author
1989 Trans Am
prj
Posts: 21
Joined: Mon Aug 02, 2010 11:40 pm

Post by prj »

The math engine was updated, but every way that I come up with to do this in axis math crashes TunerPro.

There just seems to be no way to reference the calculated value of the previous or the next cell.
CELL(INDEX()+1;FALSE) or CELL(INDEX()-1;FALSE) both crash TunerPro.

SUM() can not be given an address range (like in excel), so that doesn't work either, else I could do 256-SUM(INDEX() to INDEXES()).

IF together with CELL crashes as well.
So, how do I do this? Is this even supposed to work? I can't reference the previous or next column (which should be calculated by now) and I can't sum a column range either.

I use this algorithm to do this in Java:

Code: Select all

int prev = Constants.AXIS_END;
for (int i = data.length-1; i >= 2; i--) {
   int value = prev - data[i];
   values.add(0, convertValue(value));
   prev = value;
}
So if I can't sum this and can't do it recursively, how am I supposed to do this?
Only way I can come up with is a huge nest of IF's.
IF(INDEX() > 1;IF(INDEX() > 2;...;X-SUM(CELL(INDEX()-1;TRUE);CELL(INDEX()-2;TRUE));256-X)

That doesn't seem very pretty though.
User avatar
Mangus
TunerPro Author
Posts: 1925
Joined: Wed Mar 19, 2003 1:49 pm

Post by Mangus »

Use per-cell equations.

First cell is: (256 - THIS()) * 40

All other cells are
CELL(INDEX() + 1) - (THIS() * 40)
***************************************
TunerPro Author
1989 Trans Am
prj
Posts: 21
Joined: Mon Aug 02, 2010 11:40 pm

Post by prj »

Mangus wrote:Use per-cell equations.

First cell is: (256 - THIS()) * 40

All other cells are
CELL(INDEX() + 1) - (THIS() * 40)
How do I use a per-cell equation for an axis?
Do you mean that I have to create a table for each axis and then link that table as the label source?
That works, but seems a bit cumbersome.
User avatar
Mangus
TunerPro Author
Posts: 1925
Joined: Wed Mar 19, 2003 1:49 pm

Post by Mangus »

Sorry, forgot I hadn't added that yet. Create a 2D table with per cell equation. Then link the table for the appropriate axis in the tables that need it.

First cell is: (256 - THIS()) * 40

Fpr a row-wise table, all other cells are
CELL(ROW() + 1; COL(); FALSE) - (THIS() * 40)

Col-wise table would be
CELL(ROW(); COL() + 1; FALSE) - (THIS() * 40)
***************************************
TunerPro Author
1989 Trans Am
prj
Posts: 21
Joined: Mon Aug 02, 2010 11:40 pm

Post by prj »

Yeah, that I know how to do.
It will just be annoying to create tables for each axis, but since I generate the XDF anyway, I can do it programmatically.
User avatar
Mangus
TunerPro Author
Posts: 1925
Joined: Wed Mar 19, 2003 1:49 pm

Post by Mangus »

prj wrote:Yeah, that I know how to do.
It will just be annoying to create tables for each axis, but since I generate the XDF anyway, I can do it programmatically.
Why is it any more annoying than defining the axis for the table that it's part of?

Also, the point of creating a table representing the axis is for the user to be able to modify the axis. This is why the axes are embedded in the first place.
***************************************
TunerPro Author
1989 Trans Am
revlimit
Posts: 202
Joined: Thu Mar 19, 2009 6:41 pm

Post by revlimit »

ipejasinovic wrote:@revlimit
Znamo li se možda?
Pejasinovicu ostavi tunerpro nemas ti pojma!

Mangus nice work, you are great
prj
Posts: 21
Joined: Mon Aug 02, 2010 11:40 pm

Post by prj »

Mangus wrote:
prj wrote:Yeah, that I know how to do.
It will just be annoying to create tables for each axis, but since I generate the XDF anyway, I can do it programmatically.
Why is it any more annoying than defining the axis for the table that it's part of?
Need to change my XDF generator more :P
Also, the point of creating a table representing the axis is for the user to be able to modify the axis. This is why the axes are embedded in the first place.
Yeah, I understand. The cool thing would be if you chould change axes right on the table and define them in the same place.

But nevermind, It's good there is some kind of solution to rescaling the axes inside tunerpro now.
prj
Posts: 21
Joined: Mon Aug 02, 2010 11:40 pm

Post by prj »

I finally got around to testing this.
It doesn't work properly.

I can make the axis values get calculated, but if I change one value all the other ones change as well.

I see why this is programmatically, but it makes the entire feature completely useless, so we're back at square 1.
User avatar
Mangus
TunerPro Author
Posts: 1925
Joined: Wed Mar 19, 2003 1:49 pm

Post by Mangus »

Of course it changes the others - the whole point of this axis design is that it cascades. Each cell uses the preivous cell's values.
***************************************
TunerPro Author
1989 Trans Am
prj
Posts: 21
Joined: Mon Aug 02, 2010 11:40 pm

Post by prj »

Mangus wrote:Of course it changes the others - the whole point of this axis design is that it cascades. Each cell uses the preivous cell's values.
Yes, but that makes it completely useless for editing.
You don't want to change all axes usually - perhaps the 2-3 last ones.
I am changing one value - I don't want others to change.

As I said, I perfectly understand why it is, but it makes tunerpro completely useless at editing these axes.
It's easier for me to do it in excel.
User avatar
Mangus
TunerPro Author
Posts: 1925
Joined: Wed Mar 19, 2003 1:49 pm

Post by Mangus »

Then consider using Excel.
***************************************
TunerPro Author
1989 Trans Am
prj
Posts: 21
Joined: Mon Aug 02, 2010 11:40 pm

Post by prj »

Mangus wrote:Then consider using Excel.
Sure, that is not an issue at all.

Don't take this wrong, I am not trying to whine or anything, just saying that if you want to change the axis parameters, then it is currently not really feasible to do so in TunerPro.

I don't really mind, since I don't edit my XDF's by hand anyway.
Post Reply