##### ## ## ## ## ##### ## #####
## ## ## ## ## ## ## ## #####
__ __ \ \ / / \ \ /\ / / \ V V / \_/\_/
___ ___ | \/ | | . . | | |\/| | | | | | \_| |_/
### ##### ## ## ## ## ## ## ## ## ######
IMPORTANT: enter the case-INsensitive alphabetic (no numbers) code AND WRITE SOME SHORT summary of changes (below) if you are saving changes. (not required for previewing changes). Wiki-spamming is not tolerated, will be removed, so it does NOT even show up in history. Spammers go away now. Visit Preferences to set your user name Summary of change: See [https://vems.hu/vt/help/v3/v3_anytrim_control.html anytrim] ---- '''Fw 1.2.46 new feature: enlarge dwell progressively at low RPM, under 3000 RPM or under 6000 RPM (or anywhere between, 16 configurable values in 200 RPM steps). This allows longer dwell during idle and max dwell at cranking''' when there is no danger of overheating coils anyway. Some '''low-tech distributer veteran engines depend on this. Can be useful, and the +24% or even upto +51% spark energy at cranking unlikely to hurt if dwell is not severely misconfigured for the coil in use.''' '''config.ign_dwellmap special values: 240..255''' * '''ign_dwellmap'''; // added MAPdwell slope (00: dwell14 used, VBATT not applied either. '''F0..FF: extend dwell under 3000 .. 6000 RPM (max +11% .. +23% time => +24 .. +51% energy)''': VBATT also applied but MAP dependent scaler not applied for 240..255 config.ign_dwellmap values) '''config.ign_dwellmap'''; // added MAPdwell slope * 00: dwell14 used, VBATT not applied either * 1: lowbatt_scaler applied, but MAPscaler NOT applied (traditional default) * 2 - 239: MAP based dwell extension applied above 70 kPa with shallow slope (2) to sudden jump (basically any value above 90) * 240..255 => traditionally MAP based dwell extension applied above 70 kPa with steep slope, almost sudden jump, (reached *1.39 very soon above 70 kPa) ** DONE: config.ign_dwellmap=240..255 values are special from firmware 1.2.46 ** WARNING: Use max 239 value if no intention to use low RPM based dwell extension. 7..15 seems most justified and anything above 31 is probably not reasonable anyway for MAP based dwell extension (and if steep slope, almost sudden jump is desired above 70 kPa, config.ign_dwellmap=239 still has basically same sudden step effect as traditional 255 value; '''config.ign_dwellmap = 239 recommended for compatibility in the unlikely case an old config had greater value, eg. 240..255 and no intention to rethink and use more reasonable value, say between 7..15''', see below 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: * '''Lambda target trim''' can be '''adjusted based on Lambda-Target (difference from target)''' (meaningless) ** however the RPM based dwell has not been implemented (in anytrim or elsewhere) ** RPM based dwell is normally not needed. But some old, low-tech distributers require long dwell at idle and low RPM, but don't work well at high RPM with long dwell (misfire at high RPM with long dwell, almost like a HW rev limiter). So appr +20% dwell at low RPM might be reasonable (likely not overheating the ignition transformer at low RPM, should be safe). * (config_ext.anytrim3_type & 0xF0) == 0x10) means "lambda trim" * if(anytrim3_in == 0x31) // ... that is lambda - lambda_target ** then special extend dwell at low RPM (based on certain values, or linearly +20..0% from 0 to 4000 RPM ?) ---- '''Gory details... to check config and/or VemsTune ini based on this, just in case''' * '''trimconfig == 0x31''' means '''lambda - lambda target diff input''' ** trimconfig == 0x32 means scale with tps saturate at 60% ** trimconfig == 0x33 means scale with tps saturate at 90% ** trimconfig == 0x34 means scale with map saturate at 60 kpa ** trimconfig == 0x35 means scale with map saturate at 90 kpa 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. * Also, The '''anytrim_type''' config bits are (roughly) the following: <PRE> #define ANYTRIM_PW 0 // 0 #define ANYTRIM_LAMBDA 16 // 1 #define ANYTRIM_SPARK 32 // 2 #define ANYTRIM_CRANK 48 // 3 #define ANYTRIM_BOOST_MUL 64 // 4 #define ANYTRIM_BOOST_ADD 80 // 5 #define ANYTRIM_BOOST_REF_ADD 96 // 6 #define ANYTRIM_LAUNCH 128 // 8 #define ANYTRIM_SOFTCUT 144 // 9 .. only used by partial fuelcut function #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''' * (if you enable it multiple times, the first function will take action ... or undefined behavior). ** TODO: review and retest the effect of noncompliant setting (likely ignored) ---- Optional: Add document to category: Wiki formatting: * is Bullet list ** Bullet list subentry ... '''Bold''', ---- is horizontal ruler, <code> preformatted text... </code> See wiki editing HELP for tables and other formatting tips and tricks.