PDA

View Full Version : Wtttttfffffffffff!!!!!!!!!!!!!!!!



Haans249
September 4th, 2008, 01:47 PM
Alright, i'm SO extremely frustrated right now....

I've got the latest version of EFILive, and I'm currently trying to make some changes to my small pulse adjust table for the injectors. These are the numbers I'm trying to put in.


0
0.334345
0.3125
0.27834
0.242188
0.206754
0.15625
0.113457
0.070313
0.034523
0.015625
0
-0.007813
-0.019832
-0.046875
-0.056273
-0.060321
-0.070313
-0.07425
-0.078125
-0.078125
-0.078125
-0.068745
-0.0625
-0.0543
-0.046875
-0.043456
-0.039063
-0.02564
-0.015625
0
0.015625
0.02005
0.023438
0.027854
0.03125
0.03125
0.03125
0.025678
0.023438
0.023438
0.023438
0.023438
0.023438
0.023438
0.023438
0.023438
0.023438
0.023438
0.023438
0.023438
0.023438
0.023438
0.023438
0.023438
0.023438
0.023438
0.023438
0.023438
0.023438
0.023438
0.023438
0.023438
0.015678
0.007813
0.003921
0


Once I put those number in, and then I save the tun file, it changes the numbers!!!!!!!!!!!!!!!!!!!!!!!!

I've tried zero'ing it out, that works, reload tune, they're all zero. Then I put the numbers in, and IT WILL CHANGE THEM AGAIN. It changes them to these numbers...

0.000000
0.334345
0.319148
0.273555
0.243160
0.212765
0.151975
0.106383
0.075988
0.030395
0.015198
0.000000
-0.015198
-0.015198
-0.045593
-0.060790
-0.060790
-0.075988
-0.075988
-0.075988
-0.075988
-0.075988
-0.075988
-0.060790
-0.060790
-0.045593
-0.045593
-0.045593
-0.030395
-0.015198
0.000000
0.015198
0.015198
0.030395
0.030395
0.030395
0.030395
0.030395
0.030395
0.030395
0.030395
0.030395
0.030395
0.030395
0.030395
0.030395
0.030395
0.030395
0.030395
0.030395
0.030395
0.030395
0.030395
0.030395
0.030395
0.030395
0.030395
0.030395
0.030395
0.030395
0.030395
0.030395
0.030395
0.015198
0.015198
0.000000
0.000000

But THESE ARE NOT THE NUMBERS I WANT. Can someone PLEASE shed some light for me.

I've also tried renaming the tune file, and saving it in another location on the harddrive, but it always changes the numbers to the ones above when I save the file, I can't for the LIFE OF ME get it to save properly, and I'm about to lose my mind.

Haans249
September 4th, 2008, 02:00 PM
Oh yea, Also, when I change a number in the TPS vs RPM table (running COS v5 for a 2001 PCM Trans Am) it will change that number too. Like, I put in 32.09, save the file, reload it and then it changes to 32.087.

Also, I try to add .006 to my minimum injector pulse width and default minimum injector pulse width table. So, my original table numbers were

0.000000
0.790270
0.790270
0.790270
0.790270
0.790270
0.790270
0.790270
0.790270
0.790270
0.790270
0.790270
0.790270
0.790270
0.790270
0.790270
0.790270
0.790270
0.790270
0.790270
0.790270

and I put in the following...

0.000000
0.796875
0.796875
0.796875
0.796875
0.796875
0.796875
0.796875
0.796875
0.796875
0.796875
0.796875
0.796875
0.796875
0.796875
0.796875
0.796875
0.796875
0.796875
0.796875
0.796875

Save the tune file, reload the tune file, and walla, same fucking numbers as were there before. I zero out the table, save the file, reload, still all zeroes, put back in the numbers I want, and save it, reload, and get the same fucking numbers i had before (the first set of numbers in this particular post).

So please, what the hell is going on here?

nonnieselman
September 4th, 2008, 02:08 PM
Try this....


