make it pointy, idk if i like the names
This commit is contained in:
@@ -8,15 +8,20 @@
|
||||
#include <string>
|
||||
#include <utils.hpp>
|
||||
|
||||
struct mem_usage_t {
|
||||
std::string getAvgs();
|
||||
std::array<std::string, 2> getTimeDate();
|
||||
|
||||
namespace sys {
|
||||
|
||||
struct Memory {
|
||||
uint64_t free = 0;
|
||||
uint64_t used = 0;
|
||||
uint64_t total = 0;
|
||||
};
|
||||
|
||||
std::string getAvgs();
|
||||
std::array<std::string, 2> getTimeDate();
|
||||
mem_usage_t getDisk(std::string mount);
|
||||
mem_usage_t getRam();
|
||||
void getDisk(Memory* disk, std::string mount);
|
||||
void getRam(Memory* mem);
|
||||
|
||||
} // namespace sys
|
||||
|
||||
#endif
|
||||
8
main.cpp
8
main.cpp
@@ -33,8 +33,8 @@ std::binary_semaphore main{0};
|
||||
struct Sensors {
|
||||
std::array<std::string, 2> td;
|
||||
std::string loadavg;
|
||||
mem_usage_t ram;
|
||||
mem_usage_t home;
|
||||
sys::Memory ram;
|
||||
sys::Memory home;
|
||||
cpu::sensors cpu;
|
||||
gpu::sensors gpu;
|
||||
float hass_state = 0.0f;
|
||||
@@ -76,8 +76,8 @@ void sensorsThread(std::stop_token st, Sensors* s) {
|
||||
// maybe make these take pointers too
|
||||
s->td = getTimeDate();
|
||||
s->loadavg = getAvgs();
|
||||
s->ram = getRam();
|
||||
s->home = getDisk("/home/drath");
|
||||
sys::getRam(&s->ram);
|
||||
sys::getDisk(&s->home, "/home/drath");
|
||||
cpu::update(&s->cpu);
|
||||
gpu::update(&s->gpu);
|
||||
}
|
||||
|
||||
24
src/sys.cpp
24
src/sys.cpp
@@ -25,26 +25,24 @@ std::array<std::string, 2> getTimeDate() {
|
||||
return {time.str(), date.str()};
|
||||
}
|
||||
|
||||
mem_usage_t getRam() {
|
||||
mem_usage_t mem;
|
||||
void sys::getRam(Memory* mem) {
|
||||
std::ifstream proc_meminfo("/proc/meminfo");
|
||||
|
||||
if (proc_meminfo.good()) {
|
||||
std::string content((std::istreambuf_iterator<char>(proc_meminfo)), std::istreambuf_iterator<char>());
|
||||
mem.free = get_val("MemAvailable:", content);
|
||||
mem.total = get_val("MemTotal:", content);
|
||||
mem.used = mem.total - mem.free;
|
||||
mem->free = get_val("MemAvailable:", content);
|
||||
mem->total = get_val("MemTotal:", content);
|
||||
mem->used = mem->total - mem->free;
|
||||
}
|
||||
proc_meminfo.close();
|
||||
return mem;
|
||||
return;
|
||||
}
|
||||
|
||||
mem_usage_t getDisk(std::string mount) {
|
||||
mem_usage_t disk;
|
||||
void sys::getDisk(Memory* disk, std::string mount) {
|
||||
struct statvfs diskData;
|
||||
statvfs(mount.c_str(), &diskData);
|
||||
disk.free = diskData.f_bfree * diskData.f_frsize;
|
||||
disk.used = (diskData.f_blocks - diskData.f_bfree) * diskData.f_frsize;
|
||||
disk.total = diskData.f_blocks * diskData.f_frsize;
|
||||
return disk;
|
||||
}
|
||||
disk->free = diskData.f_bfree * diskData.f_frsize;
|
||||
disk->used = (diskData.f_blocks - diskData.f_bfree) * diskData.f_frsize;
|
||||
disk->total = diskData.f_blocks * diskData.f_frsize;
|
||||
return;
|
||||
}
|
||||
Reference in New Issue
Block a user