Difference between revisions of "Custom Features"

From Simos Wiki
Jump to navigation Jump to search
 
(4 intermediate revisions by the same user not shown)
Line 26: Line 26:
 
A proposal:
 
A proposal:
  
Repurpose the Eurodyne [[#Octane_Slider]] so that instead of looking up the adjustable slider value and the min and max octane values - it looks up the %alternative fuel value (measured), and calculates an interpolation value against that.
+
Repurpose the Eurodyne [[#Octane_Slider]] so that instead of looking up the adjustable slider value and the min and max octane values - it looks up the %alternative fuel value (fac_afu_ratio_det/fac_afu_ratio), and calculates an interpolation value against that.  
  
Existing settings for min and max octane for adjustable features can stay the same. The calibration can be adjusted for 0 - 50, for example.
+
Existing settings for "min and max octane for adjustable features" can stay the same. The calibration can be adjusted for 0 - 50, for example.
  
Existing octane slider functionality would be overridden/removed.   
+
Existing octane slider functionality would be overridden/removed.  The implications of the slider 'write dynamic identifier' would need to be assessed
  
Repurpose
+
The following code in the octane lookup:
 +
<pre>
 +
movh.a    a15,#0xd002
 +
and
 +
lea        a15,[a15]-0x2172  //a15 = d001de8e
 +
</pre>
 +
 
 +
Should change to:
 +
<pre>
 +
movh.a    a15,0xd001
 +
and
 +
lea        a15,[a15]-0x3e2e  //a15 =  0xd000c1d2, fac_afu_ratio_sens_mmv
 +
</pre>
 +
 
 +
Which in ASM is:
 +
<pre>
 +
91 20 00 fd  => 91 10 00 fd
 +
and
 +
d9 ff ce ad => d9 ff 12 7c
 +
</pre>
 +
 
 +
To make the search/replace more specific:
 +
<pre>
 +
40 f6 91 20 00 fd 40 c5 d9 dd => 40 f6 91 10 00 fd 40 c5 d9 dd
 +
and
 +
40 e4 d9 ff ce ad d9 cc ca ad => 40 e4 d9 ff 12 7c d9 cc ca ad
 +
</pre>

Latest revision as of 21:45, 15 December 2020

Custom Features

Existing custom features

Eurodyne

Octane Slider

Eurodyne software includes custom features for an adjustable Octane slider. The way the adjustable octane slider works is this:

  1. There's a function call within the existing ignition angle calculation.
  2. There's custom code that checks to see if the slider is enabled
  3. No:
    1. use the "low octane" timing map (which has been repurposed from one of the existing timing maps)
  4. Yes:
    1. get the value from the slider (memory), and the minimum and maximum adjustable octane settings (cal)
    2. calculate an interpolation factor
    3. perform a map lookup against the low timing map
    4. perform a map lookup against the high timing map
    5. apply the interpolation factor to the basic timing outputs from the two timing maps
    6. Store the output as the basic ignition angle setting

Proposed custom features

Performance flex fuel

The factory FlexFuel in the Simos18 has the capability of adjusting mass fuel flow (mff) for varying levels of alternative fuel both via a sensor and sensorless (using trims, etc). However, it doesn't have the ability to adjust timing.

Performance FlexFuel (@ZuMble) is the idea that in addition to handling the additional fuel required to reach stoich, the ECU can adjust timing to a point, as well.

A proposal:

Repurpose the Eurodyne #Octane_Slider so that instead of looking up the adjustable slider value and the min and max octane values - it looks up the %alternative fuel value (fac_afu_ratio_det/fac_afu_ratio), and calculates an interpolation value against that.

Existing settings for "min and max octane for adjustable features" can stay the same. The calibration can be adjusted for 0 - 50, for example.

Existing octane slider functionality would be overridden/removed. The implications of the slider 'write dynamic identifier' would need to be assessed

The following code in the octane lookup:

movh.a     a15,#0xd002
and
lea        a15,[a15]-0x2172  //a15 = d001de8e

Should change to:

movh.a     a15,0xd001
and
lea        a15,[a15]-0x3e2e  //a15 =  0xd000c1d2, fac_afu_ratio_sens_mmv

Which in ASM is:

91 20 00 fd  => 91 10 00 fd
and
d9 ff ce ad => d9 ff 12 7c

To make the search/replace more specific:

40 f6 91 20 00 fd 40 c5 d9 dd => 40 f6 91 10 00 fd 40 c5 d9 dd
and
40 e4 d9 ff ce ad d9 cc ca ad => 40 e4 d9 ff 12 7c d9 cc ca ad