diff --git a/tests/unit/logic/load_filament/test_load_filament.cpp b/tests/unit/logic/load_filament/test_load_filament.cpp index 91b49c9..86ffc2f 100644 --- a/tests/unit/logic/load_filament/test_load_filament.cpp +++ b/tests/unit/logic/load_filament/test_load_filament.cpp @@ -122,51 +122,6 @@ void FailedLoadToFinda(uint8_t slot, logic::LoadFilament &lf) { REQUIRE(VerifyState(lf, mg::FilamentLoadState::InSelector, mi::Idler::IdleSlotIndex(), slot, false, false, ml::off, ml::blink0, ErrorCode::FINDA_DIDNT_SWITCH_ON, ProgressCode::ERRWaitingForUser)); } -//void FailedLoadToFindaResolveHelp(uint8_t slot, logic::LoadFilament &lf) { -// // Stage 3 - the user has to do something -// // there are 3 options: -// // - help the filament a bit -// // - try again the whole sequence -// // - resolve the problem by hand - after pressing the button we shall check, that FINDA is off and we should do what? - -// // In this case we check the first option -// PressButtonAndDebounce(lf, mb::Left, false); - -// REQUIRE(VerifyState(lf, mg::FilamentLoadState::InSelector, mi::Idler::IdleSlotIndex(), slot, false, false, ml::off, ml::blink0, ErrorCode::RUNNING, ProgressCode::ERREngagingIdler)); - -// if (!mi::idler.HomingValid()) { -// SimulateIdlerHoming(lf); -// } - -// // Stage 4 - engage the idler -// REQUIRE(WhileTopState(lf, ProgressCode::ERREngagingIdler, idlerEngageDisengageMaxSteps)); - -// REQUIRE(VerifyState(lf, mg::FilamentLoadState::InSelector, slot, slot, false, true, ml::off, ml::blink0, ErrorCode::RUNNING, ProgressCode::ERRHelpingFilament)); - -// ClearButtons(lf); -//} - -//void FailedLoadToFindaResolveHelpFindaTriggered(uint8_t slot, logic::LoadFilament &lf) { -// // Stage 5 - move the pulley a bit - simulate FINDA depress -// REQUIRE(WhileCondition( -// lf, -// [&](uint32_t step) -> bool { -// if(step == 100){ // on 100th step make FINDA trigger -// hal::gpio::WritePin(FINDA_PIN, hal::gpio::Level::high); -// } -// return lf.TopLevelState() == ProgressCode::ERRHelpingFilament; }, -// 5000)); - -// REQUIRE(VerifyState(lf, mg::FilamentLoadState::InSelector, slot, slot, true, true, ml::blink0, ml::off, ErrorCode::RUNNING, ProgressCode::RetractingFromFinda)); -//} - -//void FailedLoadToFindaResolveHelpFindaDidntTrigger(uint8_t slot, logic::LoadFilament &lf) { -// // Stage 5 - move the pulley a bit - no FINDA change -// REQUIRE(WhileTopState(lf, ProgressCode::ERRHelpingFilament, 5000)); - -// REQUIRE(VerifyState(lf, mg::FilamentLoadState::InSelector, slot, slot, false, true, ml::off, ml::blink0, ErrorCode::RUNNING, ProgressCode::ERRDisengagingIdler)); -//} - void FailedLoadToFindaResolveManual(uint8_t slot, logic::LoadFilament &lf) { // simulate the user fixed the issue himself @@ -240,26 +195,6 @@ void FailedLoadToFindaResolveTryAgain(uint8_t slot, logic::LoadFilament &lf) { LoadFilamentSuccessfulWithRehomeSelector(slot, lf); } -//TEST_CASE("load_filament::failed_load_to_finda_0-4_resolve_help_second_ok", "[load_filament]") { -// for (uint8_t slot = 0; slot < config::toolCount; ++slot) { -// logic::LoadFilament lf; -// LoadFilamentCommonSetup(slot, lf, true); -// FailedLoadToFinda(slot, lf); -// FailedLoadToFindaResolveHelp(slot, lf); -// FailedLoadToFindaResolveHelpFindaTriggered(slot, lf); -// } -//} - -//TEST_CASE("load_filament::failed_load_to_finda_0-4_resolve_help_second_fail", "[load_filament]") { -// for (uint8_t slot = 0; slot < config::toolCount; ++slot) { -// logic::LoadFilament lf; -// LoadFilamentCommonSetup(slot, lf, true); -// FailedLoadToFinda(slot, lf); -// FailedLoadToFindaResolveHelp(slot, lf); -// FailedLoadToFindaResolveHelpFindaDidntTrigger(slot, lf); -// } -//} - TEST_CASE("load_filament::invalid_slot", "[load_filament]") { for (uint8_t activeSlot = 0; activeSlot < config::toolCount; ++activeSlot) { logic::LoadFilament lf; @@ -283,15 +218,6 @@ TEST_CASE("load_filament::state_machine_reusal", "[load_filament]") { } } -//TEST_CASE("load_filament::failed_load_to_finda_0-4_resolve_manual", "[load_filament]") { -// for (uint8_t slot = 0; slot < config::toolCount; ++slot) { -// logic::LoadFilament lf; -// LoadFilamentCommonSetup(slot, lf, true); -// FailedLoadToFinda(slot, lf); -// FailedLoadToFindaResolveManual(slot, lf); -// } -//} - TEST_CASE("load_filament::failed_load_to_finda_0-4_resolve_manual_no_FINDA", "[load_filament]") { for (uint8_t slot = 0; slot < config::toolCount; ++slot) { logic::LoadFilament lf; diff --git a/tests/unit/logic/tool_change/test_tool_change.cpp b/tests/unit/logic/tool_change/test_tool_change.cpp index 16e2f6f..0e4c119 100644 --- a/tests/unit/logic/tool_change/test_tool_change.cpp +++ b/tests/unit/logic/tool_change/test_tool_change.cpp @@ -212,33 +212,6 @@ void ToolChangeFailLoadToFinda(logic::ToolChange &tc, uint8_t fromSlot, uint8_t SimulateErrDisengagingIdler(tc, ErrorCode::FINDA_DIDNT_SWITCH_ON); } -//void ToolChangeFailLoadToFindaLeftBtn(logic::ToolChange &tc, uint8_t toSlot) { -// // now waiting for user input -// REQUIRE_FALSE(mui::userInput.AnyEvent()); -// PressButtonAndDebounce(tc, mb::Left, true); - -// REQUIRE(WhileTopState(tc, ProgressCode::ERREngagingIdler, 5000UL)); -// ClearButtons(tc); - -// REQUIRE(VerifyState(tc, mg::FilamentLoadState::InSelector, toSlot, toSlot, false, true, ml::off, ml::blink0, ErrorCode::RUNNING, ProgressCode::ERRHelpingFilament)); - -// // try push more, if FINDA triggers, continue loading -// REQUIRE(WhileCondition( -// tc, -// [&](uint32_t step) -> bool { -// if(step == 20){ // on 20th step make FINDA trigger -// hal::gpio::WritePin(FINDA_PIN, hal::gpio::Level::high); -// } -// return tc.TopLevelState() == ProgressCode::ERRHelpingFilament; }, -// 2000UL)); - -// REQUIRE(VerifyState(tc, mg::FilamentLoadState::InSelector, toSlot, toSlot, true, true, ml::blink0, ml::off, ErrorCode::RUNNING, ProgressCode::FeedingToBondtech)); - -// FeedingToBondtech(tc, toSlot); - -// CheckFinishedCorrectly(tc, toSlot); -//} - void ToolChangeFailLoadToFindaMiddleBtn(logic::ToolChange &tc, uint8_t toSlot) { // now waiting for user input REQUIRE_FALSE(mui::userInput.AnyEvent()); @@ -313,18 +286,6 @@ void ToolChangeFailLoadToFindaRightBtn(logic::ToolChange &tc, uint8_t toSlot) { ClearButtons(tc); } -//TEST_CASE("tool_change::load_fail_FINDA_resolve_btnL", "[tool_change]") { -// logic::ToolChange tc; -// for (uint8_t fromSlot = 0; fromSlot < config::toolCount; ++fromSlot) { -// for (uint8_t toSlot = 0; toSlot < config::toolCount; ++toSlot) { -// if (fromSlot != toSlot) { -// ToolChangeFailLoadToFinda(tc, fromSlot, toSlot); -// ToolChangeFailLoadToFindaLeftBtn(tc, toSlot); -// } -// } -// } -//} - TEST_CASE("tool_change::load_fail_FINDA_resolve_btnM", "[tool_change]") { logic::ToolChange tc; for (uint8_t fromSlot = 0; fromSlot < config::toolCount; ++fromSlot) { @@ -337,30 +298,6 @@ TEST_CASE("tool_change::load_fail_FINDA_resolve_btnM", "[tool_change]") { } } -//TEST_CASE("tool_change::load_fail_FINDA_resolve_btnR_FINDA_FSensor", "[tool_change]") { -// logic::ToolChange tc; -// for (uint8_t fromSlot = 0; fromSlot < config::toolCount; ++fromSlot) { -// for (uint8_t toSlot = 0; toSlot < config::toolCount; ++toSlot) { -// if (fromSlot != toSlot) { -// ToolChangeFailLoadToFinda(tc, fromSlot, toSlot); -// ToolChangeFailLoadToFindaRightBtnFINDA_FSensor(tc, toSlot); -// } -// } -// } -//} - -//TEST_CASE("tool_change::load_fail_FINDA_resolve_btnR_FINDA", "[tool_change]") { -// logic::ToolChange tc; -// for (uint8_t fromSlot = 0; fromSlot < config::toolCount; ++fromSlot) { -// for (uint8_t toSlot = 0; toSlot < config::toolCount; ++toSlot) { -// if (fromSlot != toSlot) { -// ToolChangeFailLoadToFinda(tc, fromSlot, toSlot); -// ToolChangeFailLoadToFindaRightBtnFINDA(tc, toSlot); -// } -// } -// } -//} - void ToolChangeFailFSensor(logic::ToolChange &tc, uint8_t fromSlot, uint8_t toSlot) { using namespace std::placeholders; ForceReinitAllAutomata(); diff --git a/tests/unit/logic/unload_filament/test_unload_filament.cpp b/tests/unit/logic/unload_filament/test_unload_filament.cpp index 2eca088..3d4c96c 100644 --- a/tests/unit/logic/unload_filament/test_unload_filament.cpp +++ b/tests/unit/logic/unload_filament/test_unload_filament.cpp @@ -164,92 +164,6 @@ void FindaDidntTriggerCommonSetup(uint8_t slot, logic::UnloadFilament &uf) { REQUIRE(VerifyState(uf, mg::FilamentLoadState::InSelector, mi::Idler::IdleSlotIndex(), slot, true, false, ml::off, ml::blink0, ErrorCode::FINDA_DIDNT_SWITCH_OFF, ProgressCode::ERRWaitingForUser)); } -//void FindaDidntTriggerResolveHelp(uint8_t slot, logic::UnloadFilament &uf) { - -// // Stage 3 - the user has to do something -// // there are 3 options: -// // - help the filament a bit -// // - try again the whole sequence -// // - resolve the problem by hand - after pressing the button we shall check, that FINDA is off and we should do what? - -// // In this case we check the first option - -// REQUIRE_FALSE(mui::userInput.AnyEvent()); -// // Perform press on button 0 + debounce -// PressButtonAndDebounce(uf, mb::Left, false); -// REQUIRE_FALSE(mui::userInput.AnyEvent()); // button processed and nothing remains - -// // we still think we have filament loaded at this stage -// // idler should have been disengaged -// // no change in selector's position -// // FINDA still on -// // red LED should blink, green LED should be off -// REQUIRE(VerifyState(uf, mg::FilamentLoadState::InSelector, mi::Idler::IdleSlotIndex(), slot, true, false, ml::off, ml::blink0, ErrorCode::RUNNING, ProgressCode::ERREngagingIdler)); - -// if (!mi::idler.HomingValid()) { -// SimulateIdlerHoming(uf); -// } - -// // Stage 4 - engage the idler -// REQUIRE(WhileTopState(uf, ProgressCode::ERREngagingIdler, idlerEngageDisengageMaxSteps)); - -// // we still think we have filament loaded at this stage -// // idler should be engaged -// // no change in selector's position -// // FINDA still on -// // red LED should blink, green LED should be off -// REQUIRE(VerifyState(uf, mg::FilamentLoadState::InSelector, slot, slot, true, true, ml::off, ml::blink0, ErrorCode::RUNNING, ProgressCode::ERRHelpingFilament)); -//} - -//void FindaDidntTriggerResolveHelpFindaTriggered(uint8_t slot, logic::UnloadFilament &uf) { -// // Stage 5 - move the pulley a bit - simulate FINDA depress -// REQUIRE(WhileCondition( -// uf, -// [&](uint32_t step) -> bool { -// if(step == 100){ // on 100th step make FINDA trigger -// hal::gpio::WritePin(FINDA_PIN, hal::gpio::Level::low); -// } -// return uf.TopLevelState() == ProgressCode::ERRHelpingFilament; }, -// 5000)); - -// // we still think we have filament loaded at this stage -// // idler should be engaged -// // no change in selector's position -// // FINDA depressed -// // red LED should blink, green LED should be off -// REQUIRE(VerifyState(uf, mg::FilamentLoadState::InSelector, slot, slot, false, true, ml::off, ml::blink0, ErrorCode::RUNNING, ProgressCode::DisengagingIdler)); -//} - -//void FindaDidntTriggerResolveHelpFindaDidntTrigger(uint8_t slot, logic::UnloadFilament &uf) { -// // Stage 5 - move the pulley a bit - no FINDA change -// REQUIRE(WhileTopState(uf, ProgressCode::ERRHelpingFilament, 5000)); - -// // we still think we have filament loaded at this stage -// // idler should be engaged -// // no change in selector's position -// // FINDA still pressed -// // red LED should blink, green LED should be off -// REQUIRE(VerifyState(uf, mg::FilamentLoadState::InSelector, slot, slot, true, true, ml::off, ml::blink0, ErrorCode::RUNNING, ProgressCode::ERRDisengagingIdler)); -//} - -//TEST_CASE("unload_filament::finda_didnt_trigger_resolve_help_second_ok", "[unload_filament]") { -// for (uint8_t slot = 0; slot < config::toolCount; ++slot) { -// logic::UnloadFilament uf; -// FindaDidntTriggerCommonSetup(slot, uf); -// FindaDidntTriggerResolveHelp(slot, uf); -// FindaDidntTriggerResolveHelpFindaTriggered(slot, uf); -// } -//} - -//TEST_CASE("unload_filament::finda_didnt_trigger_resolve_help_second_fail", "[unload_filament]") { -// // the same with different end scenario -// for (uint8_t slot = 0; slot < config::toolCount; ++slot) { -// logic::UnloadFilament uf; -// FindaDidntTriggerCommonSetup(slot, uf); -// FindaDidntTriggerResolveHelp(slot, uf); -// FindaDidntTriggerResolveHelpFindaDidntTrigger(slot, uf); -// } -//} void FindaDidntTriggerResolveTryAgain(uint8_t slot, logic::UnloadFilament &uf) { // Stage 3 - the user has to do something @@ -348,14 +262,6 @@ void FailedUnloadResolveManualFSensorOn(uint8_t slot, logic::UnloadFilament &uf) REQUIRE(VerifyState(uf, mg::FilamentLoadState::InSelector, mi::Idler::IdleSlotIndex(), slot, false, false, ml::off, ml::blink0, ErrorCode::FSENSOR_DIDNT_SWITCH_OFF, ProgressCode::ERRWaitingForUser)); } -//TEST_CASE("unload_filament::failed_unload_to_finda_0-4_resolve_manual", "[unload_filament]") { -// for (uint8_t slot = 0; slot < config::toolCount; ++slot) { -// logic::UnloadFilament uf; -// FindaDidntTriggerCommonSetup(slot, uf); -// FailedUnloadResolveManual(slot, uf); -// } -//} - TEST_CASE("unload_filament::failed_unload_to_finda_0-4_resolve_manual_FINDA_on", "[unload_filament]") { for (uint8_t slot = 0; slot < config::toolCount; ++slot) { logic::UnloadFilament uf; @@ -363,44 +269,3 @@ TEST_CASE("unload_filament::failed_unload_to_finda_0-4_resolve_manual_FINDA_on", FailedUnloadResolveManualFINDAon(slot, uf); } } - -//TEST_CASE("unload_filament::failed_unload_to_finda_0-4_resolve_manual_FSensor_on", "[unload_filament]") { -// for (uint8_t slot = 0; slot < config::toolCount; ++slot) { -// logic::UnloadFilament uf; -// FindaDidntTriggerCommonSetup(slot, uf); -// FailedUnloadResolveManualFSensorOn(slot, uf); -// } -//} - -//TEST_CASE("unload_filament::unload_homing_retry", "[unload_filament][homing]") { -// uint8_t slot = 0; -// logic::UnloadFilament uf; -// FindaDidntTriggerCommonSetup(slot, uf); - -// // simulate the user fixed the issue himself (not really important, we are after a failed homing of the selector) -// hal::gpio::WritePin(FINDA_PIN, hal::gpio::Level::low); -// PressButtonAndDebounce(uf, mb::Right, false); -// SimulateIdlerHoming(uf); // make Idler happy - -// REQUIRE(WhileCondition(uf, std::bind(SimulateFeedToFINDA, _1, 100), 5000)); - -// REQUIRE(WhileCondition(uf, std::bind(SimulateRetractFromFINDA, _1, 100), 5000)); -// REQUIRE(WhileCondition( -// uf, [&](uint32_t) { return uf.State() == ProgressCode::RetractingFromFinda; }, 50000)); - -// REQUIRE(WhileTopState(uf, ProgressCode::DisengagingIdler, idlerEngageDisengageMaxSteps)); - -// // now fail homing of the Selector -// REQUIRE(SimulateFailedHomeSelectorRepeated(uf)); - -// // REQUIRE(VerifyState(uf, mg::FilamentLoadState::AtPulley, mi::Idler::IdleSlotIndex(), slot, false, false, ml::blink0, ml::off, ErrorCode::RUNNING, ProgressCode::OK)); -// REQUIRE(uf.State() == ProgressCode::Homing); -// REQUIRE(uf.Error() == ErrorCode::RUNNING); - -// // one retry -// REQUIRE(SimulateFailedHomeSelectorRepeated(uf)); - -// // success -// SimulateSelectorHoming(uf); -// REQUIRE(VerifyState(uf, mg::FilamentLoadState::AtPulley, mi::Idler::IdleSlotIndex(), slot, false, false, ml::off, ml::off, ErrorCode::OK, ProgressCode::OK)); -//}