diff --git a/MainLoop.cpp b/MainLoop.cpp index e739731..e9b5329 100755 --- a/MainLoop.cpp +++ b/MainLoop.cpp @@ -68,6 +68,8 @@ void MainLoop::setup() noexcept for (uint8_t i = 0; i < 3; i++) { motors[i].commitMoveImmediately(); } + + StateMachine::getInstance().setState(StateMachine::STATE::IDLING); } void MainLoop::update() noexcept @@ -108,7 +110,7 @@ void MainLoop::update() noexcept } break; - case StateMachine::STATE::ERROR: + case StateMachine::STATE::FAULT: default: // Freeze in place until error clears or device reset yield(); diff --git a/StateMachine.cpp b/StateMachine.cpp index de2ef51..cc44d02 100755 --- a/StateMachine.cpp +++ b/StateMachine.cpp @@ -28,12 +28,12 @@ bool StateMachine::setState(const STATE newState) noexcept bool StateMachine::canSwitchToState(const STATE newState) const noexcept { // Error state is final - if (state == STATE::ERROR) { + if (state == STATE::FAULT) { return false; } // Error state only settable via raiseError() - if (newState == STATE::ERROR) { + if (newState == STATE::FAULT) { return false; } @@ -88,7 +88,7 @@ bool StateMachine::canSwitchToState(const STATE newState) const noexcept bool StateMachine::raiseError(const String &reason) noexcept { - state = STATE::ERROR; + state = STATE::FAULT; lastError = reason; digitalWrite(ERROR_INDICATOR_LED_PIN, HIGH); UartHandler& uart = UartHandler::getInstance(); diff --git a/StateMachine.hpp b/StateMachine.hpp index f6830ec..b897e32 100755 --- a/StateMachine.hpp +++ b/StateMachine.hpp @@ -9,7 +9,7 @@ class StateMachine INITIALIZING, IDLING, MOVING, - ERROR + FAULT }; StateMachine(const StateMachine&) = delete;