Ok ho risolto in questa maniera:
il codice è da ottimizzare, ci sono troppi if ...
if (client.available()) {
char c = client.read();
currentLine += c;
if (c == '\n') {
currentLine = "";
}
if (currentLine.endsWith("<d0=")) {
readD0 = true;
valD0 = "";
}
if (currentLine.endsWith("<d1=")) {
readD1 = true;
valD1 = "";
}
/* *** ecc *** */
if (readD0) {
if (c != '>') {
valD0 += c;
}
else {
readD0 = false;
Serial.println(valD0);
if (valD0 == "=1") {
Serial.println("ACCESO");
}
if (valD0 == "=0") {
Serial.println("SPENTO");
}
}
}
if (readD1) {
if (c != '>') {
valD1 += c;
}
else {
readD1 = false;
Serial.println(valD1);
if (valD1 == "=1") {
Serial.println("ACCESO");
}
if (valD1 == "=0") {
Serial.println("SPENTO");
}
}
}
/* *** ecc *** */
}
if (client.connect(server, 80)) {
Serial.println("connecting...");
client.println("GET /valoridigitali.xml HTTP/1.1");
client.println("Host: www.host.my");
client.println("Connection: close");
client.println();
Il file che viene che viene letto da arduino è generato ogni tot tempo secondo la seguente logica:
<d0=0><d1=1><d2=1><d3=0>...ecc...
Qualcuno di voi ha un idea su come ottimizzare il codice per levare quella serie di if?
Attendo prima di mettere il tag RISOLTO sul topic.