Open up that table your messing with..

Press (CTRL+ALT+I) to Increase Number of Decimal Places..

Its just rounding off the numbers.. see if this shows you the right value..

nonnieselman
September 4th, 2008, 02:10 PM
Bottom Right of your Toolbar there is a button that looks like

_+ _______________ -
.00 ______________ .00


The one on the left increases the Decimal places (CTRL+ALT+I)
The one on the right Decreases the decimal places (CTRL+ATL+O)

Haans249
September 4th, 2008, 02:13 PM
Sorry man, its not that. Already have it maxed out, and it is not rounding the numbers, its reverting the numbers back.

If it was rounding, then why when I put in 32.09, save the file, then the number is now 32.087?

nonnieselman
September 4th, 2008, 02:15 PM
Sorry man, its not that. Already have it maxed out, and it is not rounding the numbers, its reverting the numbers back.

If it was rounding, then why when I put in 32.09, save the file, then the number is now 32.087?


AH.. well thats over my head..

i was thinkin it changed 32.087 to 32.09....

TTT for ya i guess..

Aloicious
September 4th, 2008, 02:22 PM
here ya go:


There's a post about it here:
http://forum.efilive.com/showthread.php?t=792

Quote:
It is due to the precision of the data stored in the PCM.
The PCM stores each single cell's value as a 16 bit number.
That means each value can only have 1 of 65536 distinct integer values.

For example (assuming the precision is 1/64 per bit - it's probably different to that, I can't remember of the top of my head) the value 10.1234 grams/second would be converted to 10.1234*64 = 647.8976. Since the value MUST be stored into a 16 bit integer value (with no decimal places) the value 648 would be stored in the PCM (or *.tun file). When that is read back again it would be converted back to grams/second like this: 648/64 = 10.125

The same rounding occurs with ALL calibrations, it is just more noticable in the injector flow rate calibration because it uses 4 decimal places of precision.

Plus another description here:


Quote:
It is something that we have no control over. It is not a PC or windows thing it is a GM PCM thing. It is not even really a "problem" it is just the way the PCM works.

The PCM uses a 16-bit Motorola CPU which is optimized to perform integer arithmetic on 16-bit values. The PCM stores 90% of all calibration values as 16 bit integers, not true floating point values. The other 10% are 8-bit integers.

For example:
With 16 bits you can store only 65,536 unique values. When representing a value, say Grams/Second in the range 0 to 512 (which is what the B4001 table does), then the precision is 65536/512 = 128. Each unique value of the 65536 values that can be stored is 1/128th of 512, which means that each value is quantized in steps of 0.0078125.

Precision greater than that is not possible. EFILive "rounds" all values to the nearest quantized step value.

Of interest: you can see the maximum value for grams/second is 511.992 (not 512) because 65535/128=511.992. You'll also notice that if you multiply the values displayed in the MAF table by 128, you should end up with a whole number in the range 0..65535 or very close to a whole number. Because we only use 6 decimal places, some rounding at the 5th or 6th decimal place may occur. But 0.0001 grams per second is not significant when tuning a car


I've learned to just accept that the computer is not as anal retentive as me when it comes to rounding. after all the rounding occurs at extremely small fractions.

Haans249
September 4th, 2008, 02:28 PM
So, what you're saying is that if I multiply any number in my table by 128 i'll get a positive whole integer (no decimal)?

Haans249
September 4th, 2008, 02:35 PM
NM, that was a stupid question, so I guess no matter what, I can't get exact numbers with this part. SOOOOOO frustrating.

Aloicious
September 4th, 2008, 02:39 PM
So, what you're saying is that if I multiply any number in my table by 128 i'll get a positive whole integer (no decimal)?

no, not necissarily a whole integer, but rather that the values go in steps, of 0.0078125. so if you put in a value of say .01011 it has to round it up to 0.015625 (i.e 0.0078125*2)

its simply because the information you're entering in is more precise than the PCM can store and use, so efilive rounds to the nearest usable step so the PCM can process it.

