Make unlimited LoadFilament as default
parent
6b4ba322bb
commit
c3739eaaef
|
|
@ -61,7 +61,7 @@ void IdleMode::CheckManualOperation() {
|
||||||
case mui::Event::Middle:
|
case mui::Event::Middle:
|
||||||
// plan load
|
// plan load
|
||||||
if (mg::globals.ActiveSlot() < config::toolCount) { // do we have a meaningful selector position?
|
if (mg::globals.ActiveSlot() < config::toolCount) { // do we have a meaningful selector position?
|
||||||
loadFilament.ResetUnlimited(mg::globals.ActiveSlot());
|
loadFilament.Reset(mg::globals.ActiveSlot());
|
||||||
currentCommand = &loadFilament;
|
currentCommand = &loadFilament;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
|
||||||
|
|
@ -21,16 +21,16 @@ void LoadFilament::Reset(uint8_t param) {
|
||||||
}
|
}
|
||||||
dbg_logic_P(PSTR("Load Filament"));
|
dbg_logic_P(PSTR("Load Filament"));
|
||||||
mg::globals.SetFilamentLoaded(param, mg::FilamentLoadState::AtPulley); // still at pulley, haven't moved yet
|
mg::globals.SetFilamentLoaded(param, mg::FilamentLoadState::AtPulley); // still at pulley, haven't moved yet
|
||||||
Reset2(true);
|
Reset2(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
void LoadFilament::ResetUnlimited(uint8_t param) {
|
void LoadFilament::ResetLimited(uint8_t param) {
|
||||||
if (!CheckToolIndex(param)) {
|
if (!CheckToolIndex(param)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
dbg_logic_P(PSTR("Load Filament"));
|
dbg_logic_P(PSTR("Load Filament"));
|
||||||
mg::globals.SetFilamentLoaded(param, mg::FilamentLoadState::AtPulley); // still at pulley, haven't moved yet
|
mg::globals.SetFilamentLoaded(param, mg::FilamentLoadState::AtPulley); // still at pulley, haven't moved yet
|
||||||
Reset2(false);
|
Reset2(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
void logic::LoadFilament::Reset2(bool feedPhaseLimited) {
|
void logic::LoadFilament::Reset2(bool feedPhaseLimited) {
|
||||||
|
|
|
||||||
|
|
@ -13,13 +13,13 @@ public:
|
||||||
inline LoadFilament()
|
inline LoadFilament()
|
||||||
: CommandBase() {}
|
: CommandBase() {}
|
||||||
|
|
||||||
/// Restart the automaton
|
/// Restart the automaton - performs unlimited rotation of the Pulley
|
||||||
/// @param param index of filament slot to load
|
/// @param param index of filament slot to load
|
||||||
void Reset(uint8_t param) override;
|
void Reset(uint8_t param) override;
|
||||||
|
|
||||||
/// Restart the automaton for unlimited rotation of the Pulley
|
/// Restart the automaton for a limited rotation of the Pulley
|
||||||
/// @param param index of filament slot to load
|
/// @param param index of filament slot to load
|
||||||
void ResetUnlimited(uint8_t param);
|
void ResetLimited(uint8_t param);
|
||||||
|
|
||||||
/// @returns true if the state machine finished its job, false otherwise
|
/// @returns true if the state machine finished its job, false otherwise
|
||||||
bool StepInner() override;
|
bool StepInner() override;
|
||||||
|
|
|
||||||
|
|
@ -23,7 +23,7 @@ using namespace std::placeholders;
|
||||||
|
|
||||||
#include "../helpers/helpers.ipp"
|
#include "../helpers/helpers.ipp"
|
||||||
|
|
||||||
void LoadFilamentCommonSetup(uint8_t slot, logic::LoadFilament &lf, bool feedUnlimited) {
|
void LoadFilamentCommonSetup(uint8_t slot, logic::LoadFilament &lf, bool feedLimited) {
|
||||||
ForceReinitAllAutomata();
|
ForceReinitAllAutomata();
|
||||||
|
|
||||||
// change the startup to what we need here
|
// change the startup to what we need here
|
||||||
|
|
@ -33,8 +33,8 @@ void LoadFilamentCommonSetup(uint8_t slot, logic::LoadFilament &lf, bool feedUnl
|
||||||
REQUIRE(VerifyState(lf, mg::FilamentLoadState::AtPulley, mi::Idler::IdleSlotIndex(), slot, false, false, ml::off, ml::off, ErrorCode::OK, ProgressCode::OK));
|
REQUIRE(VerifyState(lf, mg::FilamentLoadState::AtPulley, mi::Idler::IdleSlotIndex(), slot, false, false, ml::off, ml::off, ErrorCode::OK, ProgressCode::OK));
|
||||||
|
|
||||||
// restart the automaton
|
// restart the automaton
|
||||||
if (feedUnlimited) {
|
if (feedLimited) {
|
||||||
lf.ResetUnlimited(slot);
|
lf.ResetLimited(slot);
|
||||||
} else {
|
} else {
|
||||||
lf.Reset(slot);
|
lf.Reset(slot);
|
||||||
}
|
}
|
||||||
|
|
@ -81,7 +81,7 @@ void LoadFilamentSuccessful(uint8_t slot, logic::LoadFilament &lf) {
|
||||||
TEST_CASE("load_filament::regular_load_to_slot_0-4", "[load_filament]") {
|
TEST_CASE("load_filament::regular_load_to_slot_0-4", "[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;
|
||||||
LoadFilamentCommonSetup(slot, lf, false);
|
LoadFilamentCommonSetup(slot, lf, true);
|
||||||
LoadFilamentSuccessful(slot, lf);
|
LoadFilamentSuccessful(slot, lf);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -212,7 +212,7 @@ void FailedLoadToFindaResolveTryAgain(uint8_t slot, logic::LoadFilament &lf) {
|
||||||
TEST_CASE("load_filament::failed_load_to_finda_0-4_resolve_help_second_ok", "[load_filament]") {
|
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) {
|
for (uint8_t slot = 0; slot < config::toolCount; ++slot) {
|
||||||
logic::LoadFilament lf;
|
logic::LoadFilament lf;
|
||||||
LoadFilamentCommonSetup(slot, lf, false);
|
LoadFilamentCommonSetup(slot, lf, true);
|
||||||
FailedLoadToFinda(slot, lf);
|
FailedLoadToFinda(slot, lf);
|
||||||
FailedLoadToFindaResolveHelp(slot, lf);
|
FailedLoadToFindaResolveHelp(slot, lf);
|
||||||
FailedLoadToFindaResolveHelpFindaTriggered(slot, lf);
|
FailedLoadToFindaResolveHelpFindaTriggered(slot, lf);
|
||||||
|
|
@ -222,7 +222,7 @@ TEST_CASE("load_filament::failed_load_to_finda_0-4_resolve_help_second_ok", "[lo
|
||||||
TEST_CASE("load_filament::failed_load_to_finda_0-4_resolve_help_second_fail", "[load_filament]") {
|
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) {
|
for (uint8_t slot = 0; slot < config::toolCount; ++slot) {
|
||||||
logic::LoadFilament lf;
|
logic::LoadFilament lf;
|
||||||
LoadFilamentCommonSetup(slot, lf, false);
|
LoadFilamentCommonSetup(slot, lf, true);
|
||||||
FailedLoadToFinda(slot, lf);
|
FailedLoadToFinda(slot, lf);
|
||||||
FailedLoadToFindaResolveHelp(slot, lf);
|
FailedLoadToFindaResolveHelp(slot, lf);
|
||||||
FailedLoadToFindaResolveHelpFindaDidntTrigger(slot, lf);
|
FailedLoadToFindaResolveHelpFindaDidntTrigger(slot, lf);
|
||||||
|
|
@ -245,7 +245,7 @@ TEST_CASE("load_filament::state_machine_reusal", "[load_filament]") {
|
||||||
if (toSlot >= config::toolCount) {
|
if (toSlot >= config::toolCount) {
|
||||||
InvalidSlot<logic::LoadFilament>(lf, fromSlot, toSlot);
|
InvalidSlot<logic::LoadFilament>(lf, fromSlot, toSlot);
|
||||||
} else {
|
} else {
|
||||||
LoadFilamentCommonSetup(toSlot, lf, false);
|
LoadFilamentCommonSetup(toSlot, lf, true);
|
||||||
LoadFilamentSuccessful(toSlot, lf);
|
LoadFilamentSuccessful(toSlot, lf);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -255,7 +255,7 @@ TEST_CASE("load_filament::state_machine_reusal", "[load_filament]") {
|
||||||
TEST_CASE("load_filament::failed_load_to_finda_0-4_resolve_manual", "[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) {
|
for (uint8_t slot = 0; slot < config::toolCount; ++slot) {
|
||||||
logic::LoadFilament lf;
|
logic::LoadFilament lf;
|
||||||
LoadFilamentCommonSetup(slot, lf, false);
|
LoadFilamentCommonSetup(slot, lf, true);
|
||||||
FailedLoadToFinda(slot, lf);
|
FailedLoadToFinda(slot, lf);
|
||||||
FailedLoadToFindaResolveManual(slot, lf);
|
FailedLoadToFindaResolveManual(slot, lf);
|
||||||
}
|
}
|
||||||
|
|
@ -264,7 +264,7 @@ TEST_CASE("load_filament::failed_load_to_finda_0-4_resolve_manual", "[load_filam
|
||||||
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;
|
||||||
LoadFilamentCommonSetup(slot, lf, false);
|
LoadFilamentCommonSetup(slot, lf, true);
|
||||||
FailedLoadToFinda(slot, lf);
|
FailedLoadToFinda(slot, lf);
|
||||||
FailedLoadToFindaResolveManualNoFINDA(slot, lf);
|
FailedLoadToFindaResolveManualNoFINDA(slot, lf);
|
||||||
}
|
}
|
||||||
|
|
@ -273,7 +273,7 @@ TEST_CASE("load_filament::failed_load_to_finda_0-4_resolve_manual_no_FINDA", "[l
|
||||||
TEST_CASE("load_filament::failed_load_to_finda_0-4_try_again", "[load_filament]") {
|
TEST_CASE("load_filament::failed_load_to_finda_0-4_try_again", "[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;
|
||||||
LoadFilamentCommonSetup(slot, lf, false);
|
LoadFilamentCommonSetup(slot, lf, true);
|
||||||
FailedLoadToFinda(slot, lf);
|
FailedLoadToFinda(slot, lf);
|
||||||
FailedLoadToFindaResolveTryAgain(slot, lf);
|
FailedLoadToFindaResolveTryAgain(slot, lf);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue