C++:
void parsing() {
if (serial.available()) {
Parser data(serial.buf, ','); // отдаём парсеру
int ints[3]; // массив для численных данных
data.parseInts(ints); // парсим в него
switch (ints[0]) { // свитч по ключу
case 0:
{
Serial.println("case 0");
Serial.println(ints[0]);
Serial.println(ints[1]);
Serial.println(ints[2]);
if (ints[1] >= (moveX / 50) ){
for (int i = (moveX / 50); i <= ints[1] - 1; i++) {
digitalWrite(dirXPin, LOW);
digitalWrite(dirYPin, HIGH);
run();
moveX += 50;
// Serial.println("x=");
// Serial.println(moveX / 50);
}
}
else{//if (ints[1] < (moveX / 50) ){
for (int i = (moveX / 50); i >= ints[1] + 1; i--) {
digitalWrite(dirXPin, HIGH);
digitalWrite(dirYPin, LOW);
run();
moveX -= 50;
// Serial.println("x=");
// Serial.println(moveX / 50);
}
}
if (ints[2] >= (moveY / 50) ){
for (int i = (moveY / 50); i <= ints[2] - 1; i++) {
digitalWrite(dirYPin, HIGH);
digitalWrite(dirXPin, HIGH);
run();
moveY += 50;
// Serial.println("y=");
// Serial.println(moveY / 50);
}
}
else{// if (ints[2] < (moveY / 50) ){
for (int i = (moveY / 50); i >= ints[2] + 1; i--) {
digitalWrite(dirYPin, LOW);
digitalWrite(dirXPin, LOW);
run();
moveY -= 50;
// Serial.println("y=");
// Serial.println(moveY / 50);
}
}
break;
}
case 1:
{
Serial.println("case 1");
Serial.println(ints[0]);
Serial.println(ints[1]);
Serial.println(ints[2]);
servo.write(ints[1]);
break;
}
case 2:
break;
case 3:
break;
}
}
}