Our VIP Package gets you every single course at 80% off the individual price. For a limited time, save an additional $100 with coupon code 100VIP. Learn more

Practical Reflash Tuning: Step 3: Configure Base Tune File

Watch This Course

$229 USD

Or 8 weekly payments of only $28.63 Instant access. Easy checkout. No fees. Learn more
Course Access for Life
60 day money back guarantee

Step 3: Configure Base Tune File


00:00 - In the third step of our process we're going to go through and make some of the core changes to our ROM configuration, ready for flashing that into the ECU.
00:09 Now the sort of magnitude of changes, and in fact the changes that you're going to make full stop during this particular step are going to depend largely on the sort of modifications made to the vehicle.
00:20 In our case, we could actually just get the engine up and running and start performing some runs on our dyno to see where we sit because we really only have made minor changes.
00:31 On the other hand, if you've made more dramatic changes to the like of the mass airflow sensor, or the injectors then you're going to need to make some core changes here before you can even get the engine up and running to start dialling in your calibration.
00:45 So what we're going to do is go through our menu structure in order.
00:49 We'll point out some of these key tables and explain a little bit about how they work and the sort of changes that you may see fit to make.
00:56 What we also need to understand when we are making these changes is that there aren't a lot of absolutes when it comes to reflashing Subaru vehicles.
01:03 What I mean by this is the way I personally deal with some of these changes, may be different to how you want to deal with them yourself and that's absolutely fine.
01:12 A lot of it comes down to understanding the processes and principles behind it and then you want to actually test and find what works for you, what you like and what you don't like and you can then pursue that specific part with your own tuning.
01:25 So let's get started and what we're going to do initially is we're actually going to close down our ROM file.
01:31 So we can do that from our file menu, just simply choose close ROM and then we're going to click on open again and we're going to open up our file again.
01:39 This time making sure that we're choosing the tuned file.
01:42 Now the reason I've done that is that just eliminates all of the undefined maps and you can see now our menu structure over here is nice and clean, we've only got access to the maps that are actually defined, the ones that we can change.
01:54 So that's going to just clean up that menu structure as we're going through.
01:59 So we're going to start here with our boost control parameters and in particular here we've got our target boost table, we can bring that up and we can see here we've got our 3D table RPM versus our requested torque.
02:14 So this requested torque value, when you are making changes to your boost control, is something that you're going to need to understand.
02:20 We'll have a look a little bit further through this particular module, of where these numbers come from and you can also log that requested torque parameter so that you do know exactly where you are sitting in this table.
02:31 Particularly given that we've got that larger turbo, we know that's going to be a little bit lazier and one of the effects of this is that our boost targets, particularly down here in the lower region, there's no chance we're going to be able to hit these boost targets due to the laggier nature of this bigger turbo.
02:48 And if we don't address this what it can do is cause some problems with over boost and where the closed loop control algorithm is essentially so wound up trying to achieve our targets that it will initially overshoot and then come back and oscillate.
03:03 So in instances where we are fitting a bigger turbo, it can be useful to just reduce those boost targets in the spool area down a little bit.
03:09 Not going to address this right now because we can come back and see how this is actually working as we go through the process of tuning but it's good to just understand what's going on here.
03:20 Also if we've got a larger turbo, we may choose to just drop these boost targets down significantly right across the board while we're getting up and running.
03:27 So we're not going to make any changes here but at the same time we do want to also talk about another couple of boost control parameters.
03:35 We've got our boost limit here which is as it says, a fuel cut.
03:39 We obviously want to make sure that we do have a reasonably sensible boost cut set up here.
03:45 You can see that in this case, the axes are RPM versus atmospheric or barometric air pressure.
03:51 Important to mention here that these numbers are absolute so you need to remove atmospheric pressure off these in order to get an actual boost target.
03:58 Again I'm going to leave these unchanged for the time being.
04:03 Moving down, there are another couple of parameters here that also interface with our boost control which is our initial wastegate duty and our max wastegate duty.
04:11 Let's just open both of those tables up and we'll see what we've got going on in here.
04:16 So the initial wastegate duty table is as its name implies, the point that the ECU will revert to as we come up into boost, so this will be where the closed loop control system goes to before, the open loop control goes to I should say, before closed loop comes in.
04:33 The maximum duty cycle of course as its name implies, just the maximum duty that can be applied.
04:39 It's important to note that in stock form there is a 15% difference between the initial duty and the final duty or max duty.
04:47 And we tend to try and retain that 15% split across these tables.
04:51 The way to do this is to simply make our changes to one table then we can copy these across to the other table and then just add 15 or subtract 15 depending which way we're going.
05:02 And again, in particular we may find that in the spool area of these tables we may need to reduce these numbers, particularly if we are getting overboost.
05:12 Again, I know for now that we can at least perform wide open throttle ramp runs with these factory tables so I'm not going to change those for the time being.
05:20 We'll just close down our menu structure a little bit to simplify it and we can move down a little bit into our fuelling.
05:28 Now this is one of the areas that we will be spending a reasonable amount of our time and we've got two tables here that are key.
05:35 We've got our primary open loop fuelling and our primary open loop fuelling failsafe.
05:40 Let's bring both of these up and we'll have a look at them one on top of the other.
05:44 So the idea here is that primarily we should be running on our open loop fuelling main table.
05:50 The failsafe is there if the knock control strategy finds that the engine is suffering from significant amounts of knock and as we can see here, if we compare the numbers in our main map here, 2.8 grams per revolution, to the same area of our failsafe map, we can see significantly richer targets in the failsafe map.
06:09 Now in general we can simply ignore that failsafe map, the reason for this is we are going to be tuning this engine specifically to suit our modifications as well as the local fuel that we're going to be running on.
06:22 So in other words, if we do our job properly we should never be in a situation where we'll drop into that failsafe map.
06:27 Albeit, if we do, these numbers are so rich that it's going to be able to do its job anyway so personally I don't see the need to change that.
06:35 We'll close that down.
06:37 Now another important aspect here that does make it much easier to visualise these maps is that we do have the ability to go to the view menu and you can either click on view graph or click alt plus G and that will show you a graphic depiction of the particular table you're looking at.
06:53 You can also choose to drag that around so you can see the sort of details that you're looking for.
06:58 Now in this particular instance we've got our table set up, we do need to understand where abouts we're operating in this table because natively, engine load in terms of grams per revolution may not make a lot of sense.
07:12 Fortunately as you'll see, once we start running the car we're going to be able to scan the engine load and we're going to know exactly where we are in this table.
07:19 What we can see is particularly in the higher load and higher RPM regions of this table, the factory air/fuel ratio targets are incredibly rich, definitely much richer than what I would normally choose to tune for.
07:32 Now that's all well and good but what we want to do before we make wholesale changes to this table is make sure in our next step that our MAF scaling is suitable.
07:40 So what we're going to do here is make our changes to our air/fuel ratio target table in two ways.
07:47 I'm actually going to start by setting it to an across the board target of 11.6:1.
07:52 At least in the positive load areas of this map where we're likely to be during a ramp run.
07:59 So we can do this by simply highlighting the areas of the table that I'm interested in.
08:02 In this case I'm going to come down to 1.45 grams per revolution and what this is going to do is encompass essentially the entire area of that table we're going to be operating in during a ramp run.
08:13 Now that we've got that area of the table highlighted I'm just going to press the equals key and we can enter a value of 11.6.
08:20 Now obviously at this point we've got a couple of problems, we've got this area here as well as this area here where we've got some weird steps in this table.
08:31 I'm not going to worry about that for the time being, we're going to come back and readdress this table once we've got our mass airflow sensor scaled and we're going to put some much more realistic targets into here.
08:42 And it's not to say that you can't scale a mass airflow sensor with a curving air/fuel ratio target, that is achievable but we do see some latency in the measured air/fuel ratio tracking changes in our target.
08:55 So I always find that we get a better result when scaling the mass airflow sensor if we are shooting for one fixed target.
09:01 And here what we'll do, as we move into the next step we'll see in more detail but we're going to be tuning in closed loop where it's obviously targeting 14.7:1 and then we'll switch into open loop where now we know that we're targeting a fixed 11.6:1.
09:15 Now I will also mention here the scaling of our load axis and we can see here that we go out to a maximum 3.4 g per revolution.
09:24 Understandably this is going to be more than adequate for a factory engine.
09:28 Given that we are running a bigger turbocharger, we are expecting a little bit more airflow and potentially we may also run a little bit more boost, this may have us running slightly off that scale.
09:40 In the instance of our air/fuel ratio target table, that's actually not a big concern for me.
09:44 Because generally once we're up about 3.4 g per revolution, we're going to have the richest sort of air/fuel ratio targets we're likely to be wanting and basically what the ECU will do is hold that air/fuel ratio target fixed as we extend beyond 3.4 g per revolution.
10:03 So this again comes down to a personal preference.
10:05 If you're expecting to go significantly beyond 3.4 g per revolution and you do want to have the ability to richen or change your air/fuel ratio targets beyond that 3.4 g load column, then certainly you can rescale that and we'll show you how we do that as we get into our ignition table.
10:23 For now I'm happy with that though and I'm going to close that table down.
10:27 While we have quickly discussed our primary open loop fuelling failsafe map, it's also important to mention that this works in conjunction with this other parameter here which is our primary open loop fuel map switch.
10:38 So this works off a parameter called the ignition advance multiplier or IAM.
10:43 We're not going to dive into that in too much detail right now because we'll talk about that when we get into our ignition timing tables.
10:50 For now it's enough to know that if that value drops below 0.25, this is when the ECU will drop into that failsafe map and again, we should never be in a situation where we have our IAM parameter anywhere near 0.25.
11:04 So we can close that down, we'll close our primary open loop fuelling and the next thing we're going to move into is our closed loop fuelling.
11:12 Now this is where the ECU understandably is operating in closed loop mode.
11:17 And in most instances we expect the ECU will be targeting the stoichiometric air/fuel ratio there, 14.7:1.
11:24 In this instance, the car is actually fitted with a wideband air/fuel ratio sensor for the front O2 sensor so it can target away from 14.7:1.
11:34 There's some interesting interactions here because Subaru tend to try and make the ECU work in closed loop mode as much as they can.
11:42 Generally targeting as close to stoichiometric as possible.
11:46 And the reasons they're doing this is for emissions compliance as well as reducing fuel economy.
11:52 That's all well and good in a stock car but for our purposes, our aims are a little bit different and definitely targeting stoichiometric air/fuel ratios up into the positive boost areas can be problematic.
12:03 Particularly as we start fitting larger turbos, running more boost, this in particular can result in a tendency for the engine to be very knock sensitive as we're going through the transition up into positive boost pressure.
12:16 So one of the changes I like to make here is to a couple of these tables.
12:19 Basically eliminating the delay in moving into our open loop operation as well as changing some of the closed loop compensation targets.
12:29 So let's have a look at that.
12:31 What we're going to do for a start is look at two tables here which are our closed loop target compensation A and B.
12:37 Now we don't necessarily know which of these tables the ECU is operating in and you'll see as we move through this particular module, this happens in quite a few instances.
12:47 In some instances we can choose to simply copy and paste the value changes across to our other tables.
12:54 In other cases it's better to keep the tables separate.
12:57 In this particular instance we can see these two tables, there are some differences in the values, albeit they are relatively minor.
13:05 In particular here if we look at the values around 2000 and 2400 RPM, 0.70 g per revolution, and we look at the same values here in the B table, they are different.
13:18 Let's talk about what these tables do and how they affect our air/fuel ratio.
13:23 So these are a compensation to the stoichiometric air/fuel ratio based on our load and based on our engine RPM.
13:29 So how this works, let's just look at one particular value here.
13:32 Let's look at 1.6 g per revolution, 5000 RPM.
13:36 And you can see that the compensation there is -2.205.
13:41 Let's bring up our calculator and we'll enter our stoichiometric air/fuel ratio which pump gas we know is 14.7 and now we're going to minus 2.205 off that.
13:52 This gives us a target of 12.495, let's call it 12.5:1.
13:58 Now at 1.6 g per revolution we're into positive boost but not too far into it.
14:03 That's probably still a little bit leaner than I'd like to be running but the problem area is that we can see if we are spooling up our turbo much below 5000 RPM, we're essentially still targeting very close to stoichiometric in the compensation table.
14:19 So this is why the engine tends to run lean as it transitions from closed loop to open loop.
14:26 So what we're going to do here is make some changes to this table.
14:29 For a start, out at this point here at 5000 RPM, 1.6 g per revolution, I'm probably going to want to be a little bit richer than what we're currently looking at so let's bring up our calculator again.
14:43 Let's say we've got our stoichiometric air/fuel ratio of 14.7, I'm probably going to be wanting to be running more like 12.0 at that point so we'll take 12 off that.
14:53 This gives us a difference of 2.7 so this is what we want to put into this area of the table.
15:00 We can enter that change by pressing the enter key and then entering -2.7.
15:05 Now what we're going to do is also extrapolate that change back a little bit in the RPM.
15:10 So down at the 1200, 1600 and 2000 RPM range, I'm going to enter a value there of -2.2, that's going to give us around about that 12.5:1.
15:22 Then what we can do is highlight the table values down that column and we can use the vertical interpolate function which we can achieve by pressing the V key.
15:31 Now if you ever are wondering about what keys do what in terms of the editing, if we click on the little edit icon or menu there, you can see this shows us all of the options available there.
15:43 We can manually increment or decrement the values or we can set them to a fixed value or alternatively we can use these interpolate values which I've just done there.
15:53 So this gives us our 1.6 g per revolution.
15:55 I'm also going to make some changes here at 1.4 g per revolution and it will be a little bit less excessive here so we'll make the first change minus two.
16:06 We'll also make the changes here up to 2000 RPM.
16:10 We might want to make these something like -1.5 and again I'm just going to use the horizontal, sorry vertical interpolation there to make those chnages.
16:20 Now what I'm going to do is highlight the changes we've made to that A table, we'll highlight them and then using control C, that will copy them to the clipboard, we can then click into our B table, control V will paste those so we've made appropriate changes to both of those tables.
16:36 So that's our closed loop targets dealt with.
16:39 We'll close that down now, we'll come to our closed loop to open loop delay.
16:43 So this is where the ECU purposefully delays that transition to open loop until it's confident that the conditions actually require it.
16:51 Again there's multiple schools of thought on how to deal with this.
16:54 Testing for myself, I find that eliminating this delay as much as possible is beneficial.
16:59 It means that we're going to be quicker onto our open loop targets and generally in particular this achieves more part throttle torque as well as we're ramping up onto boost.
17:11 So there's a couple of parameters we're going to adjust here.
17:13 One of them here is the closed loop to open loop delay parameter.
17:17 We'll click on that and this is a raw number so it doesn't mean that it's going to be 750 ms for example but what I'm going to do here is we'll have the equals key and we'll eliminate that by setting that to zero.
17:32 There are a variety of other tables and parameters in here.
17:35 The only other one that I'm going to focus on here for our example is our closed loop delay maximum engine speed per gear.
17:41 We'll open that up and we can see the target RPM that we must exceed for the ECU to fully go into open loop mode again set quite high there.
17:52 We can see that we do have 100 RPM variation between the points where it'll switch on each of the gears.
18:00 For simplicity here what I'm going to do is just highlight that entire table and we'll set that to 2500 RPM, again just making sure that above 2500 RPM, we can fully switch into open loop mode.
18:12 So we'll close that down now, we can close down our fuelling.
18:15 One of the areas that you will need to spend some time if you are adjusting your fuel injector size is in our fuel injector parameters here.
18:25 So we've got a couple that are key here.
18:27 The first one we'll look at is our fuel injector flow scaling.
18:30 So this is one of the key aspects that correlates reasonably closely but not perfectly to our injector size.
18:37 In our case of course we are keeping stock injectors so we're not going to modify this.
18:43 If you are fitting larger injectors then you can refer back to the body of the course which covers how to address the flow scaling constant there as well as the other parameter that comes into play which is our injector latency.
18:56 It's important to mention here that even if you are buying injectors that are properly characterised, the likes of perhaps Injector Dynamics, then their normal flow characterisation data is not going to be plug and play directly into these tables, there are some variations but we explain how to deal with that inside of the body of the course.
19:16 We've also got a set of four tables here which are a per injector pulse width compensation for each cylinder.
19:23 And personally I generally tend to leave these untouched.
19:27 We will deal in our next module with a couple of applications where you can utilise these tables but these are a 3D table based on our engine RPM and our calculated pulse width.
19:39 And the table will provide a modifier to the pulse width that's finally delivered to each injector.
19:46 Alright we can close down our fuelling now, we're not going to need to make too many other changes inside these tables here, we're going to come down next to our mass airflow sensor and engine load.
19:58 Again given that we are running a stock mass airflow sensor, I'm not expecting to need to make changes to our mass airflow sensor scaling but it may pan out in our next module that this is required.
20:10 However if you have fitted a larger mass airflow sensor then you're going to need to deal with this before we can get started.
20:17 Let's have a look here and the main parameter or table that we're going to deal with here is our mass airflow sensor scaling and if we click on that we can see we've got a 2D table there.
20:27 Again we can click view graph and we see it graphically.
20:31 We've got voltage out of that mass airflow sensor versus our mass airflow in grams per second.
20:38 Now again just referring back to the body of the course, if you do need to make changes the general trend there, at least to get us up and running, is to measure the cross sectional area of the stock mass airflow sensor, compare that to the cross sectional area of your new larger MAF tube and then represent this as a percentage change which can then apply directly into this entire table.
20:57 It's not going to be spot on but it's going to get you into the ballpark so you'll at least be able to get the engine up and running.
21:04 There are a couple of other parameters in here that we may need to make adjustments to.
21:08 We've got our MAF limit.
21:10 Now there is obviously a limit to what the mass airflow sensor can read.
21:14 It's a zero to five volt output so if you're pegged at five volts, it doesn't matter what you change this parameter to here, you're not going to be able to get a reading beyond that so this really comes down to choosing your mass flow limit value in conjunction with the size of your mass airflow sensor tube if you're running beyond the limit of that stock mass airflow sensor.
21:34 There are also a couple of load limiters in here as well which may need to be addressed if you are running bigger turbos and higher boost, we've got our engine load limit A and B and we can see how those are set up there.
21:47 Four grams per revolution and 3.9 g per revolution.
21:52 And again i'm confident we're not going to be anywhere near those limits so no need to make any changes there for our purposes.
21:59 Let's close our mass airflow down and we're going to move in now and have a look at our ignition timing.
22:04 Ignition timing is a aspect that is important to understand on any engine obviously but particularly when it comes to the Subaru ECU, there is quite a unique way that they deal with the ignition control.
22:15 A lot of factory ECUs will use a high and low octane ignition map and in this case Subaru includes some base ignition timing tables and then allow additional timing to be added over and above depending the feedback from the knock control system.
22:31 So we're just going to explain how this works in this module here so you've got a better understanding.
22:36 For a start we can see, under our ignition advance we've got four sets of tables here, and this can be a little bit confusing.
22:42 They're labelled base timing, primary cruise, reference cruise, ABCS related, we've got primary non cruise and reference non cruise ABCS related.
22:51 Now that can be a little bit confusing.
22:53 Again just like we talked about earlier, we may not necessarily know exactly which of these tables is being used at any particular time.
23:00 However if we open a couple of these tables up here, we can actually see if we compare the tables that the numbers are identical across the tables.
23:09 I've only opened two there but the same pans out for the other two tables.
23:13 So this is quite common and what this means is that we can simply make our changes to one table, copy and paste those across to the other three tables and that's going to work well for us.
23:25 Let's look for a moment here at our base timing primary cruise table.
23:30 So obviously exactly what we'd expect here, we've got a 3D table versus engine RPM and our engine load.
23:37 Engine load again of course grams per revolution.
23:41 Now the first problem we've got here is we can see that our maximum load value is 3.4 g per revolution.
23:46 As I've already mentioned, we're likely to just barely exceed that.
23:50 And unlike the fuelling where the fuelling is probably going to be just fine maintaining the same air/fuel ratio targets as we move beyond 3.4 g per revolution, with our timing, we're more likely to want to be able to retard the timing as we exceed the 3.4 g per revolution column.
24:09 So how we're going to deal with this is we're going to start by simply selecting the brake point there and I'm expecting we're going to be running between about 3.4 and 3.5 g per revolution so I'm just going to use the equals key and we're going to set that to 3.6.
24:25 Now what we do want to do here is try and maintain a nice smooth tranistion here so rather than just making that one change, what I'm going to also do is highlight the cells to the left there and I'm going to press the H key which is for horizontal interpolation and that'll just smooth that change for that middle cell there, it's changed from 3.25 g per revolution to 3.35.
24:47 Now making that one single change there actually has the effect of slightly advancing our timing as well.
24:55 What that means is that now when we are running at 3.35 g per revolution, let's say this particular site here, we're going to have the timing that would have previously been suited to 3.25 g per revolution.
25:09 Just needs to be kept in mind, it can be a good idea there to just start by artificially retarding your timing half a degree to a degree when you're making changes to your break points there just so you're going to be a little bit safer as you start moving into the positive boost high load areas.
25:26 We can do that by highlighting the entire column and here I'm just going to use the decrement key and we can do that again with our 3.35 g per revolution column.
25:38 Alright so now that we've got a base table just adjusted for our break points there broadly, we need to understand how the interaction works with our knock control strategy.
25:48 Now if you've ever tuned engines that are turbocharged before, let's say we pick a point here, 4000 RPM and 3.1 g per revolution, an area that we quite likely could get to when we're running the car on the dyno.
26:02 We can see that our base ignition timing is essentially zero degrees.
26:05 Now it's very unlikely that we're going to want to be that retarded or going to need to be that retarded in our ignition timing at that particular point.
26:13 And in fact in the lower areas of the map where we are still at low RPM, 2800, 3200 RPM, we can see we've got negative values.
26:24 So let's see how that all works and that works in conjunction with some other maps that we've got down here.
26:30 We've got knock correction advance max cruise and non cruise.
26:34 Again these two tables in this particular ROM, identical, we're going to treat them the same, making changes to both tables and making sure that they are equal.
26:43 Let's bring up our knock correction advance max cruise table though and we'll have a look at this.
26:49 So again we'll just view the graph at the same time.
26:52 You can see what this table is doing.
26:54 And how this works is that our base timing table, this is, as its name implies, the base or minimum timing that the ECU will use.
27:04 However based on the feedback from the knock control strategy, the ECU can then choose to add in some amount of the timing from this particular table.
27:14 So there is another parameter called the ignition advance mulitplier, we touched on that briefly before, or IAM it's also referred to as dynamic advance multiplier in some tuning strategies but essentially it's the same thing, it's a number that varies between zero and one based on the amount of knock activity that the ECU is detecting from the knock sensor.
27:36 So in a properly tuned ECU the ignition advance multiplier is definitely one of those parameters we want to keep a careful eye on because it gives us a pretty good insight into how well tuned the ignition tables are.
27:47 Ideally we always want to see that IAM value sitting at 1.0.
27:52 Now how this works is that the ECU will take the value from the knock correction advance max table, that will then be multiplied by the IAM value and then it can be added on top of the base timing value.
28:06 So let's have a look at a particular example here.
28:10 Let's say we are running here in this particular cell that I've already highlighted, 3.1 g per revolution and 4000 RPM.
28:18 So we know that our base value there is zero degrees or essentially zero degrees, let's just round that for simplicity.
28:25 Let's have another look though at our other table, our advanced table and if we find our 4000 RPM zone here, we can see that the number in this table is 15.5°.
28:37 So what this means is that if we've got no knock activity, our IAM is sitting at 1.0, the ECU takes 15.5°, multiplies that by one and then adds it on top of our base value of zero degrees.
28:51 So essentially the timing delivered to the engine will be 15.5°.
28:55 Now on the other hand, if we have had some knock activity and the advanced multiplier has dropped down to let's say 0.5, well in that instance we're going to be adding half of that so 15.5 multiplied by the IAM, 0.5, that's going to give us approximately 7.5, 8°, that's going to be then added on top of our 0° base value so we're going to end up with 8°.
29:20 So that's how the strategy works.
29:23 The problem with this is that in stock form we can see, particularly graphically that the numbers in the advanced max table, the knock correction advance max table are quite haphazard, we've got some pretty big peaks and troughs.
29:37 And often we actually see this pan out in the calibration as well, when we run the car on the dyno, we can quite often see with Subaru vehicles some quite large spikes in the torque, particularly down low.
29:51 So my own personal preference here is that I like to reduce the amount of control that the knock correction advanced max table has and then I'm going to add some timing into our base table.
30:03 Now again, this is personal preference, this isn't the only way to deal with this.
30:07 However it is also important to mention here that we shouldn't need the amount of knock control that the factory ECU delivers.
30:15 The reason for this is that the factory calibration is set up for a vehicle that's going to be delivered to markets all around the world, it's going to run on various fuel grades and the calibration engineers don't know exactly what that will be so they provide a large safety buffer so that the ECU can control the advance and prevent the knock.
30:33 In our case though we're going to be tuning the engine for our specific conditions, our specific modifications as well as the fuel it's going to run on.
30:41 So again properly tuned here we shouldn't be heavily relying on our knock control strategy and in fact we should almost always be running with our ignition advance multiplier at 1.0.
30:51 So with that out of the way we're going to make some changes here to our tables.
30:56 The first thing I'm going to do here is I'm going to highlight the entire table here from 1.6 g per revolution up to 3.4 g per revolution and instead of the vast amount of control it's currently got, I'm going to set that to an across the board 6°.
31:13 Now again you may choose to use something different here but 6° of control on a properly tuned ECU, that should be absolutely adequate.
31:21 This does leave us with some ugly areas here where we've got a little bit of change to these values.
31:28 So what I'm going to do here is I'm just going to use our interpolate function here to just smooth out these numbers so we can do that basically any areas where we've got values that are dramatically different, big steps here.
31:40 I'm just going to highlight these values and we're going to use the H for horizontal interpolation so let's just go through and clean this up now.
31:53 Alright so we've got our knock correction advance max table, it's now looking a little bit more like I want it.
31:57 We're not going to have any dramatic changes in the amount of advance the ECU can add in.
32:03 There's a couple of other aspects we need to consider here.
32:05 First of all I just want to mention here that in this particular table I am not going to change the load break points.
32:11 The reason for this is again the numbers from 3.4 g per revolution column will be held if we exceed that and given that we've set that entire area to a fixed 6°, that's just going to continue out as we go above 3.4 g per revolution so there's no real problem with that.
32:28 We also do need to understand that we do need to copy and paste these numbers across to our other table so we'll do that using the shift key, holding down that, using the arrow keys to highlight, we can then use control C, we'll close that table down and we're going to bring. up our non cruise map, we can bring that down so we can see it side by side, going to click the top left corner here and control V.
32:51 That will make the same change.
32:53 So now, regardless which of these tables the ECU chooses to run on, we're going to get exactly the same effect.
32:59 Now this also brings us to the next point there where obviously we've now dramatically reduced the amount of additional advance the ECU is able to provide.
33:07 Particularly in the spool area and the lower RPM region of this table.
33:13 So if we simply flash this into the ECU and run the engine as it is, we're going to end up dramatically reducing the amount of power so what we're going to do is go some way to reinstating some of that additional timing here.
33:25 So I'm not going to be aiming for perfect values here, we know that we removed somewhere in the region of 6-8° of potential advance down in those lower RPM regions and I'm simply going to be going through and adding some of that back in manually.
33:41 So let's go through that process now.
33:58 Alright at this point we've made some changes there, it's important just to make sure that we take note of our graphical representation there, just making sure that we've got a relatively smooth trend.
34:07 And again we're not trying to get perfection at this point, we're going to obviously be coming back and optimising this table and we're just trying to get us back at least into the ballpark where we've reduced the amount of power that the advance map has and also added some of that additional advanced back into our base table.
34:24 Now that we've done that, we obviously still need to copy and paste this table out to our other three tables so we'll press control C, close that down and we can repeat the process on our other three tables, remembering that we do also want to make that same change to our load break point so let's go ahead and do that now.
34:49 Now that we've dealt with our ignition timing we can close down our ignition timing tables there and we can come down to our AVCS or variable cam control tables.
34:59 Now we can bring these up and we can see how these are set up.
35:02 These tables are a simple 3D table versus RPM and our engine load.
35:07 In most instances we're probably not going to be making wholesale changes to the variable cam control targets however certainly once we get into our ramp runs, it's possible to make small changes to these tables and see the iterative effect of those changes.
35:23 We're not going to really focus on these for this particular worked example but if you do want to make changes to the cam control targets this is where you're going to be making them.
35:32 Next we're going to move down and we'll deal with our drive by wire throttle control.
35:35 And in this particular vehicle we've got a variety of tables here.
35:40 In particular we've got our requested torque versus accelerator position for our SI-DRIVE sport, sport sharp and intelligent modes.
35:49 Let's just open one of these tables up and we'll have a look at how it's set up.
35:53 So we can see here, again a 3D table, this time the horizontal axis is the driver's accelerator pedal position.
36:00 And the numbers inside of this table are a requested torque value.
36:03 You'll remember back to when we were looking at our boost control target table, requested torque was the load axis for that particular table so we can see that in particular when we are at wide open throttle, we're requesting somewhere around about 455 newton metres through the mid range, dropping down a little bit at higher and lower RPM.
36:21 Now in general we don't need to make changes to these tables but there is the ability to affect the sort of feel of the car or the driver's accelerator pedal by adjusting these numbers, particularly down in the lower regions.
36:36 Essentially if we increase the torque targets or requested torque values at lower throttle pedal openings, this is going to result in a larger opening at the throttle body and obviously more airflow and more torque.
36:49 Now Subaru actually do this in the stock calibration given that this has the SI-DRIVE sports, sports sharp and intelligent modes.
36:58 Let's have a look at how that's dealt with by bringing up our sport sharp table as well.
37:02 And we'll just move this down so we can see both tables side by side and it can be helpful as well to view both of these tables graphically so you can see the sort of differences.
37:12 And while the shape of the tables is the same, the numbers definitely are not.
37:17 So let's have a look for example at a smaller throttle opening.
37:21 Let's say 40% accelerator pedal in our sport mode versus in our sport sharp mode.
37:29 So we can see that if for example we look at 3200 RPM, 40% accelerator pedal, the requested torque is 153 newton metres.
37:38 However at the same point in our sport sharp mode, let me just find the right spot, we're looking at a requested torque value of 230 newton metres.
37:48 So quite a dramatic difference so this will just make the car feel more responsive to throttle input.
37:53 Of course we're not actually making any more overall power, we're just getting the throttle body open sooner.
37:58 So it is possible for you to make changes to this table and affect the way the car drives, do need to be a little bit mindful, obviously if we make dramatic changes down in the lower accelerator pedal targets, this can end up affecting the safety of the car as well so I'd suggest that any changes you make here, you move carefully and make small changes, testing your work frequently.
38:20 For us though we're not going to make any changes to that table so we can close that down and we're going to move on and have a look at a few of our limiters.
38:27 And here we've got our rev limit which is where we're going to start.
38:31 Now I don't specifically want to increase the rev limit here but what we do find is that in stock form, the rev limiter can feel a little bit over bearing.
38:39 What we see here is that the rev limit will become active at 8000 RPM but it won't reintroduce or remove the fuel cut until the RPM drops below 7800 RPM.
38:50 So what this is referred to is a 200 RPM hysteresis.
38:53 Now what I'm going to do is just reduce that hysteresis down to 50 RPM, we can do that by setting our resume point down to 7950.
39:03 And this will just give a more consistent feel on the rev limiter.
39:07 Again up to personal preference though.
39:09 We've also got our speed limit tables here for our cut and our reenable.
39:14 This particular table parameter here is in mile an hour.
39:18 Again what you choose to do here is up to you.
39:20 I'm just going to select both of these parameters and set them to 200 mph which should be more than adequate for this particular car.
39:28 It does pay to keep a small amount of hysteresis in these tables, even though very unlikely to be hitting 200 mph.
39:35 We'll close these tables down.
39:37 So the changes we've looked at there are going to cover most of what you'll likely be dealing with.
39:42 We will however just cover off our OBDII diagnostic trouble codes.
39:46 These need to be dealt with with care.
39:49 Got a lot of power and a lot of control here in the open source software.
39:53 And what this can allow you to do is make your car completely illegal from an emissions standpoint.
40:00 Now this is tricky for us because the emissions legalities and what you can and can't do are very specific on your particular part of the world but you do need to tread carefully.
40:09 The onus here is on you to make sure that you understand your local regulations, you understand what you can and can't do and that you retain a car that is road legal if it is being used on the road.
40:20 Here we can just scroll down through the available parameters here, the available DTCs and you can see there is a vast array that you can make changes to.
40:30 For our application we are going to make a couple of changes to our DTCs here because we've chosen to remove the rear O2 sensor.
40:39 Now this again may not be legal depending where abouts your are in the world.
40:43 The reason we've done this is because that rear O2 sensor is used as part of the closed loop control strategy.
40:50 However in Subaru's wisdom they chose to give it an incredible amount of power.
40:55 It's got the ability to trim plus or minus 50% and what we tend to see, particularly because this is a narrowband sensor, is that it causes some irregularities in the closed loop control.
41:05 So if you do have the ability to delete it, it can actually provide more consistency in your air/fuel ratio control.
41:12 So what we're going to do here is remove those DTCs related to the rear O2 sensor.
41:18 So we can find these here, there's actually four of them that we need to deal with.
41:21 We've got P0037 and 0038 which is our rear O2 sensor low and high input.
41:27 We can click on these and those will pop up.
41:30 And the way we can adjust these is just by clicking on the parameter there where it says enabled and if we press the minus key that will change it to disabled.
41:39 We'll close those both down..
41:41 We'll also move down to our rear O2 sensor, slow response and no activity which are also likely to come up and present problems.
41:48 We'll click on those two tables, bring those up and again we're going to do exactly the same to disable those.
41:57 Once we've disable those we can close those down.
42:00 Now it is important again just to reiterate that emissions compliance is taken very very seriously by some governments so depending where you are in the world, if you do have a vehicle that is not emissions compliant, you can end up with some very large fines so tread very carefully here, the responsibility is 100% on your shoulders to make sure you understand your local laws and abide by them.