#define SizeRegisterModules 20 #include "QB.h" int IDarg = 0; String ParsedCommand[SizeRegisterModules]; void ShowError(String errorMessage) { Serial.println("Error: \n " + errorMessage); } void ShowMessage(String type, String Message) { Serial.println("[" + type + "] " + Message); } char getCharCommand() { if (Serial.available() > 0) { char cmdraw = Serial.read(); if (cmdraw > 0) return cmdraw; } return '?'; } void song() { Qb_PLAY ("MNT120L16O4E.D+.E.D+.E.D.C.C.E.A.B.E.G+.B.>C.O2E.A."); Qb_PLAY (">E.>E.D+.E.D+.E.D.C.C.E.A.B.D.>C.D.C.C.E.A.B.E.G+.B.>C.O2E.A.>E.>E.D+.E."); Qb_PLAY ("D+.E.D.C.C.E.A.B.D.>C.B.>C.D.E.O2G.>C.G."); Qb_PLAY (">F.E.D.O2G.B.>F.>E.D.C.O2E.A.>G.>D.C.E.P64E.>E.E.P64E.>E.<"); Qb_PLAY ("D+.E.D+.E.D+.E.D+.E.D+.E.D+.E.D.C.C.E.A.B.E.G+.B."); Qb_PLAY (">C.O2E.A.>E.>E.D+.E.D+.E.D.C.C.E.A.B.D.>C.B.>C.D.E.O2G.>C.G.>F.E.D.O2G.B.>F.>E.D.C.O2E.A.>E.>D.C."); Qb_PLAY ("E.>E.E.P64E.>E.D.C.C.E."); Qb_PLAY ("A.B.E.G+.B.>C.O2E.A.>E.>E.D+.E.D+.E.D.C.C.E.A.B."); } void loop() { char CharCommand = getCharCommand(); if (CharCommand != ';' && CharCommand != '?') { Serial.print(CharCommand); if (CharCommand == ' ') { IDarg++; } else { ParsedCommand[IDarg] += CharCommand; } } else if (CharCommand == ';') { Serial.println(" "); mainL(ParsedCommand); IDarg = 0; for (int i = 0; i <= 20; i++) { ParsedCommand[i] = ""; } Serial.print(">"); } }