RomRaider Logo

RomRaider

Open Source ECU Tools
 FAQ •  Register •  Login 

RomRaider

Documentation

Community

Developers

It is currently Sun Aug 14, 2022 2:08 pm

All times are UTC - 5 hours [ DST ]





Post new topic Reply to topic  [ 16 posts ]  Go to page 1, 2  Next
Author Message
 Post subject: Bosch Axis Labels using EEPROM Subtract method support
PostPosted: Sun Dec 15, 2019 6:14 pm 
Offline
Experienced

Joined: Wed Oct 21, 2015 2:36 am
Posts: 946
I'm wondering whether RR currently does, or can in future, support the method that bosch ecus (eg. M5.2) store their axis labels.

They define their axis labels using an eeprom subtract method which is described below.

The axis type and length precede the maps, however because the map axis values are 8bit and they are defined as follows:

Code:
For example;
In hexadecimal: 6C 0C 05 0A 0A 0A 04 0C 0D 07 10 0A 1E 60

Converted hex to decimal: 208 012 005 010 010 010 013 012 013 007 025 010 030 096

6C is RPM, the axis length is 0C (12 bytes long). In order to decipher axis labeling you work backwards. In hexadecimal FF is a blank byte, it tells the programming to ignore this byte or "reset". FF in decimal is 255. Starting at 255 you subtract the last byte's value and then use an engineer designated factor and offset. For RPM it's X*40. (Occasionally axis headers reference 256 for the equation, like this one)

256-96 = 160
160 * 40 = 6,400RPM
30 * 40 = 1200
6400-1200 = 5,200RPM
10 * 40 = 400
5400 - 280 = 4,800RPM
25*40 = 1000
5120-520= 3,800RPM
7 * 40=280
3800-280= 3,520RPM
13*40=520
3520-520= 3,000RPM
12*40=480
3000-480= 2,520RPM
13*40=520
2600-520= 2,000RPM
10*40=400
2200-400= 1,600RPM
10*40=400
1800-200 = 1,200RPM
10*40=400
1400-400= 800RPM
5*40=200
800-200= 600RPM

As you can see, each subsequent axis label is an offset subtracted from the previous value.


Top
 Profile  
 
 Post subject: Re: Bosch Axis Labels using EEPROM Subtract method support
PostPosted: Tue Dec 17, 2019 1:21 pm 
Offline
Newbie

Joined: Sat Aug 11, 2018 12:42 am
Posts: 47
ba114 wrote:
I'm wondering whether RR currently does, or can in future, support the method that bosch ecus (eg. M5.2) store their axis labels.

They define their axis labels using an eeprom subtract method which is described below.

The axis type and length precede the maps, however because the map axis values are 8bit and they are defined as follows:

Code:
For example;
In hexadecimal: 6C 0C 05 0A 0A 0A 04 0C 0D 07 10 0A 1E 60

Converted hex to decimal: 208 012 005 010 010 010 013 012 013 007 025 010 030 096

6C is RPM, the axis length is 0C (12 bytes long). In order to decipher axis labeling you work backwards. In hexadecimal FF is a blank byte, it tells the programming to ignore this byte or "reset". FF in decimal is 255. Starting at 255 you subtract the last byte's value and then use an engineer designated factor and offset. For RPM it's X*40. (Occasionally axis headers reference 256 for the equation, like this one)

256-96 = 160
160 * 40 = 6,400RPM
30 * 40 = 1200
6400-1200 = 5,200RPM
10 * 40 = 400
5400 - 280 = 4,800RPM
25*40 = 1000
5120-520= 3,800RPM
7 * 40=280
3800-280= 3,520RPM
13*40=520
3520-520= 3,000RPM
12*40=480
3000-480= 2,520RPM
13*40=520
2600-520= 2,000RPM
10*40=400
2200-400= 1,600RPM
10*40=400
1800-200 = 1,200RPM
10*40=400
1400-400= 800RPM
5*40=200
800-200= 600RPM

As you can see, each subsequent axis label is an offset subtracted from the previous value.


I have this working in the me7.2 XML

