#ifndef HARDWARE_H
#define HARDWARE_H

#include "config.h"
#include <Arduino.h>

// System diagnostics helper
struct SystemDiagnostics {
  uint32_t freeHeap;
  uint32_t minFreeHeap;
  uint32_t uptime;
  float cpuFreq;
  float temperature; // ESP32-C6 internal temp sensor
  int8_t wifiRSSI;
  esp_reset_reason_t resetReason;

  void update();
  void print();
};

extern SystemDiagnostics sysInfo;

#endif
