mirror of https://github.com/rusefi/rusefi-1.git
32 lines
989 B
C++
32 lines
989 B
C++
/*
|
|
* test_dwell_corner_case_issue_796.cpp
|
|
*
|
|
* Created on: Jul 1, 2019
|
|
* @author Andrey Belomutskiy, (c) 2012-2020
|
|
*/
|
|
|
|
#include "engine_test_helper.h"
|
|
|
|
TEST(scheduler, dwellIssue796) {
|
|
|
|
WITH_ENGINE_TEST_HELPER(TEST_ENGINE);
|
|
setupSimpleTestEngineWithMafAndTT_ONE_trigger(ð, IM_SEQUENTIAL);
|
|
|
|
eth.fireTriggerEvents2(4 /* count */ , 600 /* ms */);
|
|
|
|
// check if the mode is changed
|
|
ASSERT_EQ(CRANKING, engine->rpmCalculator.getState());
|
|
// due to isFasterEngineSpinUp=true, we should have already detected RPM!
|
|
ASSERT_EQ( 100, GET_RPM()) << "spinning-RPM#1";
|
|
ASSERT_EQ(300000, ENGINE(rpmCalculator.oneDegreeUs) * 180);
|
|
|
|
// with just a bit much time between events integer RPM goes down one full percent
|
|
eth.fireRise(601);
|
|
eth.fireFall(600);
|
|
ASSERT_NEAR( 99, GET_RPM(), EPS3D) << "spinning-RPM#2";
|
|
// while integer RPM value is 1% away from rpm=100, below oneDegreeUs is much closer to RPM=100 value
|
|
ASSERT_EQ(300250, (int)(ENGINE(rpmCalculator.oneDegreeUs) * 180));
|
|
|
|
|
|
}
|