or at least thats how I understand it. and afterall, the rounding is only 7.81*10^-3. thats about 7/1000, and in the calculations, a pretty insignificant amount.

GMPX
September 4th, 2008, 02:40 PM
The table you are trying to change has a minimum change value of 0.01519751

So you can have -
0.01519751
OR
0.03039502
but nothing in between.

But, think about just how long 0.01519751 mS really is!!

Cheers,
Ross

Aloicious
September 4th, 2008, 02:49 PM
NM, that was a stupid question, so I guess no matter what, I can't get exact numbers with this part. SOOOOOO frustrating.

yeah, tell me about it, the first time I saw it I was like what the hell?!?! but I saw it in the injector flow rate settings. but after a while I've realized that the amount it rounds is not significant enough to be an issue. for example, the small pulse adder is in milliseconds, so the rounding that occurs is 7/1000's of a MILLIsecond. or basically, 7 microseconds (7x10^-6)...not enough to make a difference one way or the other.

Haans249
September 4th, 2008, 02:51 PM
AHHHH hahahahaha

And I just thought I was loosing my mind lol. Wow, I never knew thats what happened with the tables, and I've been tuning for over 3 years!

Oh well, i'm not going to fret anymore over it, seems like it just won't make any difference, and this is as close as I can get to the table in the LS7 for my LS7 injectors.

HAHAHA, just think, I about went bald over this :doh2::crash:

Best Regards,
Adrian

Aloicious
September 4th, 2008, 02:51 PM
The table you are trying to change has a minimum change value of 0.01519751

So you can have -
0.01519751
OR
0.03039502
but nothing in between.

But, think about just how long 0.01519751 mS really is!!

Cheers,
Ross

ah, apparently this table is different than the 0.0078125 steps.

is this one of the 8 bit tables?

still, like GMPX said, .0152 (yes I rounded) mS in one direction or the other is really insignificant

Aloicious
September 4th, 2008, 02:55 PM
AHHHH hahahahaha

And I just thought I was loosing my mind lol. Wow, I never knew thats what happened with the tables, and I've been tuning for over 3 years!

Oh well, i'm not going to fret anymore over it, seems like it just won't make any difference, and this is as close as I can get to the table in the LS7 for my LS7 injectors.

HAHAHA, just think, I about went bald over this :doh2::crash:

Best Regards,
Adrian

as the title of the thread shows. heh no worries, I felt the same when I saw it happening the first time.

Sid447
September 4th, 2008, 08:06 PM
Apologies for jumping in on your thread "Hans249,"

This reminded me of a query I have related to this...........

I've noticed with V2,

that when entering timing values, such as 24.0 degrees(*) for example, it will be accepted & saved as 24.000000, unlike V1 which normally either saves it as 23.994141 or 24.016113.
V2 also seems to only accept timing (HOT, LOT, IAT, ECT etc) values in 0.5* increments.
Whereas V1 would accept it more or less to the nearest 0.1*

When reading the scanned logs I notice, it shows the timing readout in 0.5 (1/2) degree increments only, except for KR, which is to the tenth or 0.1*

Haans249
September 4th, 2008, 10:29 PM
You know, in version one too, when logging it only shows timing values in increments of .5 as well from what I can recall off the top of my head. KR values are .1 from what I remember as well.

Interesting though about the 1 degree increments. What version PCM are you running?

joecar
September 5th, 2008, 02:52 AM
23.994141 and 24.016113 are both 24.0 (the number of places indicating the pecision)...

The tunetool has nothing to do with FlashScan V1 and V2 (you can edit the tune file while FlashScan hardware is not connected).

The "discretization" has to do with how the PCM stores binary numbers in flash...
like Ross said, the least significant bit (LSB) represents the smallest storable value;
all values are some multiple of the LSB (edit: or more correctly, the sum of multiples of the LSB);

and, the scantool log precision has nothing to do with tunetool precision.