From ac7533268004912fd11010440ad83f6c12f991d8 Mon Sep 17 00:00:00 2001 From: drath Date: Mon, 11 May 2026 11:17:44 +0200 Subject: [PATCH] readme wasnt upsaded in ages --- README.md | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index a4a6a60..b5f2bcf 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ Alphanumeric LCD controller software for Linux (kind of LCDSmartie for Windows b Big ol rewrite in C, like God intended because GOOD LORD C++ IS A MESS. Originally written with C23, then ported to C99 because it's a bigger numer. Also trivially portable to ANSI C. Idk maybe I'll port it to C23 again. -Hardcoded to work with 4x40 character display because that's what I have and I don't plan on using anything else. Uses Matrix Orbital protocol over serial. Should work with most other display sizes by modifying `src/LCDDisplay.cpp`. Best of luck if you try to make it work with anything else. +Hardcoded to work with 4x40 character display because that's what I have and I don't plan on using anything else. Uses Matrix Orbital protocol over serial. Should work with most other display sizes by modifying `src/lcd.c`. Best of luck if you try to make it work with anything else. Vaguely inspired by suckless software philosophy, as in: @@ -18,9 +18,8 @@ Same as plugins. Just write in more features scrub, learn some C, damn - 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 +- In the lcd 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 -- **FUCK C++, HUGE REWRITE FROM SCRATCH IN C LIKE GOD ALWAYS INTENDED** but fuuuuck display thread would be so painful without std::string. And I really would need to start a whole ass project from a clean slate since I made it a point to use a lot of C++ features which now bite me in the ass. ## LCD layout It looks something like this @@ -65,13 +64,13 @@ Text04="$dll(hwinfo,1,Vcore,3)V $Right($dll(hwinfo,1,Average Effective Clock,a)M - GPU clock limit, probably impossible, gpu_metrics doesnt show it? ### Shit needed to compile on Debian 13 - +V simple: ```bash -sudo apt install build-essential cmake libwebsockets-dev nlohmann-json3-dev +sudo apt install build-essential cmake make configure make build ``` -You're probably on some meme immutable distro so use Debian 13 on distrobox. Ubuntu 24.04 should also work. Might set up a distrobox container file, with distrobox-assemble (?) +You're probably on some meme immutable distro so use Debian 13 on distrobox. Ubuntu 24.04 should also work. ### Additional notes @@ -79,4 +78,4 @@ You're probably on some meme immutable distro so use Debian 13 on distrobox. Ubu - On Fedora Workstation it can be added by appending it to `/etc/kernel/cmdline`. - On atomic desktops (Silverblue/Kinoite), `rpm-ostree kargs --append-if-missing=acpi_enforce_resources=lax` - 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. +- `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 nuke` beforehand.