#include #include typedef struct { char Axis; int time; } MoveCommand; class ZCodeParser { private: public: static void ParseString(String inString, MoveCommand *outMovecommands, int *numOfCommands); }; void ZCodeParser::ParseString(String inString, MoveCommand *outMovecommands, int *numOfCommands){ // G0 = move, no block // G1 = move, block // ; = comments // \n = new command std::vector stringCommands; int startIndex = 0; int endIndex; while (true) { endIndex = inString.indexOf('\n', startIndex); if (endIndex == -1){ break; } stringCommands.push_back(inString.substring(startIndex, endIndex)); startIndex = endIndex; } Serial.println("Parsed: "); for (size_t i = 0; i < stringCommands.size(); i++) { Serial.print(stringCommands[i]); Serial.print(", "); } Serial.println("\n"); }