From 6f49de4b06edb2b907ea3d15697004bfb3d345b5 Mon Sep 17 00:00:00 2001 From: Drath Date: Sun, 28 Dec 2025 01:33:55 +0100 Subject: [PATCH] gay --- README.md | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 5b30813..1641ea8 100644 --- a/README.md +++ b/README.md @@ -11,15 +11,14 @@ Same as plugins. Just write in more features scrub, learn some C++, damn ## TODOs - LOOK AT WHAT CLANG SAYS, tweak .clang-format, we really dont need all deez libs in headers, move them out to cpp files, remove unused - also use clang-tidy -- move away from ArduinoJson. This aint an arduino, be fr. use nlohmann or some other json lib for c++ +- move away from ArduinoJson. This ain't an arduino, be fr. Switch to nlohmann/json libs. - Use `std::string_view` or `const std::string &` when possible, its faster, no copy - Extra screens support perhaps? just halt sensors monitoring thread and print another struct on display if needed, have a semaphore or sth - Maybe not even screens, keep the 1st line and change lines 2-4 - Media playback screen (use mpris, get playback info with mpris) - In the LCDDisplay lib, reimplement all the features I have in picoSmartie + maybe finally add keypad support for both so I can toggle backlight (?) or change screens if I want any - Screens could be automatic tbh, like if it detects media playing it switches to media screen, if in media screen and GPU power > 80W it switches to main (hwmon) screen -- Try to be C++26, avoid globals, wrap in namespaces, use naming conventions, use classes, avoid pure C way of doing things unless it makes more sense -- consider std::string_view +- Try to be C++26, avoid globals, wrap in namespaces, use naming conventions, use classes, avoid pure C way of doing things unless it makes more sense (which it often does tbh, better for reading small files) ## LCD layout It looks something like this @@ -68,3 +67,11 @@ Text04="$dll(hwinfo,1,Vcore,3)V $Right($dll(hwinfo,1,Average Effective Clock,a)M - To read motherboard sensors on ASUS ROG STRIX B550-A GAMING, as of Linux 6.16 you need to booth with kernel parameter of `acpi_enforce_resources=lax`. On Fedora it can be added by appending it to `/etc/kernel/cmdline`. - You need to be able to read RAPL as user. Create in `/etc/tmpfiles.d/intelrapl.conf` with content `z- /sys/class/powercap/intel-rapl:0/energy_uj 0440 root uucp - -`. Adjust uucp to whatever group applicable, like `dialout`. - `compile_commands.json` is so clang understands this project, so we can edit it with helix/neovim. Generated with `bear -- make`, make sure to run `make clean` beforehand. + +### Libraries needed for compilation + +- libwebsockets +- openssl +- nlohmann/json + +Idk if I should use a package manager for these or sth