Ripetere un'azione

Ieri ha funzionato senza problemi.
Quello che non capisco è perchè a volte va e a volte non va.

Allora

Io quel codice non lo capisco.
Prima alla variabile "ritorno" assegni il valore -1 e subito dopo gli assegni il valore ritornato dalla funzione takefoto().

if (inChar == 'f') 
  {
    ritorno = -1;     
    ritorno = takefoto();
  }

Questa istruzione è nel ciclo loop.
Se premo f fa una nuova foto.
Inizializzo a -1 perchè la funzione takefoto è complessa e fa molte cose e se non riesce a connettersi neanche alla rete, non riesce neanche a settare il valore di ritorno. Cosi trovo -1.

connected() dovrebbe ritornare vero se è gia connesso e falso se disconnesso, quindi la seconda volta non dovrebbe eseguire ciò che c'è dentro la if, poi dici di connetterti specificando il server name e la porta ma nel codice seguente questi argomenti non li specifichi, vuoi provare a specificarli? magari funziona.

Tutte le variabili (mac address, server name, porta) vengo settate all'inizio del programma normalmente, ma quelle hanno smepre funzionato. E' solo se rifaccio la foto che a volte non riesco a collegarmi. Alla fine del post, faccio un flush e un close.

Su seriale funziona tutto è solo sulla connessione al server che a volte non riesce a riconnettersi, ma a volte si. Come scheletro ho provato l'esempio di Adafruit che scatta la foto quando determina movimento.

N