fix PWM.testPwmGenerator test

This commit is contained in:
kifir 2024-05-01 17:10:21 +03:00 committed by rusefi
parent 7c8acef2bb
commit 79983f79a3
1 changed files with 12 additions and 12 deletions

View File

@ -44,7 +44,7 @@ static void test100dutyCycle() {
1.0 /* duty cycle */);
expectedTimeOfNextEvent += 1000;
assertEqualsM2("1@1000/100", expectedTimeOfNextEvent, executor.getForUnitTest(0)->momentX, 0);
ASSERT_EQ(US2NT(expectedTimeOfNextEvent), executor.getForUnitTest(0)->momentX) << "1@1000/100";
assertNextEvent("exec@100", HIGH_VALUE, &executor, pin);
@ -72,7 +72,7 @@ static void testSwitchToNanPeriod() {
0.60 /* duty cycle */);
expectedTimeOfNextEvent += 600;
assertEqualsM2("1@1000/70", expectedTimeOfNextEvent, executor.getForUnitTest(0)->momentX, 0);
ASSERT_EQ(US2NT(expectedTimeOfNextEvent), executor.getForUnitTest(0)->momentX) << "1@1000/70";
assertNextEvent("exec@70", LOW_VALUE, &executor, pin);
ASSERT_EQ(600, getTimeNowUs()) << "time1";
@ -83,11 +83,11 @@ static void testSwitchToNanPeriod() {
pwm.setFrequency(NAN);
expectedTimeOfNextEvent += 600;
assertEqualsM2("1@1000/NAN", expectedTimeOfNextEvent, executor.getForUnitTest(0)->momentX, 0);
ASSERT_EQ(US2NT(expectedTimeOfNextEvent), executor.getForUnitTest(0)->momentX) << "1@1000/NAN";
assertNextEvent("exec2@NAN", LOW_VALUE, &executor, pin);
expectedTimeOfNextEvent += MS2US(NAN_FREQUENCY_SLEEP_PERIOD_MS);
assertEqualsM2("2@1000/NAN", expectedTimeOfNextEvent, executor.getForUnitTest(0)->momentX, 0);
ASSERT_EQ(US2NT(expectedTimeOfNextEvent), executor.getForUnitTest(0)->momentX) << "2@1000/NAN";
assertNextEvent("exec3@NAN", LOW_VALUE, &executor, pin);
}
@ -110,42 +110,42 @@ TEST(PWM, testPwmGenerator) {
0.80 /* duty cycle */);
expectedTimeOfNextEvent += 800;
assertEqualsM2("1@1000/80", expectedTimeOfNextEvent, executor.getForUnitTest(0)->momentX, 0);
ASSERT_EQ(US2NT(expectedTimeOfNextEvent), executor.getForUnitTest(0)->momentX) << "1@1000/80";
assertNextEvent("exec@0", LOW_VALUE, &executor, pin);
ASSERT_EQ(800, getTimeNowUs()) << "time1";
expectedTimeOfNextEvent += 200;
assertEqualsM2("2@1000/80", expectedTimeOfNextEvent, executor.getForUnitTest(0)->momentX, 0);
ASSERT_EQ(US2NT(expectedTimeOfNextEvent), executor.getForUnitTest(0)->momentX) << "2@1000/80";
// above we had vanilla duty cycle, now let's handle a special case
pwm.setSimplePwmDutyCycle(0);
assertEqualsM2("2@1000/0", expectedTimeOfNextEvent, executor.getForUnitTest(0)->momentX, 0);
ASSERT_EQ(US2NT(expectedTimeOfNextEvent), executor.getForUnitTest(0)->momentX) << "2@1000/0";
assertNextEvent("exec@1", LOW_VALUE, &executor, pin);
ASSERT_EQ(1000, getTimeNowUs()) << "time2";
expectedTimeOfNextEvent += 1000;
assertEqualsM2("3@1000/0", expectedTimeOfNextEvent, executor.getForUnitTest(0)->momentX, 0);
ASSERT_EQ(US2NT(expectedTimeOfNextEvent), executor.getForUnitTest(0)->momentX) << "3@1000/0";
assertNextEvent("exec@2", LOW_VALUE /* pin value */, &executor, pin);
ASSERT_EQ(2000, getTimeNowUs()) << "time3";
expectedTimeOfNextEvent += 1000;
assertEqualsM2("4@1000/0", expectedTimeOfNextEvent, executor.getForUnitTest(0)->momentX, 0);
ASSERT_EQ(US2NT(expectedTimeOfNextEvent), executor.getForUnitTest(0)->momentX) << "4@1000/0";
assertNextEvent("exec@3", LOW_VALUE /* pin value */, &executor, pin);
ASSERT_EQ(3000, getTimeNowUs()) << "time4";
expectedTimeOfNextEvent += 1000;
assertEqualsM2("5@1000/0", expectedTimeOfNextEvent, executor.getForUnitTest(0)->momentX, 0);
ASSERT_EQ(US2NT(expectedTimeOfNextEvent), executor.getForUnitTest(0)->momentX) << "5@1000/0";
assertNextEvent("exec@4", LOW_VALUE /* pin value */, &executor, pin);
expectedTimeOfNextEvent += 1000;
assertEqualsM2("6@1000/0", expectedTimeOfNextEvent, executor.getForUnitTest(0)->momentX, 0);
ASSERT_EQ(US2NT(expectedTimeOfNextEvent), executor.getForUnitTest(0)->momentX) << "6@1000/0";
assertNextEvent("exec@5", LOW_VALUE /* pin value */, &executor, pin);
expectedTimeOfNextEvent += 1000;
ASSERT_EQ(5000, getTimeNowUs()) << "time4";
assertEqualsM2("7@1000/0", expectedTimeOfNextEvent, executor.getForUnitTest(0)->momentX, 0);
ASSERT_EQ(US2NT(expectedTimeOfNextEvent), executor.getForUnitTest(0)->momentX) << "7@1000/0";
assertNextEvent("exec@6", LOW_VALUE /* pin value */, &executor, pin);
}