Files
raw-designs 453644816f Initiale Bereitstellung
Initiale Bereitstellung der aktuellen Version auf Gitea
2026-07-10 18:13:43 +02:00

47 lines
2.1 KiB
C

// =====================================================================================
// ui.h - LVGL-Benutzeroberflaeche (Dashboard) fuer das JC-Touch-Display
// =====================================================================================
// Board-AGNOSTISCH: erstellt nur LVGL-Objekte und bindet Bedienaktionen an den
// ProtocolClient. Die Display-/Touch-Hardware wird in display_hal.* initialisiert.
// =====================================================================================
#pragma once
#include "protocol_client.h"
#include "machine_state.h"
// Initialisiert das Dashboard. 'client' wird fuer ausgehende Kommandos benoetigt.
void ui_init(ProtocolClient* client);
// Aktualisiert alle Anzeigen aus dem aktuellen Zustand (bei jedem state-Push aufrufen).
void ui_update(const MachineState& st);
// Fuellt die Profil-Liste (Antwort auf listProfiles).
void ui_set_profiles(const String profiles[], int count);
// Zeigt die Detailwerte des gewaehlten Profils an (Antwort auf getProfileDetails, Roh-JSON).
void ui_set_profile_details(const String& json);
// Fuellt die Statistik-Seite (Antwort auf getUsageStats, Roh-JSON).
void ui_set_usage_stats(const String& json);
// Fuellt die WLAN-Netzliste (Antwort auf scanWifi, Roh-JSON).
void ui_set_wifi_networks(const String& json);
// Zeigt eine kurze Rueckmeldung (z.B. aus ack/error) im Toast-Bereich an.
void ui_toast(const char* txt, bool error);
// true, solange der Standby-Aufweck-Dialog sichtbar ist. Die Helligkeitssteuerung (onState)
// haelt das Display dann hell, damit der Dialog lesbar bleibt.
bool ui_wake_dialog_open();
// Setzt den On-Screen-Diagnosetext (UART-Zaehler/letzte Rohzeile). Muss vom Aufrufer
// (im realen Modus) unter hal_lock()/hal_unlock() aufgerufen werden.
void ui_set_debug(const char* txt);
// --- OTA-Update-Overlay (Aufrufe unter hal_lock()/hal_unlock()) ---
void ui_ota_begin(); // Vollbild-Overlay einblenden
void ui_ota_progress(uint32_t bytes); // empfangene Bytes aktualisieren
void ui_ota_done(); // Erfolg (Neustart folgt)
void ui_ota_fail(const char* msg); // Fehler anzeigen