only:you would not believe it: FSIO

This commit is contained in:
rusefi 2024-06-25 15:09:00 -04:00
parent 40381f419f
commit 3e3c9ec7d9
7 changed files with 3693 additions and 3699 deletions

View File

@ -255,7 +255,6 @@ float IdleController::getClosedLoop(IIdleController::Phase phase, float tpsPos,
return 0;
}
// #1553 we need to give FSIO variable offset or minValue a chance
bool acToggleJustTouched = (US2MS(nowUs) - engine->module<AcController>().unmock().acSwitchLastChangeTimeMs) < 500/*ms*/;
// check if within the dead zone
isInDeadZone = !acToggleJustTouched && absI(rpm - targetRpm) <= engineConfiguration->idlePidRpmDeadZone;

View File

@ -241,7 +241,6 @@ static void tcuSolenoidBench(float humanIndex, float onTime, float offTimeMs, fl
/**
* channel #1, 5ms ON, 1000ms OFF, repeat 3 times
* fsiobench2 1 5 1000 3
*/
static void luaOutBench2(float humanIndex, float onTime, float offTimeMs, float count) {
doRunBenchTestLuaOutput((int)humanIndex, onTime, offTimeMs, (int)count);
@ -280,7 +279,6 @@ void acRelayBench() {
}
static void mainRelayBench() {
// main relay is usually "ON" via FSIO thus bench testing that one is pretty unusual
pinbench(BENCH_MAIN_RELAY_DURATION, 100.0, 1, &enginePins.mainRelay, true);
}

View File

@ -1,8 +1,5 @@
/**
* @file fsio_impl.cpp
* @brief FSIO as it's used for GPIO
*
* TODO: rename this file, FSIO is gone!
* @file script_impl.cpp
*
* @date Oct 5, 2014
* @author Andrey Belomutskiy, (c) 2012-2020

View File

@ -409,7 +409,7 @@ public class ConfigFieldParserTest {
}
@Test
public void testFsioVisible() {
public void testLegacyVisible() {
{
ReaderStateImpl state = new ReaderStateImpl();
ConfigFieldImpl cf = ConfigFieldImpl.parse(state, "int field");
@ -421,9 +421,9 @@ public class ConfigFieldParserTest {
{
ReaderStateImpl state = new ReaderStateImpl();
String test = "struct pid_s\n" +
"\tint16_t fsio_visible offset;Linear addition to PID logic;\"\", 1, 0, -1000, 1000, 0\n" +
"\tint16_t offset;Linear addition to PID logic;\"\", 1, 0, -1000, 1000, 0\n" +
"\tint16_t periodMs;PID dTime;\"ms\", 1, 0, 0, 3000, 0\n" +
"\tint16_t fsio_visible minValue;Output min value;\"\", 1, 0, -30000, 30000.0, 0\n" +
"\tint16_t minValue;Output min value;\"\", 1, 0, -30000, 30000.0, 0\n" +
"end_struct\n" +
"struct_no_prefix engine_configuration_s\n" +
"\tpid_s alternatorControl;\n" +

View File

@ -176,13 +176,13 @@ public class TuneReadWriteTest {
assertNotNull(flow);
assertEquals("2", flow.getDigits());
Constant nonEmptyFormula = tuneFromBinary.findPage().findParameter("fsioFormulas1");
Constant nonEmptyFormula = tuneFromBinary.findPage().findParameter("legacyFormulas1");
assertNotNull(nonEmptyFormula);
/**
* Empty strings values should be omitted from the tune
*/
Constant emptyFormula = tuneFromBinary.findPage().findParameter("fsioFormulas2");
Constant emptyFormula = tuneFromBinary.findPage().findParameter("legacyFormulas2");
assertNull(emptyFormula);
Constant enumField = tuneFromBinary.findPage().findParameter("acRelayPin");

View File

@ -1707,22 +1707,22 @@
0.0
0.0
</constant>
<constant name="fsioFormulas1">rpm 1 fsio_setting &gt;</constant>
<constant name="fsioFormulas2"/>
<constant name="fsioFormulas3"/>
<constant name="fsioFormulas4"/>
<constant name="fsioFormulas5"/>
<constant name="fsioFormulas6"/>
<constant name="fsioFormulas7"/>
<constant name="fsioFormulas8"/>
<constant name="fsioFormulas9"/>
<constant name="fsioFormulas10"/>
<constant name="fsioFormulas11"/>
<constant name="fsioFormulas12"/>
<constant name="fsioFormulas13"/>
<constant name="fsioFormulas14"/>
<constant name="fsioFormulas15"/>
<constant name="fsioFormulas16"/>
<constant name="legacyFormulas1">rpm 1 fsio_setting &gt;</constant>
<constant name="legacyFormulas2"/>
<constant name="legacyFormulas3"/>
<constant name="legacyFormulas4"/>
<constant name="legacyFormulas5"/>
<constant name="legacyFormulas6"/>
<constant name="legacyFormulas7"/>
<constant name="legacyFormulas8"/>
<constant name="legacyFormulas9"/>
<constant name="legacyFormulas10"/>
<constant name="legacyFormulas11"/>
<constant name="legacyFormulas12"/>
<constant name="legacyFormulas13"/>
<constant name="legacyFormulas14"/>
<constant name="legacyFormulas15"/>
<constant name="legacyFormulas16"/>
<constant name="timingMultiplier">1</constant>
<constant name="timingAdditive">0</constant>
<constant cols="1" digits="2" name="cltFuelCorrBins" rows="16" units="C">

View File

@ -1122,22 +1122,22 @@ page = 1
idleAdvance = array, F32, 6576, [8], "deg", 1, 0, -20, 90, 2
idleVeBins = array, F32, 6608, [8], "RPM", 1, 0, 0.0, 18000, 2
idleVe = array, F32, 6640, [8], ,"%", 1, 0, 0, 999.0, 2
fsioFormulas1 = string, ASCII, 6672, 200
fsioFormulas2 = string, ASCII, 6872, 200
fsioFormulas3 = string, ASCII, 7072, 200
fsioFormulas4 = string, ASCII, 7272, 200
fsioFormulas5 = string, ASCII, 7472, 200
fsioFormulas6 = string, ASCII, 7672, 200
fsioFormulas7 = string, ASCII, 7872, 200
fsioFormulas8 = string, ASCII, 8072, 200
fsioFormulas9 = string, ASCII, 8272, 200
fsioFormulas10 = string, ASCII, 8472, 200
fsioFormulas11 = string, ASCII, 8672, 200
fsioFormulas12 = string, ASCII, 8872, 200
fsioFormulas13 = string, ASCII, 9072, 200
fsioFormulas14 = string, ASCII, 9272, 200
fsioFormulas15 = string, ASCII, 9472, 200
fsioFormulas16 = string, ASCII, 9672, 200
legacyFormulas1 = string, ASCII, 6672, 200
legacyFormulas2 = string, ASCII, 6872, 200
legacyFormulas3 = string, ASCII, 7072, 200
legacyFormulas4 = string, ASCII, 7272, 200
legacyFormulas5 = string, ASCII, 7472, 200
legacyFormulas6 = string, ASCII, 7672, 200
legacyFormulas7 = string, ASCII, 7872, 200
legacyFormulas8 = string, ASCII, 8072, 200
legacyFormulas9 = string, ASCII, 8272, 200
legacyFormulas10 = string, ASCII, 8472, 200
legacyFormulas11 = string, ASCII, 8672, 200
legacyFormulas12 = string, ASCII, 8872, 200
legacyFormulas13 = string, ASCII, 9072, 200
legacyFormulas14 = string, ASCII, 9272, 200
legacyFormulas15 = string, ASCII, 9472, 200
legacyFormulas16 = string, ASCII, 9672, 200
timingMultiplier = string, ASCII, 9872, 200
timingAdditive = string, ASCII, 10072, 200
cltFuelCorrBins = array, F32, 10272, [16], "C", 1, 0, -100.0, 250.0, 2
@ -2633,7 +2633,7 @@ menuDialog = main
subMenu = fsioTable2Tbl, "FSIO Table #2"
subMenu = fsioTable3Tbl, "FSIO Table #3"
subMenu = fsioTable4Tbl, "FSIO Table #4"
subMenu = fsioFormulas, "FSIO Formulas"
subMenu = legacyFormulas, "FSIO Formulas"
subMenu = fsioCurve1, "FSIO Curve #1"
subMenu = fsioCurve2, "FSIO Curve #2"
subMenu = fsioCurve3, "FSIO Curve #3"
@ -4074,42 +4074,42 @@ cmd_set_engine_type_default = "w\x00\x31\x00\x00"
panel = fsioFrequency, Center
panel = fsioSetting, East
dialog = fsioFormulas, "FSIO Formulas"
dialog = legacyFormulas, "FSIO Formulas"
field = "!FSIO uses Reverse Polish Notation. Please read http://rusefi.com/s/fsio"
field = "#fsioinfo command in rusEfi console could be useful while troubleshooting those"
field = "#1", fsioFormulas1
field = "#2", fsioFormulas2
field = "#3", fsioFormulas3
field = "#1", legacyFormulas1
field = "#2", legacyFormulas2
field = "#3", legacyFormulas3
field = "use FSIO #4 for serious engine warning",useFSIO4ForSeriousEngineWarning
field = "#4", fsioFormulas4
field = "#4", legacyFormulas4
field = "use FSIO #5 for critical engine stop", useFSIO5ForCriticalIssueEngineStop
field = "#5", fsioFormulas5
field = "#5", legacyFormulas5
field = "use FSIO #6 for rev limiter", useFSIO6ForRevLimiter
field = "#6", fsioFormulas6
field = "#6", legacyFormulas6
field = "#7", fsioFormulas7
field = "#7", legacyFormulas7
field = "use FSIO #8 for servo #1", useFSIO8ForServo1
field = "#8", fsioFormulas8
field = "#8", legacyFormulas8
field = "use FSIO #9 for servo #2", useFSIO9ForServo2
field = "#9", fsioFormulas9
field = "#9", legacyFormulas9
field = "use FSIO #10 for servo #3", useFSIO10ForServo3
field = "#10", fsioFormulas10
field = "#10", legacyFormulas10
field = "use FSIO #11 for servo #4", useFSIO11ForServo4
field = "#11", fsioFormulas11
field = "#11", legacyFormulas11
field = "use FSIO #12 for servo #5", useFSIO12ForServo5
field = "use FSIO #12 idle offset", useFSIO12ForIdleOffset
field = "#12", fsioFormulas12
field = "#12", legacyFormulas12
field = "use FSIO #13 idle min value", useFSIO13ForIdleMinValue
field = "#13", fsioFormulas13
field = "#14", fsioFormulas14
field = "#13", legacyFormulas13
field = "#14", legacyFormulas14
field = "use FSIO #15 for target idle RPM adjustment", useFSIO15ForIdleRpmAdjustment
field = "#15", fsioFormulas15
field = "#15", legacyFormulas15
field = "use FSIO #16 for timing adjustment", useFSIO16ForTimingAdjustment
field = "#16", fsioFormulas16
field = "#16", legacyFormulas16
dialog = fsioInputsDialog, "FSIO inputs"
field = "ADC #1", fsioAdc1