RomRaider Logo

RomRaider

Open Source ECU Tools
 FAQ •  Register •  Login 

RomRaider

Documentation

Community

Developers

It is currently Sat Feb 21, 2026 10:04 pm

All times are UTC




Post new topic Reply to topic  [ 79 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6  Next
Author Message
 Post subject: Re: per injector pulse width compensation (32-bit ECU)
PostPosted: Thu Apr 03, 2008 12:02 am 
Offline
Experienced

Joined: Wed Jul 26, 2006 7:19 pm
Posts: 650
Location: Connecticut, USA
merchgod wrote:
On a side note, some other unrelated stuff:
1. There are two other warm-up enrichment factors involved in fueling in which the offsets decay over time after engine start (I'll look at adding these to the next ECU defs).
If those 'offsets' and decay rates are microseconds, and not multipliers, then I expect people who install larger injectors would want to change those values.
merchgod wrote:
2. There's a way to log "Injector Duty Cycle (Direct)". The calculation would not include latency. Useful or is the calculated parameter good enough?
I'm surprised the ECU would calculate injector duty cycle and I wonder how it's used. I think this would be a very useful logger parameter because I think RPM and Injector Pulse Width are out of sync in the current calculated method. It'd be nice to seem them logged side-by-side. Maybe you could go to a dealer and 'test drive' some used WRX or Legacy. :)
merchgod wrote:
3. There appears to be some variables converted and stored as a set of consecutive 16-bit values for use by the engineers. I make this assumption based on the fact that they are useful parameters that include some of those I've added to the logger defs (FLKC, IAM, FBKC, TDynProp). Even some standard SSM parameters are used as well (which would give them more precision). The advantage to using these in the logger defs for some of the extended parameters would be faster sampling (at the cost of some precision). Not sure if this would be worth messing with or not.
Does this parameter set include variables that we can't yet log? If so, maybe they're important and are worth investigating. How many variables in this parameter set? Does this parameter set include RPM? If so, it might be feasible to log this parameter set by itself as a single long variable and then post-process the output to do conversions and break it into CSV format.


Top
 Profile  
 
 Post subject: Re: per injector pulse width compensation (32-bit ECU)
PostPosted: Thu Apr 03, 2008 12:43 am 
Offline
RomRaider Donator
User avatar

Joined: Thu Mar 30, 2006 2:38 am
Posts: 5336
Jon [in CT] wrote:
If those 'offsets' and decay rates are microseconds, and not multipliers, then I expect people who install larger injectors would want to change those values.

No, they are offsets to the multiplier (not sure if there's better term to describe it) - actually are added to the current defined minimum OL enrichment value to determine the actual minimum. By decay, I mean how these offsets (which make up the minimum value) are reduced to zero. Tables determine how much the offset decays depending on a number of factors.

Quote:
I'm surprised the ECU would calculate injector duty cycle and I wonder how it's used. I think this would be a very useful logger parameter because I think RPM and Injector Pulse Width are out of sync in the current calculated method. It'd be nice to seem them logged side-by-side. Maybe you could go to a dealer and 'test drive' some used WRX or Legacy. :)

Its calculating something - not sure what though:
x = ((IPW * 9.04208488) * RPM) * .00000012

edit: IPW is in microseconds
This value is stored in RAM but not used outside the routine. Not sure what it is used for but looks like it is dealing with the change in this value. IPW does not include latency as the standard SSM parameter does.

So, obviously x/0.0000010850501856 would give me IPW*RPM (and then (IPW*RPM)/1200)

Quote:
Does this parameter set include variables that we can't yet log? If so, maybe they're important and are worth investigating.

Yes, I thought of this and looked through most of the unknowns - some were emissions related, some related to DBW and fueling IIRC. Actually one gave me an idea to add it as an extended parameter - max wg duty (post-compensation).

Quote:
How many variables in this parameter set? Does this parameter set include RPM? If so, it might be feasible to log this parameter set by itself as a single long variable and then post-process the output to do conversions and break it into CSV format.

Maybe 20? I'll check it tomorrow and post up exactly what is already included (I don't think RPM was). There wouldn't be any advantage to logging one continuous block via SSM that I could think of.


Top
 Profile  
 
 Post subject: Re: per injector pulse width compensation (32-bit ECU)
PostPosted: Thu Apr 03, 2008 5:51 pm 
Offline
RomRaider Donator
User avatar

Joined: Thu Mar 30, 2006 2:38 am
Posts: 5336
For the "engineer's log" there's 67 bytes set aside for these parameters. Not all are 16-bit, some are 8-bit.

Example conversions:
IAM (8-bit) = x/.0625
FBKC/FLKC (8-bit) = (x+45)/0.3515625
Load (16-bit) = x/0.00006103516

16-bit:
A/F Correction #1
A/F Correction #3
A/F Learning #1
A/F Sensor #1 Lambda
Calculated IPW
ECT
Engine Load
IAT
Manifold Absolute Pressure
Mass Airflow g/s
Max WGDC (post-comp)
Primary OL Fuel Map Offset
Target Boost
TD Integral Cumulative Correction
TD Proportional Correction
Throttle Opening Angle
10 unknowns

8-bit:
Accelerator Pedal Angle
CPC Valve Duty Ratio
FBKC
FLKC
IAM
Ignition Total Timing
Rear O2 Sensor Volts
Veh Speed
5 unknowns


Top
 Profile  
 
 Post subject: Re: per injector pulse width compensation (32-bit ECU)
PostPosted: Thu Apr 03, 2008 7:30 pm 
Offline
Experienced

Joined: Wed Jul 26, 2006 7:19 pm
Posts: 650
Location: Connecticut, USA
merchgod wrote:
Jon [in CT] wrote:
I'm surprised the ECU would calculate injector duty cycle and I wonder how it's used. I think this would be a very useful logger parameter because I think RPM and Injector Pulse Width are out of sync in the current calculated method. It'd be nice to seem them logged side-by-side. Maybe you could go to a dealer and 'test drive' some used WRX or Legacy. :)

Its calculating something - not sure what though:
x = ((IPW * 9.04208488) * RPM) * .00000012

edit: IPW is in microseconds
This value is stored in RAM but not used outside the routine. Not sure what it is used for but looks like it is dealing with the change in this value. IPW does not include latency as the standard SSM parameter does.

So, obviously x/0.0000010850501856 would give me IPW*RPM (and then (IPW*RPM)/1200)
The first equation,
x = ((IPW * 9.04208488) * RPM) * .00000012
can be re-written as:
x = (IPW*RPM)/921616.358

If IPW is in microseconds, then I'd expect IDC to be calculated as:
x = (IPW*RPM)/1200000

It looks like that RAM value would have to be multiplied by 921616.358/1200000 = .768 to convert it to IDC.


Top
 Profile  
 
 Post subject: Re: per injector pulse width compensation (32-bit ECU)
PostPosted: Thu Apr 03, 2008 7:46 pm 
Offline
RomRaider Donator
User avatar

Joined: Thu Mar 30, 2006 2:38 am
Posts: 5336
Jon [in CT] wrote:
The first equation,
x = ((IPW * 9.04208488) * RPM) * .00000012
can be re-written as:
x = (IPW*RPM)/921616.358

If IPW is in microseconds, then I'd expect IDC to be calculated as:
x = (IPW*RPM)/1200000

It looks like that RAM value would have to be multiplied by 921616.358/1200000 = .768 to convert it to IDC.

Yeah, I didn't change the conversion after I realized it was microseconds.


Top
 Profile  
 
 Post subject: Re: per injector pulse width compensation (32-bit ECU)
PostPosted: Thu Apr 03, 2008 8:15 pm 
Offline
Experienced
User avatar

Joined: Thu Oct 19, 2006 3:34 pm
Posts: 839
Location: Putnam, CT
This might be some really really fine tuning based on cylinder pressure in a lab environment. It just doesnt look like logical VE compensation. Hard to believe they can do this much tuning and research and make something that runs so poorly.

_________________
Turbo Mike Tuning
Charlton, MA
AWD Mustang Dyno


Top
 Profile  
 
 Post subject: Re: per injector pulse width compensation (32-bit ECU)
PostPosted: Fri Apr 04, 2008 11:54 am 
Offline
Senior Member

Joined: Thu Aug 03, 2006 2:40 pm
Posts: 1934
kinda like being penny wise and pound foolish? :)

i wonder what would happen if it were zeroed out.


Top
 Profile  
 
 Post subject: Re: per injector pulse width compensation (32-bit ECU)
PostPosted: Fri Apr 04, 2008 12:57 pm 
Offline
Experienced
User avatar

Joined: Thu Oct 19, 2006 3:34 pm
Posts: 839
Location: Putnam, CT
ride5000 wrote:
kinda like being penny wise and pound foolish? :)

