rusefi-1/unit_tests/tests/test_one_cylinder_logic.cpp

35 lines
1.1 KiB
C++

/**
* @file test_one_cylinder_logic.cpp
* @author Andrey Belomutskiy, (c) 2012-2020
*/
#include "engine_test_helper.h"
#include "spark_logic.h"
TEST(issues, issueOneCylinderSpecialCase968) {
WITH_ENGINE_TEST_HELPER(GY6_139QMB);
// set injection_mode 1
engineConfiguration->injectionMode = IM_SEQUENTIAL;
setOperationMode(engineConfiguration, FOUR_STROKE_CRANK_SENSOR);
engineConfiguration->useOnlyRisingEdgeForTrigger = true;
eth.setTriggerType(TT_ONE PASS_ENGINE_PARAMETER_SUFFIX);
ASSERT_EQ( 0, engine->executor.size()) << "start";
eth.fireTriggerEvents2(/* count */ 3, 50 /* ms */);
ASSERT_EQ( 0, GET_RPM()) << "RPM";
ASSERT_EQ( 0, engine->executor.size()) << "first revolution(s)";
eth.fireTriggerEvents2(/* count */ 1, 50 /* ms */);
ASSERT_EQ( 2, engine->executor.size()) << "first revolution(s)";
eth.assertEvent5("spark up#0", 0, (void*)turnSparkPinHigh, -43500);
eth.assertEvent5("spark down#0", 1, (void*)fireSparkAndPrepareNextSchedule, -37500);
eth.fireTriggerEvents2(/* count */ 1, 50 /* ms */);
ASSERT_EQ( 4, engine->executor.size()) << "first revolution(s)";
}