#ifndef STATE_H #define STATE_H class MotorController; class State { protected: MotorController* context = nullptr; public: virtual ~State() { } void set_context(MotorController* context) { this->context = context; } virtual void enter() = 0; // LED ON virtual void update() = 0; // run motor controller virtual void command(char c) = 0; // Listen for reset virtual void exit() = 0; // Stop motor }; #endif