 
 void abortDueToCacheFailure() {
   flashErrorLEDs(3, 500);
-  systemError = true;
+  systemOK = false;
   digitalWrite(errorLED, HIGH);
 }
 

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

void loop() {
  if (!systemError) {
    if (downloadWaiting) {
      bouncer.update();
      if (bouncer.read() == HIGH) {


// -- Flag to indicate whether we've encountered an irrecoverable error

boolean systemOK = true;

// -- Check for new data and download if found

