#pragma once #include "lvgl.h" // Appends a line to the scrollback log. Safe to call before the log view // exists and from any task; the line is always stored in the ring buffer. void ui_log_append(const char *text); void ui_log_appendf(const char *format, ...); // Builds the log view (title + textarea) onto the given screen and restores // the ring-buffer history. The caller must hold the LVGL lock. void ui_log_build_view(lv_obj_t *screen); // Drops the textarea reference; call before the active screen is cleared. void ui_log_detach(void);