Fix issue where firmware panic error code is overwritten
If QUEUE_FULL error happened, it would be overwritten as INTERNAL and incorrectly display FW_RUNTIME_ERROR on MK3S. The fix is to add handling for ERRInternal in every StepInner() and forward the error to higher application layerpull/232/head
parent
0e625dc551
commit
ef4246dd9a
|
|
@ -100,6 +100,9 @@ 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;
|
||||
|
|
|
|||
|
|
@ -75,6 +75,9 @@ 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;
|
||||
|
|
|
|||
|
|
@ -28,6 +28,9 @@ 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;
|
||||
|
|
|
|||
|
|
@ -168,6 +168,9 @@ 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;
|
||||
|
|
|
|||
|
|
@ -162,6 +162,9 @@ 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;
|
||||
|
|
|
|||
|
|
@ -31,6 +31,9 @@ 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;
|
||||
|
|
|
|||
|
|
@ -179,6 +179,9 @@ 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;
|
||||
|
|
|
|||
|
|
@ -159,6 +159,9 @@ 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;
|
||||
|
|
|
|||
Loading…
Reference in New Issue