Code:
  <table type="3D" name="Base Ignition table bank 1" category="Ignition" storagetype="uint8" sizex="16" sizey="24" userlevel="1">
      <scaling units="(°) BTDC" expression="(x*.75)-23.6" to_byte="(x+23.6)/.75" format="0.00" fineincrement=".1" coarseincrement="1"></scaling>
      <table type="X Axis" name="MAF Load" storagetype="uint16"  logparam="E2">
        <scaling units="mg/stroke" expression="x*.75" to_byte="x/.75" format="#" fineincrement="1" coarseincrement="10" />
      </table>
      <table type="Y Axis" name="Engine Speed" storagetype="uint8" logparam="P8">
        <scaling units="RPM" expression="x*40" to_byte="x/40" format="0" fineincrement="50" coarseincrement="100" />
      </table>
      <description>Ignition map bank 1</description>
    </table>


you can alter the expression for the Y axis and the X axis in the main section of your xml
then when calling the table identify both x/y and data

Code:
  <table name="Base Ignition table bank 1" storageaddress="0x10BEF">
      <table type="X Axis" storageaddress="0x11A6E"></table>
      <table type="Y Axis" storageaddress="0x11a17" />
  </table>



Basis was taken from @Dschultz ms42/43? initial XML


You do not have the required permissions to view the files attached to this post.


Top
 Profile  
 
 Post subject: Re: Bosch Axis Labels using EEPROM Subtract method support
PostPosted: Tue Dec 17, 2019 4:33 pm 
Offline
Experienced

Joined: Wed Oct 21, 2015 2:36 am
Posts: 946
There must be differences in the M7.2 code then as in the M5.2 it looks like this because of the way the axis values are stored and referenced


You do not have the required permissions to view the files attached to this post.


Top
 Profile  
 
 Post subject: Re: Bosch Axis Labels using EEPROM Subtract method support
PostPosted: Tue Dec 17, 2019 7:32 pm 
Offline
Newbie

Joined: Sat Aug 11, 2018 12:42 am
Posts: 47
ba114 wrote:
There must be differences in the M7.2 code then as in the M5.2 it looks like this because of the way the axis values are stored and referenced



post a copy of your XML it will help debug

i have an xdefinition / Damos / and KP for the me5.2


Top
 Profile  
 
 Post subject: Re: Bosch Axis Labels using EEPROM Subtract method support
PostPosted: Wed Dec 18, 2019 12:34 am 
Offline
Experienced

Joined: Wed Oct 21, 2015 2:36 am
Posts: 946
The xml is fine. I have built it using the same method i have built xml for ms45, mss54 and mss52. I'm well aware of how to reference axis label locations etc which is what i have done here.

The issue is that the axis values are stored as 8bit and the method of defining them (as wols does - EEPROM, subtract) doesn't seem to be possible in RR.

I'm hoping dschultz might see this and be able to provide some more guidance on existing/future capabilities for RR.


Top
 Profile  
 
 Post subject: Re: Bosch Axis Labels using EEPROM Subtract method support
PostPosted: Wed Dec 18, 2019 10:42 am 
Offline
Newbie

Joined: Sat Aug 11, 2018 12:42 am
Posts: 47
ba114 wrote:
The xml is fine. I have built it using the same method i have built xml for ms45, mss54 and mss52. I'm well aware of how to reference axis label locations etc which is what i have done here.

The issue is that the axis values are stored as 8bit and the method of defining them (as wols does - EEPROM, subtract) doesn't seem to be possible in RR.

I'm hoping dschultz might see this and be able to provide some more guidance on existing/future capabilities for RR.


Yeah I didnt realize that it did an odd offset subtraction methodology. Definitely not how the me7.2 works they are sequential bytes multiplied by 40 same as ms41/2/3/5 mss52/54 etc


I wonder if you can use the to and from_bit mathematics to yield output you want.... not sure how complex of regex mathematics you can pass to those parameters though


Top
 Profile  
 
 Post subject: Re: Bosch Axis Labels using EEPROM Subtract method support
PostPosted: Wed Dec 18, 2019 9:22 pm 
Offline
RomRaider Developer

Joined: Wed May 20, 2009 9:49 pm
Posts: 7031
Location: Canada eh!
In the current version of RR Editor I can't think of a way to reference the value of another table cell and use that value to calculate the value of the current cell, and so on ...

I think we'd need a special axis type and code to read the raw values and work backwards through the range to calculate the values.


Top
 Profile  
 
 Post subject: Re: Bosch Axis Labels using EEPROM Subtract method support
