 #endif
 
   handleMachineState();
-  tock();
 
   // Keepting time is a bit messy; the millis() wrap around and
   // the SPI access to the reader seems to mess with the millis().


  unsigned long start = millis();
  while (WiFi.status() != WL_CONNECTED && (millis() - start < 5000)) {
    tock();
    delay(100);
  };

  if (WiFi.status() != WL_CONNECTED) {
    Log.print("Connection to <"); Log.print(ssid); Log.println("> failed! Rebooting...");
    for (int i = 0; i < 50; i++) {
      delay(100);
      tock();
    }
    ESP.restart();
  }

  static char hex[2 * HASH_LENGTH + 1];
  const char q2c[] = "0123456789abcdef";
  char * p = hex;
  
  for (int i = 0; i < HASH_LENGTH; i++) {
    *p++ = q2c[hmac[i] >> 4];
    *p++ = q2c[hmac[i] & 15];
