From 1c48a61339d0840039ec523c51a42097366be341 Mon Sep 17 00:00:00 2001 From: Andrey Date: Wed, 23 Jun 2021 06:37:32 -0400 Subject: [PATCH] refactoring --- firmware/controllers/algo/engine_parts.h | 4 +++- unit_tests/engine_test_helper.cpp | 5 +++++ unit_tests/engine_test_helper.h | 2 ++ unit_tests/tests/ignition_injection/test_fuel_math.cpp | 3 +-- unit_tests/tests/test_tacho.cpp | 1 - unit_tests/tests/trigger/test_issue_898.cpp | 8 +++----- 6 files changed, 14 insertions(+), 9 deletions(-) diff --git a/firmware/controllers/algo/engine_parts.h b/firmware/controllers/algo/engine_parts.h index 297ae2f518..d2041ea7ca 100644 --- a/firmware/controllers/algo/engine_parts.h +++ b/firmware/controllers/algo/engine_parts.h @@ -57,6 +57,8 @@ public: gear_e gearSelectorPosition; }; +typedef cyclic_buffer warningBuffer_t; + class WarningCodeState { public: WarningCodeState(); @@ -67,7 +69,7 @@ public: int lastErrorCode; efitimesec_t timeOfPreviousWarning; // todo: we need a way to post multiple recent warnings into TS - cyclic_buffer recentWarnings; + warningBuffer_t recentWarnings; }; class FsioState { diff --git a/unit_tests/engine_test_helper.cpp b/unit_tests/engine_test_helper.cpp index 2ce22532f3..81ee2bcaa4 100644 --- a/unit_tests/engine_test_helper.cpp +++ b/unit_tests/engine_test_helper.cpp @@ -46,6 +46,11 @@ EngineTestHelper::EngineTestHelper(engine_type_e engineType, const std::unordere : EngineTestHelper(engineType, &emptyCallbackWithConfiguration, sensorValues) { } +warningBuffer_t *EngineTestHelper::recentWarnings() { + return &unitTestWarningCodeState.recentWarnings; +} + + EngineTestHelper::EngineTestHelper(engine_type_e engineType, configuration_callback_t configurationCallback, const std::unordered_map& sensorValues) { Sensor::setMockValue(SensorType::Clt, 70); Sensor::setMockValue(SensorType::Iat, 30); diff --git a/unit_tests/engine_test_helper.h b/unit_tests/engine_test_helper.h index 824e96a8dc..2d892ffde4 100644 --- a/unit_tests/engine_test_helper.h +++ b/unit_tests/engine_test_helper.h @@ -37,6 +37,8 @@ public: EngineTestHelper(engine_type_e engineType, configuration_callback_t boardCallback, const std::unordered_map& sensorValues); ~EngineTestHelper(); + warningBuffer_t *recentWarnings(); + void applyTriggerWaveform(); void setTriggerType(trigger_type_e trigger DECLARE_ENGINE_PARAMETER_SUFFIX); /** diff --git a/unit_tests/tests/ignition_injection/test_fuel_math.cpp b/unit_tests/tests/ignition_injection/test_fuel_math.cpp index d383312fd6..b5b336ae60 100644 --- a/unit_tests/tests/ignition_injection/test_fuel_math.cpp +++ b/unit_tests/tests/ignition_injection/test_fuel_math.cpp @@ -139,7 +139,6 @@ TEST(AirmassModes, VeOverride) { } void setInjectionMode(int value DECLARE_ENGINE_PARAMETER_SUFFIX); -extern WarningCodeState unitTestWarningCodeState; TEST(FuelMath, testDifferentInjectionModes) { WITH_ENGINE_TEST_HELPER(TEST_ENGINE); @@ -163,7 +162,7 @@ TEST(FuelMath, testDifferentInjectionModes) { setInjectionMode((int)IM_SINGLE_POINT PASS_ENGINE_PARAMETER_SUFFIX); engine->periodicFastCallback(PASS_ENGINE_PARAMETER_SIGNATURE); EXPECT_FLOAT_EQ( 40, engine->injectionDuration) << "injection while IM_SINGLE_POINT"; - EXPECT_EQ( 0, unitTestWarningCodeState.recentWarnings.getCount()) << "warningCounter#testDifferentInjectionModes"; + EXPECT_EQ( 0, eth.recentWarnings()->getCount()) << "warningCounter#testDifferentInjectionModes"; } TEST(FuelMath, deadtime) { diff --git a/unit_tests/tests/test_tacho.cpp b/unit_tests/tests/test_tacho.cpp index 0fb04e7180..dfcad1030f 100644 --- a/unit_tests/tests/test_tacho.cpp +++ b/unit_tests/tests/test_tacho.cpp @@ -1,6 +1,5 @@ #include "engine_test_helper.h" -extern WarningCodeState unitTestWarningCodeState; extern float getTachFreq(void); extern float getTachDuty(void); diff --git a/unit_tests/tests/trigger/test_issue_898.cpp b/unit_tests/tests/trigger/test_issue_898.cpp index a613c34085..9c139961a8 100644 --- a/unit_tests/tests/trigger/test_issue_898.cpp +++ b/unit_tests/tests/trigger/test_issue_898.cpp @@ -7,8 +7,6 @@ #include "engine_test_helper.h" -extern WarningCodeState unitTestWarningCodeState; - static void boardConfigurationForIssue898(engine_configuration_s *engineConfiguration) { setOperationMode(engineConfiguration, FOUR_STROKE_CRANK_SENSOR); engineConfiguration->trigger.type = TT_TOOTHED_WHEEL_60_2; @@ -21,7 +19,7 @@ TEST(issues, issue898) { ASSERT_EQ(TRUE, engine->triggerCentral.triggerShape.shapeDefinitionError) << "MRE_MIATA_NA6 shapeDefinitionError"; - ASSERT_EQ( 2, unitTestWarningCodeState.recentWarnings.getCount()) << "warningCounter#testFuelSchedulerBug299smallAndMedium"; - ASSERT_EQ(CUSTOM_ERR_BOTH_FRONTS_REQUIRED, unitTestWarningCodeState.recentWarnings.get(0)); - ASSERT_EQ(CUSTOM_ERR_TRIGGER_SYNC, unitTestWarningCodeState.recentWarnings.get(1)); + ASSERT_EQ( 2, eth.recentWarnings()->getCount()) << "warningCounter#testFuelSchedulerBug299smallAndMedium"; + ASSERT_EQ(CUSTOM_ERR_BOTH_FRONTS_REQUIRED, eth.recentWarnings()->get(0)); + ASSERT_EQ(CUSTOM_ERR_TRIGGER_SYNC, eth.recentWarnings()->get(1)); }