Remove related unit tests
parent
75a0ebaf0e
commit
009c692138
|
|
@ -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));
|
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) {
|
void FailedLoadToFindaResolveManual(uint8_t slot, logic::LoadFilament &lf) {
|
||||||
// simulate the user fixed the issue himself
|
// simulate the user fixed the issue himself
|
||||||
|
|
||||||
|
|
@ -240,26 +195,6 @@ void FailedLoadToFindaResolveTryAgain(uint8_t slot, logic::LoadFilament &lf) {
|
||||||
LoadFilamentSuccessfulWithRehomeSelector(slot, 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]") {
|
TEST_CASE("load_filament::invalid_slot", "[load_filament]") {
|
||||||
for (uint8_t activeSlot = 0; activeSlot < config::toolCount; ++activeSlot) {
|
for (uint8_t activeSlot = 0; activeSlot < config::toolCount; ++activeSlot) {
|
||||||
logic::LoadFilament lf;
|
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]") {
|
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) {
|
for (uint8_t slot = 0; slot < config::toolCount; ++slot) {
|
||||||
logic::LoadFilament lf;
|
logic::LoadFilament lf;
|
||||||
|
|
|
||||||
|
|
@ -212,33 +212,6 @@ void ToolChangeFailLoadToFinda(logic::ToolChange &tc, uint8_t fromSlot, uint8_t
|
||||||
SimulateErrDisengagingIdler(tc, ErrorCode::FINDA_DIDNT_SWITCH_ON);
|
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) {
|
void ToolChangeFailLoadToFindaMiddleBtn(logic::ToolChange &tc, uint8_t toSlot) {
|
||||||
// now waiting for user input
|
// now waiting for user input
|
||||||
REQUIRE_FALSE(mui::userInput.AnyEvent());
|
REQUIRE_FALSE(mui::userInput.AnyEvent());
|
||||||
|
|
@ -313,18 +286,6 @@ void ToolChangeFailLoadToFindaRightBtn(logic::ToolChange &tc, uint8_t toSlot) {
|
||||||
ClearButtons(tc);
|
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]") {
|
TEST_CASE("tool_change::load_fail_FINDA_resolve_btnM", "[tool_change]") {
|
||||||
logic::ToolChange tc;
|
logic::ToolChange tc;
|
||||||
for (uint8_t fromSlot = 0; fromSlot < config::toolCount; ++fromSlot) {
|
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) {
|
void ToolChangeFailFSensor(logic::ToolChange &tc, uint8_t fromSlot, uint8_t toSlot) {
|
||||||
using namespace std::placeholders;
|
using namespace std::placeholders;
|
||||||
ForceReinitAllAutomata();
|
ForceReinitAllAutomata();
|
||||||
|
|
|
||||||
|
|
@ -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));
|
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) {
|
void FindaDidntTriggerResolveTryAgain(uint8_t slot, logic::UnloadFilament &uf) {
|
||||||
// Stage 3 - the user has to do something
|
// 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));
|
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]") {
|
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) {
|
for (uint8_t slot = 0; slot < config::toolCount; ++slot) {
|
||||||
logic::UnloadFilament uf;
|
logic::UnloadFilament uf;
|
||||||
|
|
@ -363,44 +269,3 @@ TEST_CASE("unload_filament::failed_unload_to_finda_0-4_resolve_manual_FINDA_on",
|
||||||
FailedUnloadResolveManualFINDAon(slot, uf);
|
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));
|
|
||||||
//}
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue