XDF Progress

tony@codewerx

Corporal
Apr 1, 2017
172
40
0
Ride
E92

already know that.

I meant is it really worth adding this in ...
 

carabuser

Lieutenant
Oct 2, 2019
870
1
766
0
UK
Ride
Z4 35i & 335i
already know that.

I meant is it really worth adding this in ...
I think any table that is modified by the OE is useful in the XDF. This table was modified on cars with DCT transmissions to taper boost target and prevent closures on shifts so probably not much use for MT users since they lose all boost during shift anyway.

There's a mountain of useful tables that could still be added so I'm interested to see what's coming. I expect the burble tables will be included like fuel cut delay in normal/sport, fuel cut delay while static and also the timing reduction during overrun. Again, these tables are modified by BMW depending on the application of the N54 so if you're a 335i driver that wants Z4 style burbles/bangs then it's very useful.

Another one that would be useful to add is the accelerated pass tables. It was a noise control function built in to close the exhaust flap during acceleration. Currently even if you set all the exhaust flap tables to open the flap will still close momentarily if you accelerate. I only defined the gear threshold for it so I can turn it off (make it only operate in 8th gear) but there's a group of tables that alter when the function activates depending on pedal and gear. It makes quite a difference to the exhaust sound if you still run with exhaust flap active.

All the variant toggles are useful too. cruise, trans type, DMTL, US/EU spec, hydraulic/EPS, vehicle power class.
 

JohnDaviz

Lieutenant
Jan 6, 2019
863
577
0
Ride
335i E92 DCT
@carabuser Do you know if in these tables there is also the possibility to have the flap close only in P and N on a DCT? I set it open everywhere except in gear 0 but when simply stoping at a traffic light the flap would close.
 

carabuser

Lieutenant
Oct 2, 2019
870
1
766
0
UK
Ride
Z4 35i & 335i
@carabuser Do you know if in these tables there is also the possibility to have the flap close only in P and N on a DCT? I set it open everywhere except in gear 0 but when simply stoping at a traffic light the flap would close.
I can't remember the logic priority exactly but the flap should almost always be open while at a stop. The highest priority is cold start where the flap is forced shut but after that it looks at the static position which is set to open at speeds below 17kmh. Only after the vehicles moves does it look at the torque request lookup table of gears and rpm.
 

BloodyZ4

Private
Mar 17, 2021
29
14
0
Germany
Ride
Z4 35i DCT
Another one that would be useful to add is the accelerated pass tables. It was a noise control function built in to close the exhaust flap during acceleration. Currently even if you set all the exhaust flap tables to open the flap will still close momentarily if you accelerate. I only defined the gear threshold for it so I can turn it off (make it only operate in 8th gear) but there's a group of tables that alter when the function activates depending on pedal and gear. It makes quite a difference to the exhaust sound if you still run with exhaust flap active.

Could you share that table? I've been trying to get rid of that as well, when driving the exhaust closes between 3000-4000 RPMS while downshifting or when I only apply light throttle. I think it has something to do with noise emission control, cuz that is roughly the RPM range the cars are tested in :D
 
Last edited:

carabuser

Lieutenant
Oct 2, 2019
870
1
766
0
UK
Ride
Z4 35i & 335i
Here's all the exhaust flap tables from my XDF.

Just set the accelerated pass to "8" and it will never activate. I didn't even realise it was a thing until @Asbjorn mentioned it to me, I checked through the logic and sure enough there's some annoying function built in to close the noise flap. The documentation says it's to reduce exhaust noise when slightly accelerating, not really something any of us want :)
 

Attachments

  • Exhaust Flap.xdf
    20.5 KB · Views: 38

carabuser

Lieutenant
Oct 2, 2019
870
1
766
0
UK
Ride
Z4 35i & 335i
Updating the XDF files is more work than it seems. Just adding the tables into one ROM variant is time consuming to do correctly but then having to go through each ROM revision and find them is so boring. I like TunerPro but it's not very fast for table creation. Some work can be done in notepad but it's so easy to make a typo.

It's also quite thankless because very few people self tune, the majority of the benefit is to the tuners who charge people for these changes.

Are there any tables you're waiting for in particular?
 
  • Agree
Reactions: GreyNBlueE92

mj6234

Corporal
Nov 25, 2020
161
58
0
I'd be interested in the LPFP setpoint/pressure target and the associated PID tables as well as the HPFP PID tables. Bonus points if there are other tables that govern the cold start HPFP operation. I have IJEOS.

I self tune. After doing it myself, it would be very hard to go back to a locked tune managed by someone else.
 
  • Agree
Reactions: Jeffman

carabuser

Lieutenant
Oct 2, 2019
870
1
766
0
UK
Ride
Z4 35i & 335i
I have a lot of LPFP tables defined in INA0S but they are pretty badly named, I just used the symbol information from the code rather than spending time naming them properly. With some tables that were clustered together I just lumped them all into 1 table.
I defined them because I wanted to get the Z4 35is binary file to run on my 335i so needed to copy the LPFP parameters into the Z4 bin as it has a different LPFP system.

