const int numValues = 12; // Number of values to extract
int pwmValues[numValues]; // Array to store extracted values
void parsePWMString(String data) {
const char *labels[numValues] = {"F:", "R:", "FR:", "FL:", "RR:", "RL:", "U:", "D:", "UR:", "UL:", "DR:", "DL:"};
for (int i = 0; i < numValues; i++) {
int start = data.indexOf(labels[i]);
if (start != -1) {
start += strlen(labels[i]); // Move past the label
int end = data.indexOf(';', start); // Find the semicolon
if (end != -1) {
pwmValues[i] = data.substring(start, end).toInt(); // Convert to integer
}
}
}
}
void setup() {
Serial.begin(115200);
Serial.println("Initialized!");
}
void loop() {
if (Serial.available()) {
String receivedData = Serial.readStringUntil('\n'); // Read incoming string
parsePWMString(receivedData);
Serial.println("Parsed PWM Values:");
for (int i = 0; i < numValues; i++) {
Serial.print(pwmValues[i]);
Serial.print(" ");
}
Serial.println();
}
}