   initDiagnosticLEDs();
 }
 
+// -- Flag to indicate whether we've encountered an irrecoverable error
+
+boolean systemError = false;
 
 // -- Check for new data and download if found
 

        debug2("Failure, content length: ", content_length);
        if (content_length != length) debug2("length: ", length);
        if (content_length != cache.size()) debug2("cache: ", cache.size());
        systemError();
      }
#endif
    } else {

Bounce bouncer = Bounce(buttonPin, 5); // 5 millisecond debounce

void loop() {
  if (!systemError) {
    if (downloadWaiting) {
      bouncer.update();
      if (bouncer.read() == HIGH) {
        printFromDownload();
      }
    } else {
      checkForDownload();
      if (!downloadWaiting) {
        delay(pollingDelay);
      }
    }
  }
}