I haven't decompiled IJE0S so finding anything would have to be done manually. Might be easier to start with the IKC0S addresses in the DAMOS and work back to IJE0S but I've attached the tables I defined in case it helps.

Not sure how much there is to be gained from the PID tables. I logged the command signal to both the HPFP and LPFP quite extensively when troubleshooting the LPFP control in the Z4 bin, most of the time under heavy load the pump/return valve are running at 100%. The dips you see in rail pressure are related to increasing demand and not the control loop being lazy.
 

Attachments

  • INA0S LPFP.zip
    4.1 KB · Views: 40
  • Like
Reactions: GoldenGYPSY69

mj6234

Corporal
Nov 25, 2020
161
58
0
Z4 doesnt have a LPFP sensor though right? I know after stage 2 LFPP, I see my pressure bouncing a bit at WOT (between 70 and 95psi) and if you stay at WOT long enough the LPFP sticks at like 84psi or something until restart. I assume that is because the PID timed out, but might be wrong.
 

carabuser

Lieutenant
Oct 2, 2019
870
1
766
0
UK
Ride
Z4 35i & 335i
Correct, no sensor on the Z4, pump runs open loop.

I didn't consider aftermarket solutions, almost certainly going to need to adjust the control if you've upped the pump size.

ip_fup_sp_hom is the table you want to look at for the target pressure. Y Axis is fuel flow through injectors, X axis is RPM. I'd lower those values in areas where the oscillation is.

For the PID control you want to look at IP_EFPPWM_P and IP_EFPPWM_I. I don't think it's a true PID controller, more just a correction factor based on the difference between the target pressure and the actual pressure. I think that's more often called "nudge and wait" control in the automation industry. It might also need lowering but I'd start with that base table first.
 

KClemente

Sergeant
Nov 26, 2019
284
147
0
Ride
E90 335i
Correct, no sensor on the Z4, pump runs open loop.

I didn't consider aftermarket solutions, almost certainly going to need to adjust the control if you've upped the pump size.

ip_fup_sp_hom is the table you want to look at for the target pressure. Y Axis is fuel flow through injectors, X axis is RPM. I'd lower those values in areas where the oscillation is.

For the PID control you want to look at IP_EFPPWM_P and IP_EFPPWM_I. I don't think it's a true PID controller, more just a correction factor based on the difference between the target pressure and the actual pressure. I think that's more often called "nudge and wait" control in the automation industry. It might also need lowering but I'd start with that base table first.
Currently trying to fix my rail pressure oscillation with my helix x3. I've raised the targets in ip_fup_sp_hom to reasonable values (converted to psi) that should easily be achievable via the helix. With these setpoints, I still get peaks of 2250-2400 psi and valley of 1350 psi, averaging 1650 psi.

Any other maps you got in mind?

I'm thinking external fpr next with a set low pressure of 80+ psi to feed the helix enough fuel.
 

Attachments

  • Screenshot (67).png
    Screenshot (67).png
    68.3 KB · Views: 52

carabuser

Lieutenant
Oct 2, 2019
870
1
766
0
UK
Ride
Z4 35i & 335i
Currently trying to fix my rail pressure oscillation with my helix x3. I've raised the targets in ip_fup_sp_hom to reasonable values (converted to psi) that should easily be achievable via the helix. With these setpoints, I still get peaks of 2250-2400 psi and valley of 1350 psi, averaging 1650 psi.

Any other maps you got in mind?

I'm thinking external fpr next with a set low pressure of 80+ psi to feed the helix enough fuel.
There's 2 parts to the fuel pressure control. The LPFP which is usually referred to as EFP and is calculated in the Continental area of the code and then there's the high pressure system which is referred to as just FUP or RAIL and of which most logic is done in the BMW area.

If your low pressure is consistent and at 60 or above then it might just be a case of getting the right high pressure target. You want to be looking at KF_PRAIL_H for that. I think the table you are manipulating might be ignored, it depends if the fuel pressure target is set to internal or external, look at the flag "S_PRAIL_SW" in your bin, if set to 1 then you are in external fuel pressure control and the pressure target is originating from the BMW layer.
 

all4bspinnin

Corporal
Jun 12, 2017
178
98
0
Ride
135i TT
Currently trying to fix my rail pressure oscillation with my helix x3. I've raised the targets in ip_fup_sp_hom to reasonable values (converted to psi) that should easily be achievable via the helix. With these setpoints, I still get peaks of 2250-2400 psi and valley of 1350 psi, averaging 1650 psi.

Any other maps you got in mind?

I'm thinking external fpr next with a set low pressure of 80+ psi to feed the helix enough fuel.
Set your rail pressure target to 22 mpa (3100psi) and see if it smooths out