Delayed A/C compressor switch #922
This commit is contained in:
parent
34c6e790fd
commit
5ac8545060
|
@ -37,8 +37,6 @@ typedef enum {
|
|||
LE_METHOD_COOLANT = 101,
|
||||
LE_METHOD_FAN = 102,
|
||||
LE_METHOD_TIME_SINCE_BOOT = 103,
|
||||
LE_METHOD_FAN_ON_SETTING = 104,
|
||||
LE_METHOD_FAN_OFF_SETTING = 105,
|
||||
LE_METHOD_TPS = 106,
|
||||
LE_METHOD_MAF = 107,
|
||||
LE_METHOD_INTAKE_AIR = 108,
|
||||
|
|
|
@ -52,8 +52,6 @@ static LENameOrdinalPair leCoolant(LE_METHOD_COOLANT, "coolant");
|
|||
static LENameOrdinalPair leIsCoolantBroken(LE_METHOD_IS_COOLANT_BROKEN, "is_clt_broken");
|
||||
static LENameOrdinalPair leAcToggle(LE_METHOD_AC_TOGGLE, "ac_on_switch");
|
||||
static LENameOrdinalPair leTimeSinceAcToggle(LE_METHOD_TIME_SINCE_AC_TOGGLE, "time_since_ac_on_switch");
|
||||
static LENameOrdinalPair leFanOnSetting(LE_METHOD_FAN_ON_SETTING, "fan_on_setting");
|
||||
static LENameOrdinalPair leFanOffSetting(LE_METHOD_FAN_OFF_SETTING, "fan_off_setting");
|
||||
static LENameOrdinalPair leTimeSinceBoot(LE_METHOD_TIME_SINCE_BOOT, "time_since_boot");
|
||||
static LENameOrdinalPair leFsioSetting(LE_METHOD_FSIO_SETTING, "fsio_setting");
|
||||
static LENameOrdinalPair leFsioTable(LE_METHOD_FSIO_TABLE, "fsio_table");
|
||||
|
@ -66,6 +64,8 @@ static LENameOrdinalPair leCrankingRpm(LE_METHOD_CRANKING_RPM, "cranking_rpm");
|
|||
static LENameOrdinalPair leStartupFuelPumpDuration(LE_METHOD_STARTUP_FUEL_PUMP_DURATION, "startup_fuel_pump_duration");
|
||||
static LENameOrdinalPair leInShutdown(LE_METHOD_IN_SHUTDOWN, "in_shutdown");
|
||||
|
||||
#include "fsio_names.def"
|
||||
|
||||
#define LE_EVAL_POOL_SIZE 32
|
||||
|
||||
extern EnginePins enginePins;
|
||||
|
@ -136,10 +136,6 @@ float getEngineValue(le_action_e action DECLARE_ENGINE_PARAMETER_SUFFIX) {
|
|||
case LE_METHOD_TIME_SINCE_BOOT:
|
||||
return getTimeNowSeconds();
|
||||
|
||||
case LE_METHOD_FAN_OFF_SETTING:
|
||||
return engineConfiguration->fanOffTemperature;
|
||||
case LE_METHOD_FAN_ON_SETTING:
|
||||
return engineConfiguration->fanOnTemperature;
|
||||
case LE_METHOD_STARTUP_FUEL_PUMP_DURATION:
|
||||
return engineConfiguration->startUpFuelPumpDuration;
|
||||
|
||||
|
@ -364,16 +360,13 @@ static const char * action2String(le_action_e action) {
|
|||
return "cranking_rpm";
|
||||
case LE_METHOD_COOLANT:
|
||||
return "CLT";
|
||||
case LE_METHOD_FAN_ON_SETTING:
|
||||
return "fan_on";
|
||||
case LE_METHOD_FAN_OFF_SETTING:
|
||||
return "fan_off";
|
||||
case LE_METHOD_FAN:
|
||||
return "fan";
|
||||
case LE_METHOD_STARTUP_FUEL_PUMP_DURATION:
|
||||
return "startup_fuel_pump_duration";
|
||||
case LE_METHOD_IN_SHUTDOWN:
|
||||
return "in_shutdown";
|
||||
#include "fsio_strings.def"
|
||||
|
||||
default: {
|
||||
// this is here to make compiler happy
|
||||
|
|
|
@ -0,0 +1,24 @@
|
|||
// this file was generated automatically by rusEfi tool ConfigDefinition.jar based on integration\rusefi_config.txt Wed Sep 11 18:41:30 EDT 2019
|
||||
|
||||
// by class com.rusefi.output.FileFsioSettingsConsumer
|
||||
static LENameOrdinalPair lefanOnTemperature(FSIO_SETTING_FANONTEMPERATURE, "cfg_fanOnTemperature");
|
||||
static LENameOrdinalPair lefanOffTemperature(FSIO_SETTING_FANOFFTEMPERATURE, "cfg_fanOffTemperature");
|
||||
static LENameOrdinalPair lealternatorControl_offset(FSIO_SETTING_ALTERNATORCONTROL_OFFSET, "cfg_alternatorControl_offset");
|
||||
static LENameOrdinalPair lealternatorControl_minValue(FSIO_SETTING_ALTERNATORCONTROL_MINVALUE, "cfg_alternatorControl_minValue");
|
||||
static LENameOrdinalPair leetb_offset(FSIO_SETTING_ETB_OFFSET, "cfg_etb_offset");
|
||||
static LENameOrdinalPair leetb_minValue(FSIO_SETTING_ETB_MINVALUE, "cfg_etb_minValue");
|
||||
static LENameOrdinalPair leidleRpmPid_offset(FSIO_SETTING_IDLERPMPID_OFFSET, "cfg_idleRpmPid_offset");
|
||||
static LENameOrdinalPair leidleRpmPid_minValue(FSIO_SETTING_IDLERPMPID_MINVALUE, "cfg_idleRpmPid_minValue");
|
||||
static LENameOrdinalPair lestartUpFuelPumpDuration(FSIO_SETTING_STARTUPFUELPUMPDURATION, "cfg_startUpFuelPumpDuration");
|
||||
static LENameOrdinalPair lefuelClosedLoopPid_offset(FSIO_SETTING_FUELCLOSEDLOOPPID_OFFSET, "cfg_fuelClosedLoopPid_offset");
|
||||
static LENameOrdinalPair lefuelClosedLoopPid_minValue(FSIO_SETTING_FUELCLOSEDLOOPPID_MINVALUE, "cfg_fuelClosedLoopPid_minValue");
|
||||
static LENameOrdinalPair leauxPid1_offset(FSIO_SETTING_AUXPID1_OFFSET, "cfg_auxPid1_offset");
|
||||
static LENameOrdinalPair leauxPid1_minValue(FSIO_SETTING_AUXPID1_MINVALUE, "cfg_auxPid1_minValue");
|
||||
static LENameOrdinalPair leauxPid2_offset(FSIO_SETTING_AUXPID2_OFFSET, "cfg_auxPid2_offset");
|
||||
static LENameOrdinalPair leauxPid2_minValue(FSIO_SETTING_AUXPID2_MINVALUE, "cfg_auxPid2_minValue");
|
||||
static LENameOrdinalPair leauxPid3_offset(FSIO_SETTING_AUXPID3_OFFSET, "cfg_auxPid3_offset");
|
||||
static LENameOrdinalPair leauxPid3_minValue(FSIO_SETTING_AUXPID3_MINVALUE, "cfg_auxPid3_minValue");
|
||||
static LENameOrdinalPair leauxPid4_offset(FSIO_SETTING_AUXPID4_OFFSET, "cfg_auxPid4_offset");
|
||||
static LENameOrdinalPair leauxPid4_minValue(FSIO_SETTING_AUXPID4_MINVALUE, "cfg_auxPid4_minValue");
|
||||
static LENameOrdinalPair leidleTimingPid_offset(FSIO_SETTING_IDLETIMINGPID_OFFSET, "cfg_idleTimingPid_offset");
|
||||
static LENameOrdinalPair leidleTimingPid_minValue(FSIO_SETTING_IDLETIMINGPID_MINVALUE, "cfg_idleTimingPid_minValue");
|
|
@ -0,0 +1,45 @@
|
|||
// this file was generated automatically by rusEfi tool ConfigDefinition.jar based on integration\rusefi_config.txt Wed Sep 11 19:17:01 EDT 2019
|
||||
|
||||
// by class com.rusefi.output.FileFsioSettingsConsumer
|
||||
case FSIO_SETTING_FANONTEMPERATURE:
|
||||
return "cfg_fanOnTemperature";
|
||||
case FSIO_SETTING_FANOFFTEMPERATURE:
|
||||
return "cfg_fanOffTemperature";
|
||||
case FSIO_SETTING_ALTERNATORCONTROL_OFFSET:
|
||||
return "cfg_alternatorControl_offset";
|
||||
case FSIO_SETTING_ALTERNATORCONTROL_MINVALUE:
|
||||
return "cfg_alternatorControl_minValue";
|
||||
case FSIO_SETTING_ETB_OFFSET:
|
||||
return "cfg_etb_offset";
|
||||
case FSIO_SETTING_ETB_MINVALUE:
|
||||
return "cfg_etb_minValue";
|
||||
case FSIO_SETTING_IDLERPMPID_OFFSET:
|
||||
return "cfg_idleRpmPid_offset";
|
||||
case FSIO_SETTING_IDLERPMPID_MINVALUE:
|
||||
return "cfg_idleRpmPid_minValue";
|
||||
case FSIO_SETTING_STARTUPFUELPUMPDURATION:
|
||||
return "cfg_startUpFuelPumpDuration";
|
||||
case FSIO_SETTING_FUELCLOSEDLOOPPID_OFFSET:
|
||||
return "cfg_fuelClosedLoopPid_offset";
|
||||
case FSIO_SETTING_FUELCLOSEDLOOPPID_MINVALUE:
|
||||
return "cfg_fuelClosedLoopPid_minValue";
|
||||
case FSIO_SETTING_AUXPID1_OFFSET:
|
||||
return "cfg_auxPid1_offset";
|
||||
case FSIO_SETTING_AUXPID1_MINVALUE:
|
||||
return "cfg_auxPid1_minValue";
|
||||
case FSIO_SETTING_AUXPID2_OFFSET:
|
||||
return "cfg_auxPid2_offset";
|
||||
case FSIO_SETTING_AUXPID2_MINVALUE:
|
||||
return "cfg_auxPid2_minValue";
|
||||
case FSIO_SETTING_AUXPID3_OFFSET:
|
||||
return "cfg_auxPid3_offset";
|
||||
case FSIO_SETTING_AUXPID3_MINVALUE:
|
||||
return "cfg_auxPid3_minValue";
|
||||
case FSIO_SETTING_AUXPID4_OFFSET:
|
||||
return "cfg_auxPid4_offset";
|
||||
case FSIO_SETTING_AUXPID4_MINVALUE:
|
||||
return "cfg_auxPid4_minValue";
|
||||
case FSIO_SETTING_IDLETIMINGPID_OFFSET:
|
||||
return "cfg_idleTimingPid_offset";
|
||||
case FSIO_SETTING_IDLETIMINGPID_MINVALUE:
|
||||
return "cfg_idleTimingPid_minValue";
|
|
@ -13,8 +13,8 @@
|
|||
// Andrey Belomutskiy, (c) 2012-2017
|
||||
//
|
||||
|
||||
// Human-readable: (fan and (coolant > fan_off_setting)) | (coolant > fan_on_setting) | is_clt_broken
|
||||
#define FAN_CONTROL_LOGIC "fan coolant fan_off_setting > and coolant fan_on_setting > | is_clt_broken |"
|
||||
// Human-readable: (fan and (coolant > cfg_fanOffTemperature)) | (coolant > cfg_fanOnTemperature) | is_clt_broken
|
||||
#define FAN_CONTROL_LOGIC "fan coolant cfg_fanOffTemperature > and coolant cfg_fanOnTemperature > | is_clt_broken |"
|
||||
|
||||
// Human-readable: (time_since_boot < startup_fuel_pump_duration) | (rpm > 0)
|
||||
#define FUEL_PUMP_LOGIC "time_since_boot startup_fuel_pump_duration < rpm 0 > |"
|
||||
|
|
|
@ -22,6 +22,8 @@ java -DSystemOut.name=gen_config ^
|
|||
-c_destination controllers\generated\engine_configuration_generated_structures.h ^
|
||||
-c_fsio_constants controllers\generated\fsio_enums_generated.def ^
|
||||
-c_fsio_getters controllers\generated\fsio_getters.def ^
|
||||
-c_fsio_names controllers\generated\fsio_names.def ^
|
||||
-c_fsio_strings controllers\generated\fsio_strings.def ^
|
||||
-java_destination ../java_console/models/src/com/rusefi/config/generated/Fields.java ^
|
||||
-romraider_destination ../java_console/rusefi.xml ^
|
||||
-skip build/config.gen
|
||||
|
|
Binary file not shown.
|
@ -30,6 +30,8 @@ public class ConfigDefinition {
|
|||
private static final String KEY_C_DESTINATION = "-c_destination";
|
||||
private static final String KEY_C_FSIO_CONSTANTS = "-c_fsio_constants";
|
||||
private static final String KEY_C_FSIO_GETTERS = "-c_fsio_getters";
|
||||
private static final String KEY_C_FSIO_NAMES = "-c_fsio_names";
|
||||
private static final String KEY_C_FSIO_STRING = "-c_fsio_strings";
|
||||
private static final String KEY_C_DEFINES = "-c_defines";
|
||||
private static final String KEY_WITH_C_DEFINES = "-with_c_defines";
|
||||
private static final String KEY_JAVA_DESTINATION = "-java_destination";
|
||||
|
@ -68,6 +70,8 @@ public class ConfigDefinition {
|
|||
String destCDefinesFileName = null;
|
||||
String destCFsioConstantsFileName = null;
|
||||
String destCFsioGettersFileName = null;
|
||||
String namesCFileName = null;
|
||||
String stringsCFileName = null;
|
||||
String javaDestinationFileName = null;
|
||||
String romRaiderDestination = null;
|
||||
List<String> prependFiles = new ArrayList<>();
|
||||
|
@ -85,6 +89,10 @@ public class ConfigDefinition {
|
|||
destCHeaderFileName = args[i + 1];
|
||||
} else if (key.equals(KEY_C_FSIO_GETTERS)) {
|
||||
destCFsioGettersFileName = args[i + 1];
|
||||
} else if (key.equals(KEY_C_FSIO_STRING)) {
|
||||
stringsCFileName = args[i + 1];
|
||||
} else if (key.equals(KEY_C_FSIO_NAMES)) {
|
||||
namesCFileName = args[i + 1];
|
||||
} else if (key.equals(KEY_C_FSIO_CONSTANTS)) {
|
||||
destCFsioConstantsFileName = args[i + 1];
|
||||
} else if (key.equals(KEY_ZERO_INIT)) {
|
||||
|
@ -141,7 +149,11 @@ public class ConfigDefinition {
|
|||
}
|
||||
|
||||
if (destCFsioConstantsFileName != null || destCFsioGettersFileName != null) {
|
||||
destinations.add(new FileFsioSettingsConsumer(state, destCFsioConstantsFileName, destCFsioGettersFileName));
|
||||
destinations.add(new FileFsioSettingsConsumer(state,
|
||||
destCFsioConstantsFileName,
|
||||
destCFsioGettersFileName,
|
||||
namesCFileName,
|
||||
stringsCFileName));
|
||||
}
|
||||
|
||||
if (destinations.isEmpty())
|
||||
|
|
|
@ -5,34 +5,49 @@ import com.rusefi.ReaderState;
|
|||
import com.rusefi.util.LazyFile;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
|
||||
import static com.rusefi.ConfigDefinition.EOL;
|
||||
|
||||
public class FileFsioSettingsConsumer extends FsioSettingsConsumer {
|
||||
private final LazyFile enumFile;
|
||||
private final LazyFile gettersFile;
|
||||
private final LazyFile namesFile;
|
||||
private final LazyFile stringsFile;
|
||||
|
||||
public FileFsioSettingsConsumer(ReaderState state, String destCFsioConstantsFileName, String destCFsioGettersFileName) {
|
||||
public FileFsioSettingsConsumer(ReaderState state,
|
||||
String destCFsioConstantsFileName,
|
||||
String destCFsioGettersFileName,
|
||||
String namesCFileName,
|
||||
String stringsCFileName) {
|
||||
super(state);
|
||||
enumFile = new LazyFile(destCFsioConstantsFileName);
|
||||
gettersFile = new LazyFile(destCFsioGettersFileName);
|
||||
namesFile = new LazyFile(namesCFileName);
|
||||
stringsFile = new LazyFile(stringsCFileName);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void startFile() {
|
||||
enumFile.write("// this file " + ConfigDefinition.MESSAGE + ConfigDefinition.EOL + EOL);
|
||||
enumFile.write("// by " + getClass() + EOL);
|
||||
|
||||
gettersFile.write("// this file " + ConfigDefinition.MESSAGE + ConfigDefinition.EOL + EOL);
|
||||
gettersFile.write("// by " + getClass() + EOL);
|
||||
for (LazyFile file : Arrays.asList(enumFile, gettersFile, stringsFile, namesFile)) {
|
||||
file.write("// this file " + ConfigDefinition.MESSAGE + ConfigDefinition.EOL + EOL);
|
||||
file.write("// by " + getClass() + EOL);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void endFile() throws IOException {
|
||||
enumFile.write(enumDefinition.toString());
|
||||
enumFile.write(getEnumDefinition());
|
||||
enumFile.close();
|
||||
|
||||
gettersFile.write(getContent());
|
||||
gettersFile.close();
|
||||
|
||||
namesFile.write(getNames());
|
||||
namesFile.close();
|
||||
|
||||
stringsFile.write(getStrings());
|
||||
stringsFile.close();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -14,7 +14,9 @@ import java.util.List;
|
|||
|
||||
public abstract class FsioSettingsConsumer implements ConfigurationConsumer {
|
||||
private final CharArrayWriter content = new CharArrayWriter();
|
||||
protected final CharArrayWriter enumDefinition = new CharArrayWriter();
|
||||
private final CharArrayWriter enumDefinition = new CharArrayWriter();
|
||||
private final CharArrayWriter names = new CharArrayWriter();
|
||||
private final CharArrayWriter strings = new CharArrayWriter();
|
||||
private final ReaderState state;
|
||||
|
||||
private int currentIndex = 1000;
|
||||
|
@ -59,7 +61,8 @@ public abstract class FsioSettingsConsumer implements ConfigurationConsumer {
|
|||
|
||||
String nameWithPrefix = prefix + configField.getName();
|
||||
|
||||
String enumName = "FSIO_SETTING_" + nameWithPrefix.replaceAll("\\.", "_").toUpperCase();
|
||||
String nameWithPrefixUnderscore = nameWithPrefix.replaceAll("\\.", "_");
|
||||
String enumName = "FSIO_SETTING_" + nameWithPrefixUnderscore.toUpperCase();
|
||||
enumDefinition.append("\t" +
|
||||
enumName + " = " + currentIndex++ + ",\n");
|
||||
|
||||
|
@ -69,7 +72,23 @@ public abstract class FsioSettingsConsumer implements ConfigurationConsumer {
|
|||
|
||||
content.append("\tcase " + enumName + ":\n");
|
||||
content.append("\t\treturn engineConfiguration->" + cFieldName + ";\n");
|
||||
|
||||
String rusEfiName = "\"cfg_" + nameWithPrefixUnderscore + "\"";
|
||||
|
||||
strings.append("\tcase " + enumName + ":\n");
|
||||
strings.append("\t\treturn " + rusEfiName + ";\n");
|
||||
|
||||
names.append("static LENameOrdinalPair le" + nameWithPrefixUnderscore + "(" + enumName + ", " + rusEfiName + ");\n");
|
||||
}
|
||||
}
|
||||
|
||||
public String getNames() {
|
||||
return names.toString();
|
||||
}
|
||||
|
||||
|
||||
public String getStrings() {
|
||||
return strings.toString();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -125,6 +125,32 @@ public class ConfigFieldParserTest {
|
|||
"\tFSIO_SETTING_ETB2_OFFSET = 1006,\n" +
|
||||
"\tFSIO_SETTING_ETB2_MINVALUE = 1007,\n",
|
||||
fsioSettingsConsumer.getEnumDefinition());
|
||||
|
||||
assertEquals("static LENameOrdinalPair leoffset(FSIO_SETTING_OFFSET, \"cfg_offset\");\n" +
|
||||
"static LENameOrdinalPair leminValue(FSIO_SETTING_MINVALUE, \"cfg_minValue\");\n" +
|
||||
"static LENameOrdinalPair lealternatorControl_offset(FSIO_SETTING_ALTERNATORCONTROL_OFFSET, \"cfg_alternatorControl_offset\");\n" +
|
||||
"static LENameOrdinalPair lealternatorControl_minValue(FSIO_SETTING_ALTERNATORCONTROL_MINVALUE, \"cfg_alternatorControl_minValue\");\n" +
|
||||
"static LENameOrdinalPair leetb1_offset(FSIO_SETTING_ETB1_OFFSET, \"cfg_etb1_offset\");\n" +
|
||||
"static LENameOrdinalPair leetb1_minValue(FSIO_SETTING_ETB1_MINVALUE, \"cfg_etb1_minValue\");\n" +
|
||||
"static LENameOrdinalPair leetb2_offset(FSIO_SETTING_ETB2_OFFSET, \"cfg_etb2_offset\");\n" +
|
||||
"static LENameOrdinalPair leetb2_minValue(FSIO_SETTING_ETB2_MINVALUE, \"cfg_etb2_minValue\");\n", fsioSettingsConsumer.getNames());
|
||||
|
||||
assertEquals("\tcase FSIO_SETTING_OFFSET:\n" +
|
||||
"\t\treturn \"cfg_offset\";\n" +
|
||||
"\tcase FSIO_SETTING_MINVALUE:\n" +
|
||||
"\t\treturn \"cfg_minValue\";\n" +
|
||||
"\tcase FSIO_SETTING_ALTERNATORCONTROL_OFFSET:\n" +
|
||||
"\t\treturn \"cfg_alternatorControl_offset\";\n" +
|
||||
"\tcase FSIO_SETTING_ALTERNATORCONTROL_MINVALUE:\n" +
|
||||
"\t\treturn \"cfg_alternatorControl_minValue\";\n" +
|
||||
"\tcase FSIO_SETTING_ETB1_OFFSET:\n" +
|
||||
"\t\treturn \"cfg_etb1_offset\";\n" +
|
||||
"\tcase FSIO_SETTING_ETB1_MINVALUE:\n" +
|
||||
"\t\treturn \"cfg_etb1_minValue\";\n" +
|
||||
"\tcase FSIO_SETTING_ETB2_OFFSET:\n" +
|
||||
"\t\treturn \"cfg_etb2_offset\";\n" +
|
||||
"\tcase FSIO_SETTING_ETB2_MINVALUE:\n" +
|
||||
"\t\treturn \"cfg_etb2_minValue\";\n", fsioSettingsConsumer.getStrings());
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -31,9 +31,8 @@ float getEngineValue(le_action_e action DECLARE_ENGINE_PARAMETER_SUFFIX) {
|
|||
return mockCrankingRpm;
|
||||
case LE_METHOD_TIME_SINCE_BOOT:
|
||||
return mockTimeSinceBoot;
|
||||
case LE_METHOD_FAN_ON_SETTING:
|
||||
return 0;
|
||||
case LE_METHOD_FAN_OFF_SETTING:
|
||||
case FSIO_SETTING_FANONTEMPERATURE:
|
||||
case FSIO_SETTING_FANOFFTEMPERATURE:
|
||||
return 0;
|
||||
case LE_METHOD_VBATT:
|
||||
return 12;
|
||||
|
@ -211,8 +210,8 @@ TEST(misc, testLogicExpressions) {
|
|||
ASSERT_EQ(0, c.calcLogValue[0]);
|
||||
}
|
||||
|
||||
testExpression("fan_off_setting", 0);
|
||||
testExpression("coolant fan_off_setting >", 1);
|
||||
testExpression("cfg_fanOffTemperature", 0);
|
||||
testExpression("coolant cfg_fanOffTemperature >", 1);
|
||||
|
||||
testExpression("0 1 &", 0);
|
||||
testExpression("0 1 |", 1);
|
||||
|
@ -228,9 +227,5 @@ TEST(misc, testLogicExpressions) {
|
|||
testExpression("cranking_rpm", 200);
|
||||
testExpression(STARTER_BLOCK, 0);
|
||||
testExpression("rpm cranking_rpm > ", 1);
|
||||
|
||||
}
|
||||
mockRpm = 900;
|
||||
testExpression("fan NOT coolant 90 > AND fan coolant 85 > AND OR", 1);
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue