GenBoard/UnderDevelopment/Firmware/RpmDependentDwell (2025-10-03 08:27:34)

See [anytrim]


Brainstorming about config.ign_dwellmap designated special value 255 or 240..255

config.ign_dwellmap; // added MAPdwell slope

Some reasonable config.ign_dwellmap values:

<PRE>

* 40 => 70..110 kPa

* 20 => 70..150 kPa

* 13 => 70..193 kPa

* 12 => 70..203 kPa

* 11 => 70..215 kPa

* 10 => 70..230 kPa

* 9 => 70..248 kPa

* 8 => 70..270 kPa

* 7 => 70..299 kPa (most reasonable ?)

* 6 => 70..337 kPa

* 5 => 70..390 kPa

</PRE>


DROPPED (anytrim special values):

Note that some combinations can be configured, but not normally configured because meaningless:


Gory details... to check config and/or VemsTune ini based on this, just in case

So Please note if( trimconfig >= 0x31 && trimconfig < 0x36) ... have special scaling above 0x31, and the lambda - lambda target calculation has some special cases for sparkcut, fuelcut and similar special modes.

The anytrim_type config bits are (roughly) the following:

<PRE>

  1. define ANYTRIM_PW 0 // 0
  2. define ANYTRIM_LAMBDA 16 // 1
  3. define ANYTRIM_SPARK 32 // 2
  4. define ANYTRIM_CRANK 48 // 3
  5. define ANYTRIM_BOOST_MUL 64 // 4
  6. define ANYTRIM_BOOST_ADD 80 // 5
  7. define ANYTRIM_BOOST_REF_ADD 96 // 6
  8. define ANYTRIM_LAUNCH 128 // 8
  9. define ANYTRIM_SOFTCUT 144 // 9 .. only used by partial fuelcut function
  10. define ANYTRIM_REVLIMIT 160 // 10 .. all rev limiters hard and soft except partial fuelcut limit

// Anytrim Types NOT ALL FUNCTIONS LISTED!!!

uint8_t anytrim1_type; // anytrim 1 bit 7:4 mode:bit7:4 0=fueltrim, 1=lambdatrim, 3=crank_pw adjust, 8=launch, F=disable;

uint8_t anytrim2_type; // anytrim 2 mode:bit7:4 0=fueltrim, 1=lambdatrim, 3=crank_pw adjust, 4=boost target trim mult, 5=boost target trim add, 6=boost ref add, F=disable;

uint8_t anytrim3_type; // anytrim 3 mode:bit7:4 1=lambdatrim, 2=spark adjust, 3=crank_pw adjust, 9=softcut, F=disable;

uint8_t anytrim4_type; // anytrim 4 mode:bit7:4 0=fueltrim, 1=lambdatrim, 3=crank_pw adjust, 4=boost target trim mult, 5=boost target trim add, 6=boost ref add, F=disable;

uint8_t anytrim5_type; // anytrim 5 mode:bit7:4 0=fueltrim, 1=lambdatrim, 3=crank_pw adjust, 4=boost target trim mult, 5=boost target trim add, 6=boost ref add, F=disable;

uint8_t anytrim4_array[17]; // anytrim4 values

uint8_t anytrim5_array[17]; // anytrim5 values

</PRE>


Either Anytrim 1, Anytrim 2 or Anytrim 3 (or Anytrim4 or Anytrim 5 ) but:

Lambda target, Launch RPM and Cranking pulsewidth can be trimmed by only one Anytrim control at the same time