This commit is contained in:
2026-05-10 00:48:32 +02:00
parent 35e2e83862
commit fd0a53f789

View File

@@ -6,7 +6,13 @@
#include <stdatomic.h>
#include <sys/signalfd.h>
#include "lcd.h"
#include "cpu.h"
#include "sys.h"
#include "utils.h"
#include <string.h>
#pragma GCC diagnostic ignored "-Wunused-result"
static constexpr uint16_t refresh_interval_ms = 500;
@@ -28,11 +34,11 @@ struct control_t {
struct sensors_t {
struct time_date_t td;
double loadavg[3];
// sys::Memory ram;
// sys::Disk home;
struct memory_t ram;
struct disk_t home;
// sys::Network net;
// sys::sysSensors sys;
// cpu::cpuSensors cpu;
struct cpu_sensors_t cpu;
// gpu::gpuSensors gpu;
double hass_state;
};
@@ -93,11 +99,19 @@ static void *sensors_thread(void *arg) {
struct timespec next;
clock_gettime(CLOCK_REALTIME, &next);
// set up paths for the sensors
strcpy(sensors->home.mountpoint, "/home/drath");
cpu_detect(&sensors->cpu, "0000:00:18.3");
while (control.g_running) { // NOLINT
pthread_mutex_lock(&control.sensors_mtx);
sys_get_load_avg(sensors->loadavg);
sys_get_time(&sensors->td);
sys_get_ram(&sensors->ram);
sys_get_disk(&sensors->home);
cpu_update(&sensors->cpu);
pthread_cond_signal(&control.sensors_ready);
pthread_mutex_unlock(&control.sensors_mtx);
@@ -106,7 +120,6 @@ static void *sensors_thread(void *arg) {
clock_nanosleep(CLOCK_REALTIME, TIMER_ABSTIME, &next, nullptr);
}
applog(LOG_WRN, "sensors thread stopped");
return nullptr;
}