main
This commit is contained in:
21
src/main.c
21
src/main.c
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user