_____ |__ / / / / /_ /____|
#### ## ## ## ####
### ## ## ## ## ####
__ __ \ \ / / \ \ /\ / / \ \/ \/ / \ /\ / \/ \/
### ### ### ## ## ## ## ####
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] 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) == 1) means "lambda trim" (also ---- '''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 config bits are (roughly) the following: <code> #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 </code> ---- 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.