Are you using something like that for the ieee float conversion?
// Bit 31 Sign Bit
long n_sign = (value >> 31) & 0x1;
// Bits 30 - 23 Exponent Field
long n_exponent = (value >> 23) - 127;
// Bits 22 - 0 Significand
float n_coefficient = (float)(value & 0x7FFFFF);
n_coefficient = n_coefficient/0x800000 + 1;
return pow((float)-1,n_sign) * n_coefficient *(pow((float)2,n_exponent));
that did the trick for me with my SSM tool If I remember correctly.
Mart
cboles wrote:I'll check it out tomorrow for you. Last time I checked it was working correctly
Mart wrote:I am having problem with a RAM parameter I believe.
Car: 06 sti (4312594006)
Param: Engine Load (4-Byte)*
; Engine Load (4-Byte)
paramname = Engine_Load
paramid = 0xFF4F58
isfloat = 1 ; the raw data is a 32-bit floating point number (no need to set databits = 32)
<conversions>
<conversion units="g/rev" storagetype="float" expr="x" format="0.00" />
</conversions>
Everything I log is something like:
1.14E-19
1.09E-19
1.13E-19
1.10E-19
1.14E-19
Am I missing something?
thanx