   Serial.print(", reading_interval: ");
   Serial.println(READING_INTERVAL_S);
   
-  if (current_time - last_reading_time < READING_INTERVAL_S) {
+  if (time_since_last_reading < READING_INTERVAL_S) {
     delay(2000);
+    watchdog_feed();
     return;
   }
+  
+  watchdog_feed();
   
   read_temperatures(&temperature_f, &humidity, &heat_index);
   log_to_sd(temperature_f, humidity, heat_index, current_time);

}

void initialize_sd() {
  if (!sd_card.begin(SD_CS)) {
    Serial.println("failed to initialize SD card");
    while (true); // watchdog will reboot
  }

  if (!Fat16::init(&sd_card)) {
    Serial.println("failed to initialize FAT 16");
    while (true); // watchdog will reboot
  }
}

      *heat_index = dht.computeHeatIndex(*temperature_f, *humidity);
  
      Serial.print("Temperature: ");
      Serial.print(*temperature_f);
      Serial.println(" *F");
      
      Serial.print("Humidity: ");
      Serial.print(*humidity);
      Serial.println("%");
      
      Serial.print("Heat index: ");
      Serial.println(*heat_index);

      return;
      
