   if ( networkTimeout.check() ) {
     Serial << F("Network timeout.") << endl;
     networkTimedOut = true;
+    Serial << F("Free RAM: ") << freeRam() << endl;
   }
   if( systemResetFlag ) {
     resetTestPattern();

// alternative to delay(), non-blocking
void myDelay(unsigned long delayTime) {
  Metro delayFor(delayTime);

  while( ! delayFor.check() ) {
    // insert any mission-critical operations here

  }
}

int freeRam () {
  extern int __heap_start, *__brkval;
  int v;
  return (int) &v - (__brkval == 0 ? (int) &__heap_start : (int) __brkval);
}

