Skip to content

CamperUI_V1.2.1

Choose a tag to compare

@NiklasJester NiklasJester released this 10 Oct 20:41
· 32 commits to master since this release
56e230d

🚐 CamperUI Release V1.2.1

Mit Version V1.2.1 erhält CamperUI ein umfassendes Upgrade: Deutlich gesteigerte Render-Performance (stabile 60 FPS ohne Performance-Overlay), optimiertes Tableisten-Scrollen, vollständige Thread-Sicherheit sowie Fehlerbehebungen bei der VanPi-Integration.

🚀 Highlights & Neuerungen

⚡ 1. Render-Performance & 60 FPS Boost

  • Zero Software-Shadows: Rechenintensive Software-Weichzeichner und Alpha-Schatten wurden vollständig durch ein modernes, flaches Kontur-Design ersetzt. Dies entlastet die CPU und den PSRAM-Bus massiv.
  • Double-Buffering im internen SRAM: 2x 20 Zeilen interner Arbeitsspeicherpuffer – LVGL rendert Frame-Streifen parallel, während der vorherige Streifen per DMA ins PSRAM geschrieben wird.
  • Adaptives Main-Loop Pacing: Bei aktiven Animationen oder Touch-Eingaben wird das Loop-Delay dynamisch übersprungen – für butterweiche Interaktionen ohne Ruckeln.
  • Nicht-blockierendes Haptik-Feedback: Der Touch-Buzzer nutzt nun einen asynchronen Puls statt blockierender delayMicroseconds()-Schleifen im UI-Thread.
  • Clean Production Build: Sämtliche internen FPS- und Performance-Monitore sind in der Produktionsversion deaktiviert.

🛡️ 2. Stabilität & Thread-Sicherheit

  • Cross-Core State-Sicherheit: Schutz des globalen Gerätestatus gegen parallele Zugriffe aus UI- und HTTP-Task mittels rekursivem FreeRTOS-Mutex (StateLockGuard).
  • Flash-Schonung & RGB-Stabilität: Entfernung unnötiger state_save()-Flash-Schreibvorgänge bei schnellen Schalter-, Slider- und Button-Betätigungen. Panel-Resyncs wurden entkoppelt, wodurch Bildflackern und VSYNC-Drifts eliminiert werden.

👆 3. Verbessertes Tableisten-Scrollen & Klickschutz

  • Schwung & Trägheit (Momentum): Die untere Tableiste gleitet nach einem "Flick" mit natürlicher Trägheit weiter und stoppt nicht mehr abrupt.
  • Halbierter Scroll-Schwellenwert (4 px): Wischgesten werden bereits ab 4 Pixeln Bewegung erkannt, was das Scrollen sofort ansprechen lässt.
  • 3-Stufen-Klickschutz: Versehentliches Umschalten von Tabs während des Scrollens wird durch Prüfung von Container-Verschiebung, Scroll-Status und Fingerweg (> 6 px) zuverlässig verhindert.

📶 4. VanPi WiFi-Relais Fix

  • Korrektes Namens-Mapping: Die Namen von WLAN-Relais (WifiRelay1 bis WifiRelay8) werden nun zuverlässig aus /wrelay gelesen und in der UI angezeigt (z. B. "Testwifi").
  • Robuster HTTP-Stream-Empfang: Behebung von Aussetzern bei chunked HTTP-Übertragungen aus Node-RED.

🌡️ 5. Temperatur-Tab & 24h-Verlauf

  • 24h-Verlaufshistorie: Neuer Ringpuffer mit dynamisch skalierenden LVGL-Graphen (1h, 6h, 12h, 24h) inklusive sanfter Aufbau-Animation.
  • Flexible Sensorzuordnung: Alle 4 Sensoren (Außen, Innen, Zusatz 1, Zusatz 2) können aus bis zu 13 Quellen (Kabel- & Ruuvi-Tags) frei konfiguriert werden.

📦 6. Speicher-Footprint & Bereinigung

  • Ungenutzte LVGL-Module, Demo-Code und überflüssige Schriftgrößen wurden deaktiviert, um Flash- und SRAM-Ressourcen für zukünftige Erweiterungen freizuhalten.

💾 Installation & Update

  • Web-OTA (Empfohlen): Im Browser http://<IP-des-Displays>/update aufrufen und die Datei CamperUI-V1.2.1.bin hochladen.
  • USB-Erstinstallation: CamperUI-V1.2.1-merged.bin mit dem ESP Flash Tool oder Arduino IDE ab Offset 0x0 flashen.