Setting PWM Time Threshold to 0.6 ms

For discussion of Phil Tobin's Tuner Studio software (Only about the tuning software itself, not about how to tune or firmware features)

Moderator: LT401Vette

Post Reply
kjones6039
Super MS/Extra'er
Posts: 1986
Joined: Sat Jul 22, 2006 8:02 pm
Location: Eureka, NV USA
Contact:

Setting PWM Time Threshold to 0.6 ms

Post by kjones6039 »

Phil,

Is it just me or has anyone else noticed that they can't set 'PWM Time Threshold', under Injector Characteristics, to 0.6 ms?

I noticed this a long time ago with various versions of TS and firmware. If I enter 0.6 in the dialog, close it and reopen, the setting reverts to .7! If I enter 0.5 or 0.7 it saves the value correctly.

Just curious about it.........

Ken

EDIT: I did a little poking around and found a couple other settings that do the same thing... ie. 0.2 reverts to 0.1 and 1.1 reverts to 1.0
1979 Corvette - 383 CID SBC w/ Holley Pro-Jection 900 CFM TBI, 4-85 lb lo-z injectors & Walbro 255 pump
MS2 v3 w/extra 3.4.2 Release
36-1, Delphi LS2/7 coils in wasted spark, driven by v2.0 logic board from JBPerformance
Spartan Lambda Sensor from 14point7
TinyIOX from JBPerformance
jsmcortina
Site Admin
Posts: 39587
Joined: Mon May 03, 2004 1:34 am
Location: Birmingham, UK
Contact:

Re: Setting PWM Time Threshold to 0.6 ms

Post by jsmcortina »

The time threshold is actually in 0.128ms units, so there's always some rounding.

I would always suggest setting it to a few 0.1ms longer than your "dead time" in any case to make SURE that the injector gets a good "peak" current and opens reliably.

James
I can repair or upgrade Megasquirts in UK. http://www.jamesmurrayengineering.co.uk

My Success story: http://www.msextra.com/forums/viewtopic ... 04&t=34277
MSEXTRA documentation at: http://www.msextra.com/doc/index.html
New users, please read the "Forum Help Page".
LT401Vette
Super MS/Extra'er
Posts: 12697
Joined: Sat Jul 16, 2005 8:07 am
Location: Moorseville, NC
Contact:

Re: Setting PWM Time Threshold to 0.6 ms

Post by LT401Vette »

There are 2 representations for setting values, Human Readable and the binary controller values.

The binary values in the controller are usually integer based and may represent something like the number of clock ticks in the MegaSquirt. As a human it is easier to read that as ms. So TunerStudio converts all values from the byte msValues to human userValues based on the scale and translate defined in the ini using this formula:
msValue = userValue / scale - translate
userValue = (msValue + translate) * scale

Then in the ini the number of decimal places is defined. So looking at a setting like 'PWM Time Threshold'
injPwmT = scalar, U08, 613, "ms", 0.12800, 0.128, 0.00, 32.64, 1 ; * ( 1 byte)

It is has a scale of 0.128, a translate of 0.128 and is defined to display 1 decimal place.

so a userValue of 0.7 would be converted to binary as such:

msValue = (0.6 / 0.128) - 0.128
msValue = 4.5595

But now that it is to be stored as a byte, the decimal places are lost, a byte can only hold integer values 0-255. So it will be rounded to a 5 and stored.

So then when it gets converted back to a user value:
userValue = (5+ 0.128) * 0.128
userValue = 0.656384

as 1 decimal place is defined, this will then be displayed back as 0.7.

With the defined scale and translate there is not enough resolution to hold a representation for every 0.1 value

You shouldn't need to close and reopen the dialog, it should be converted to the closest possible value as soon as you tab out of the text area.
Phil Tobin
EFI Analytics, helping to simplify EFI
Next Generation tuning software.
Supporting all MegaSquirt versions and firmwares.
http://www.TunerStudio.com
http://www.efiAnalytics.com/MegaLogViewer/
Support the firmware running your engine:
http://www.msextra.com/doc/donations.html
Post Reply