From 394f290bfba3fc9b6484f61c2062e8f8d5606fa5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gu=C3=B0ni=20M=C3=A1r=20Gilbert?= Date: Thu, 27 Oct 2022 15:40:15 +0000 Subject: [PATCH] Check for ERRInternal in command_base Step() Reduces code size significantly --- src/logic/command_base.cpp | 3 ++- src/logic/cut_filament.cpp | 3 --- src/logic/eject_filament.cpp | 3 --- src/logic/home.cpp | 3 --- src/logic/hw_sanity.cpp | 3 --- src/logic/load_filament.cpp | 3 --- src/logic/move_selector.cpp | 3 --- src/logic/tool_change.cpp | 3 --- src/logic/unload_filament.cpp | 3 --- 9 files changed, 2 insertions(+), 25 deletions(-) diff --git a/src/logic/command_base.cpp b/src/logic/command_base.cpp index 8cf4ccf..00dd9b8 100644 --- a/src/logic/command_base.cpp +++ b/src/logic/command_base.cpp @@ -136,7 +136,8 @@ bool CommandBase::WaitForModulesErrorRecovery() { } bool CommandBase::Step() { - if (WaitForModulesErrorRecovery()) { + if (WaitForModulesErrorRecovery() || state == ProgressCode::ERRInternal) { + // ERRInternal: firmware panic was triggered return true; } return StepInner(); diff --git a/src/logic/cut_filament.cpp b/src/logic/cut_filament.cpp index 14449be..59edd92 100644 --- a/src/logic/cut_filament.cpp +++ b/src/logic/cut_filament.cpp @@ -100,9 +100,6 @@ bool CutFilament::StepInner() { break; case ProgressCode::OK: return true; - case ProgressCode::ERRInternal: - // firmware panic triggered - return true; default: // we got into an unhandled state, better report it state = ProgressCode::ERRInternal; error = ErrorCode::INTERNAL; diff --git a/src/logic/eject_filament.cpp b/src/logic/eject_filament.cpp index bc17818..223eacb 100644 --- a/src/logic/eject_filament.cpp +++ b/src/logic/eject_filament.cpp @@ -75,9 +75,6 @@ bool EjectFilament::StepInner() { case ProgressCode::OK: dbg_logic_fP(PSTR("FilamentLoadState after Eject %d"), mg::globals.FilamentLoaded()); return true; - case ProgressCode::ERRInternal: - // firmware panic triggered - return true; default: // we got into an unhandled state, better report it state = ProgressCode::ERRInternal; error = ErrorCode::INTERNAL; diff --git a/src/logic/home.cpp b/src/logic/home.cpp index 1ee1785..cded6fd 100644 --- a/src/logic/home.cpp +++ b/src/logic/home.cpp @@ -28,9 +28,6 @@ bool Home::StepInner() { break; case ProgressCode::OK: return true; - case ProgressCode::ERRInternal: - // firmware panic triggered - return true; default: // we got into an unhandled state, better report it state = ProgressCode::ERRInternal; error = ErrorCode::INTERNAL; diff --git a/src/logic/hw_sanity.cpp b/src/logic/hw_sanity.cpp index 99558d1..c665f7f 100644 --- a/src/logic/hw_sanity.cpp +++ b/src/logic/hw_sanity.cpp @@ -168,9 +168,6 @@ bool HWSanity::StepInner() { } case ProgressCode::OK: return true; - case ProgressCode::ERRInternal: - // firmware panic triggered - return true; default: // we got into an unhandled state, better report it state = ProgressCode::ERRInternal; error = ErrorCode::INTERNAL; diff --git a/src/logic/load_filament.cpp b/src/logic/load_filament.cpp index a622b9e..831feea 100644 --- a/src/logic/load_filament.cpp +++ b/src/logic/load_filament.cpp @@ -162,9 +162,6 @@ bool LoadFilament::StepInner() { GoToErrDisengagingIdler(ErrorCode::FINDA_DIDNT_SWITCH_ON); } return false; - case ProgressCode::ERRInternal: - // firmware panic triggered - return true; default: // we got into an unhandled state, better report it state = ProgressCode::ERRInternal; error = ErrorCode::INTERNAL; diff --git a/src/logic/move_selector.cpp b/src/logic/move_selector.cpp index 1749a37..a6f687d 100644 --- a/src/logic/move_selector.cpp +++ b/src/logic/move_selector.cpp @@ -31,9 +31,6 @@ bool MoveSelector::StepInner() { break; case ProgressCode::OK: return true; - case ProgressCode::ERRInternal: - // firmware panic triggered - return true; default: // we got into an unhandled state, better report it state = ProgressCode::ERRInternal; error = ErrorCode::INTERNAL; diff --git a/src/logic/tool_change.cpp b/src/logic/tool_change.cpp index 5f93c6e..a599b8e 100644 --- a/src/logic/tool_change.cpp +++ b/src/logic/tool_change.cpp @@ -179,9 +179,6 @@ bool ToolChange::StepInner() { GoToErrDisengagingIdler(ErrorCode::FSENSOR_DIDNT_SWITCH_ON); } return false; - case ProgressCode::ERRInternal: - // firmware panic triggered - return true; default: // we got into an unhandled state, better report it state = ProgressCode::ERRInternal; error = ErrorCode::INTERNAL; diff --git a/src/logic/unload_filament.cpp b/src/logic/unload_filament.cpp index 1c2a863..086fe9d 100644 --- a/src/logic/unload_filament.cpp +++ b/src/logic/unload_filament.cpp @@ -159,9 +159,6 @@ bool UnloadFilament::StepInner() { break; case ProgressCode::OK: return true; // successfully finished - case ProgressCode::ERRInternal: - // firmware panic triggered - return true; default: // we got into an unhandled state, better report it state = ProgressCode::ERRInternal; error = ErrorCode::INTERNAL;