PostPosted: Mon Dec 30, 2019 1:21 pm 
Offline
Newbie

Joined: Sat Aug 11, 2018 12:42 am
Posts: 47
@BA114

I have started on my 740i which has the me5.2 as well. Running into lots of these same problems outside of OLS
would love to chat about this DME


Top
 Profile  
 
 Post subject: Re: Bosch Axis Labels using EEPROM Subtract method support
PostPosted: Mon Dec 30, 2019 6:08 pm 
Offline
Experienced

Joined: Wed Oct 21, 2015 2:36 am
Posts: 946
zarboz wrote:
@BA114

I have started on my 740i which has the me5.2 as well. Running into lots of these same problems outside of OLS
would love to chat about this DME


I've got it figured out with tuner software which lets you do more advanced table definitions/calculations, but its still less than ideal

See image:
Attachment:
load and RPM axis.PNG


You do not have the required permissions to view the files attached to this post.


Last edited by ba114 on Tue Jan 07, 2020 9:25 pm, edited 1 time in total.

Top
 Profile  
 
 Post subject: Re: Bosch Axis Labels using EEPROM Subtract method support
PostPosted: Mon Dec 30, 2019 8:45 pm 
Offline
RomRaider Developer

Joined: Wed May 20, 2009 9:49 pm
Posts: 7031
Location: Canada eh!
If you don't need to be able to edit the axis values, define the table using a Static Axis and use <data> elements for each axis cell.


Top
 Profile  
 
 Post subject: Re: Bosch Axis Labels using EEPROM Subtract method support
PostPosted: Tue Dec 31, 2019 3:46 pm 
Offline
Newbie

Joined: Sat Aug 11, 2018 12:42 am
Posts: 47
dschultz wrote:
If you don't need to be able to edit the axis values, define the table using a Static Axis and use <data> elements for each axis cell.



It would be nice to be able to inline edit the RPM scaling of the ignition/fuel tables etc


Top
 Profile  
 
 Post subject: Re: Bosch Axis Labels using EEPROM Subtract method support
PostPosted: Thu Jan 02, 2020 5:07 am 
Offline
Experienced

Joined: Wed Oct 21, 2015 2:36 am
Posts: 946
dschultz wrote:
If you don't need to be able to edit the axis values, define the table using a Static Axis and use <data> elements for each axis cell.


Have done that previously, but it's not an ideal solution.
I might have to make an excel file to go with the definition so that you can calculate the required values based on the desired axis breakpoints.


Top
 Profile  
 
 Post subject: Re: Bosch Axis Labels using EEPROM Subtract method support
PostPosted: Mon Jan 06, 2020 12:59 pm 
Offline
Newbie

Joined: Sat Aug 11, 2018 12:42 am
Posts: 47
Have you figured out checksum for this dme ?


Top
 Profile  
 
 Post subject: Re: Bosch Axis Labels using EEPROM Subtract method support
PostPosted: Tue Jan 07, 2020 1:19 am 
Offline
Experienced

Joined: Wed Oct 21, 2015 2:36 am
Posts: 946
As in where the checksums are located? No I havent looked into it.

If you would like to contribute, my xml is on my GitHub:
https://github.com/ba114/M5.2.1


Top
 Profile  
 
 Post subject: Re: Bosch Axis Labels using EEPROM Subtract method support
PostPosted: Wed Apr 15, 2020 1:06 pm 
Offline
Newbie

Joined: Sun Sep 10, 2017 4:12 pm
Posts: 22
ba114 wrote:
dschultz wrote:
If you don't need to be able to edit the axis values, define the table using a Static Axis and use <data> elements for each axis cell.


Have done that previously, but it's not an ideal solution.
I might have to make an excel file to go with the definition so that you can calculate the required values based on the desired axis breakpoints.



I looked at your github m5.2.1, great job! Did you manage to find the DISA table of this ECU?
Regarding the load and rpm axes, there is some information on the TUNER PRO forum, everything relates to m1.3-m3.3.1 but the principle of their axes should be similar.
Here is an excel for recalculating the load axes, I used it to configure the M3.3.1 M50B30 with large injectors, maybe it will be useful.


You do not have the required permissions to view the files attached to this post.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 16 posts ]  Go to page 1, 2  Next

All times are UTC - 5 hours [ DST ]


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Jump to:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Style based on FI Subsilver by phpBBservice.nl