RomRaider
Documentation
Community
Developers
|
Author |
Message |
ba114
|
Post subject: Bosch Axis Labels using EEPROM Subtract method support Posted: Sun Dec 15, 2019 6:14 pm |
|
 |
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 |
|
 |
zarboz
|
Post subject: Re: Bosch Axis Labels using EEPROM Subtract method support Posted: Tue Dec 17, 2019 1:21 pm |
|
 |
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 |
|
 |
ba114
|
Post subject: Re: Bosch Axis Labels using EEPROM Subtract method support Posted: Tue Dec 17, 2019 4:33 pm |
|
 |
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 |
|
 |
zarboz
|
Post subject: Re: Bosch Axis Labels using EEPROM Subtract method support Posted: Tue Dec 17, 2019 7:32 pm |
|
 |
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 |
|
 |
ba114
|
Post subject: Re: Bosch Axis Labels using EEPROM Subtract method support Posted: Wed Dec 18, 2019 12:34 am |
|
 |
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 |
|
 |
zarboz
|
Post subject: Re: Bosch Axis Labels using EEPROM Subtract method support Posted: Wed Dec 18, 2019 10:42 am |
|
 |
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 |
|
 |
dschultz
|
Post subject: Re: Bosch Axis Labels using EEPROM Subtract method support Posted: Wed Dec 18, 2019 9:22 pm |
|
 |
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 |
|
 |
zarboz
|
Post subject: Re: Bosch Axis Labels using EEPROM Subtract method support Posted: Mon Dec 30, 2019 1:21 pm |
|
 |
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 |
|
 |
ba114
|
Post subject: Re: Bosch Axis Labels using EEPROM Subtract method support Posted: Mon Dec 30, 2019 6:08 pm |
|
 |
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 |
|
 |
dschultz
|
Post subject: Re: Bosch Axis Labels using EEPROM Subtract method support Posted: Mon Dec 30, 2019 8:45 pm |
|
 |
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 |
|
 |
zarboz
|
Post subject: Re: Bosch Axis Labels using EEPROM Subtract method support Posted: Tue Dec 31, 2019 3:46 pm |
|
 |
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 |
|
 |
ba114
|
Post subject: Re: Bosch Axis Labels using EEPROM Subtract method support Posted: Thu Jan 02, 2020 5:07 am |
|
 |
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 |
|
 |
zarboz
|
Post subject: Re: Bosch Axis Labels using EEPROM Subtract method support Posted: Mon Jan 06, 2020 12:59 pm |
|
 |
Newbie |
Joined: Sat Aug 11, 2018 12:42 am Posts: 47
|
Have you figured out checksum for this dme ?
|
|
Top |
|
 |
ba114
|
Post subject: Re: Bosch Axis Labels using EEPROM Subtract method support Posted: Tue Jan 07, 2020 1:19 am |
|
 |
Experienced |
Joined: Wed Oct 21, 2015 2:36 am Posts: 946
|
|
Top |
|
 |
blacknipel
|
Post subject: Re: Bosch Axis Labels using EEPROM Subtract method support Posted: Wed Apr 15, 2020 1:06 pm |
|
 |
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 |
|
 |
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
|
|