i wonder what would happen if it were zeroed out.


If/when I convert to the 32 bit ECU I'll try it :D

_________________
Turbo Mike Tuning
Charlton, MA
AWD Mustang Dyno


Top
 Profile  
 
 Post subject: Re: per injector pulse width compensation (32-bit ECU)
PostPosted: Fri Apr 04, 2008 1:04 pm 
Offline
RomRaider Donator
User avatar

Joined: Thu Mar 30, 2006 2:38 am
Posts: 5336
I still need a tester to run some logs for me for an 07 STi or 06/07 WRX where I can verify if the per cylinder comp is impacting the final IPW.


Top
 Profile  
 
 Post subject: Re: per injector pulse width compensation (32-bit ECU)
PostPosted: Fri Apr 04, 2008 1:49 pm 
Offline
RomRaider Donator
User avatar

Joined: Thu Mar 30, 2006 2:38 am
Posts: 5336
I think I'll add the following "engineer" logging items to the next logger defs. Currently when logging all of these extended parameters, it would be 28 bytes per request, which would be reduced to 11 bytes, which is quite significant and will reduce the sampling interval or allow the user to log more parameters without increasing the interval.

16-bit:
Engine Load
Manifold Absolute Pressure - (same as MAP (direct) - no effective limit)
TD Integral Cumulative Correction
TD Proportional Correction

