From 9d1b4bfd05b781951c0a11e036c69e6c1898722a Mon Sep 17 00:00:00 2001 From: Babz Date: Tue, 14 Sep 2021 18:41:53 +0200 Subject: [PATCH] show heap usage in statusbar --- src/ui.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/ui.c b/src/ui.c index 322509c..a4a5601 100644 --- a/src/ui.c +++ b/src/ui.c @@ -2,6 +2,8 @@ #include "term.h" #include +#include +#include #include #include @@ -40,15 +42,19 @@ void set_statusbar(int tick_ctr, int shift_state, int alpha_state, int battery) for (int i = 0; i < UNS_TERM_COLS; i++) term_writeat(0, i, C_NONE, C_GREEN, " "); + kmalloc_arena_t *uram_arena = kmalloc_get_arena("_uram"); + kmalloc_gint_stats_t *ram_stats = kmalloc_get_gint_stats(uram_arena); + const int uram_percent = 100 * ram_stats->used_memory / mmu_uram_size(); + char *shift_symbol = shift_state ? "⇫" : " "; char *alpha_symbol = alpha_state ? (shift_state ? "A" : "a") : "1"; + char prefix[UNS_TERM_COLS + 1]; + sprintf(prefix, "%s%s t=%d bat=%.2fV uram=%d%%", shift_symbol, alpha_symbol, tick_ctr, (float)battery / 100, uram_percent); + char now[32]; date_str(now); - char prefix[UNS_TERM_COLS + 1]; - sprintf(prefix, "%s%s t=%d bat=%.2fV", shift_symbol, alpha_symbol, tick_ctr, (float)battery / 100); - char suffix[UNS_TERM_COLS + 1]; sprintf(suffix, "%s", now);