Bosch ECU - Problem with Row Labels
Moderators: Mangus, robertisaar, dex
-
- Posts: 5
- Joined: Thu Jun 24, 2010 3:32 am
Bosch ECU - Problem with Row Labels
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.
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.
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
yoda69
-
- Posts: 5
- Joined: Thu Jun 24, 2010 3:32 am
-
- Author of Defs
- Posts: 962
- Joined: Sat Feb 21, 2009 3:18 pm
- Location: Camden, MI
-
- Posts: 5
- Joined: Thu Jun 24, 2010 3:32 am
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)
Good axis (WinOLS)
BTW, here are screenshots. Same map in WinOLS and TunerPro.
Wrong axis (TunerPro)
Good axis (WinOLS)
Last edited by ipejasinovic on Fri Jun 25, 2010 1:46 pm, edited 1 time in total.
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
yoda69
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:
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.
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;
}
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.
How do I use a per-cell equation for an axis?Mangus wrote:Use per-cell equations.
First cell is: (256 - THIS()) * 40
All other cells are
CELL(INDEX() + 1) - (THIS() * 40)
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.
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)
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
TunerPro Author
1989 Trans Am
Why is it any more annoying than defining the axis for the table that it's part of?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.
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
TunerPro Author
1989 Trans Am
Need to change my XDF generator moreMangus wrote:Why is it any more annoying than defining the axis for the table that it's part of?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.
Yeah, I understand. The cool thing would be if you chould change axes right on the table and define them in the same place.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.
But nevermind, It's good there is some kind of solution to rescaling the axes inside tunerpro now.
Yes, but that makes it completely useless for editing.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.
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.
Sure, that is not an issue at all.Mangus wrote:Then consider using Excel.
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.