xswrex wrote:gregsachs wrote:Generated a file for A2ZJB10J, 05 sti, and at least one scaling is, imo, wrong;
<scaling name="DATA-11-CCs" units="CCs" toexpr="2450000/x" frexpr="2450000/x" storagetype="float" endian="little" format="%.0f" inc="256" />
Aren't floats in the 32bit dbw thought to generally be in straight units? For sure, the corresponding map value is ~540, right inline with what i think the sti injectors are.
IMO it is correct, most certainly follows the same logic as the 16bit ecus. There was a 16bit entry for this particular data value, and the expression was 2447690/x. Now it is a 32bit entry and it has a similar scaling.
The fact that we use expressions in order to see the data as real world numbers does not mean that the ecu does the same.
Here's my logic for disagreeing:
1: that expression isn't reversible. perhaps it should be 2450000/x and 2450000*x, but having both the toexpr and frexpr the same cannot be correct.
2: My understanding was that float type data used no multiplier, based on using that ieee-754 data format as discussed here.
3: if one looks at those values as pure ieee-754 floats, they come out as 5375, which is very close to 10x what everyone says is the usdm injector size.
4: I'm not criticizing or anything, and am very grateful for xmlwrite and all the work you've done on this project, it is far more than I have. I just don't think this expression as generated _can_ be correct. Before you release this version I was hand generating an xml for this rom, and looking at all the values. I was using this thread as my primary reference,
http://forums.openecu.org/viewtopic.php?t=448 along with the map offsets you released/posted.
thanks,
greg
edit: went and looked at my spreadsheet of notes, and I had one error; the value for the injector scaling actually resolves to 5372, not 537. I think this is tenths/cc/s. Not sure why it would be stored that way unless maybe for higher resolution. I've attatched my sheet of manually deciphered map data.