8-bit:
FBKC
FLKC
IAM


Top
 Profile  
 
 Post subject: Re: per injector pulse width compensation (32-bit ECU)
PostPosted: Fri Apr 04, 2008 5:12 pm 
Offline
RomRaider Donator
User avatar

Joined: Sun Apr 09, 2006 4:05 pm
Posts: 867
Location: Indianapolis, IN
Yeah that's really cool. It is very difficult to log some items that are only available as alts in full 32bit FP. It slows the logger down a lot. 8bit is not really precise enough for many parameters, like IPW. I hadn't noticed there was a section that stored all these 16 bit parameters. This will be very useful. Maybe future log defs can have something like IPW8, IPW16, IPW32, etc.

I haven't had a chance to look into this yet.


Top
 Profile  
 
 Post subject: Re: per injector pulse width compensation (32-bit ECU)
PostPosted: Fri Apr 04, 2008 6:56 pm 
Offline
RomRaider Donator
User avatar

Joined: Thu Mar 30, 2006 2:38 am
Posts: 5336
Freon wrote:
Yeah that's really cool. It is very difficult to log some items that are only available as alts in full 32bit FP. It slows the logger down a lot. 8bit is not really precise enough for many parameters, like IPW. I hadn't noticed there was a section that stored all these 16 bit parameters. This will be very useful. Maybe future log defs can have something like IPW8, IPW16, IPW32, etc.

I haven't had a chance to look into this yet.

Yeah, I'll keep the existing float parameters and just rename the others, for example, "Fine Learning Knock Correction (8-bit)", "Engine Load (16-bit)" or something so the user would have a choice of precision or speed. The final IPW is not included, only the calculated IPW (also used for the x-axis of the compensation tables).


Top
 Profile  
 
 Post subject:
PostPosted: Fri Apr 04, 2008 8:51 pm 
Offline
Experienced

Joined: Sat Mar 10, 2007 5:16 pm
Posts: 212
Location: Ukraine
merchgod wrote:
I still need a tester to run some logs for me for an 07 STi or 06/07 WRX where I can verify if the per cylinder comp is impacting the final IPW.


Can test it on 06FXT if you'd like

Little off: is there way to look at injection phasing?


Top
 Profile  
 
 Post subject: Re:
PostPosted: Fri Apr 04, 2008 9:34 pm 
Offline
RomRaider Donator
User avatar

Joined: Thu Mar 30, 2006 2:38 am
Posts: 5336
®@©E® wrote:
merchgod wrote:
I still need a tester to run some logs for me for an 07 STi or 06/07 WRX where I can verify if the per cylinder comp is impacting the final IPW.


Can test it on 06FXT if you'd like

Little off: is there way to look at injection phasing?

I'm sure there's a way, just not sure how. It gets hard to follow in parts.


Top
 Profile  
 
 Post subject: Re: per injector pulse width compensation (32-bit ECU)
PostPosted: Sat Apr 05, 2008 6:08 pm 
Offline
Experienced
User avatar

Joined: Wed Feb 13, 2008 3:00 am
Posts: 153
If you need a tester to log 06 wrx, shoot me a pm.

_________________
06 Wrx Wagon 2.3 longrod in the works


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 79 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6  Next

All times are UTC


Who is online

Users browsing this forum: No registered users and 7 guests


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

Jump to:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Style based on FI Subsilver by phpBBservice.nl