Skip to content

BambuHelper v4.1.0 — Stable: noc z minutami, zmrok i szybszy ekran

Latest

Choose a tag to compare

@honzo90 honzo90 released this 05 Nov 21:40

BambuHelper WS43B v4.1.0 — wersja stabilna dla Waveshare ESP32-S3-Touch-LCD-4.3B.

v4.1.0 to kod v4.1.0-beta.19 ze zmienionym wyłącznie numerem wersji. Poniżej pełne podsumowanie zmian i testów względem v4.0.0 (Bety 1–19).

Zmiany względem v4.0.0

Noc, zmrok i jasność

  • Godziny nocy z minutami — na panelu siatka godzin, a potem minut co 5 min; w WebUI dowolna minuta (pole czasu). Dotychczasowe ustawienia w pełnych godzinach działają bez zmian, starsze kopie ustawień importują się jako pełne godziny.
  • Zmrok zamiast wcześniejszej nocy — opcja słoneczna nie przesuwa już początku nocy. Od zachodu słońca do początku nocy (i rano od końca nocy do wschodu) ekran po nocnym czasie bez dotyku przygasa do 50% i przechodzi do wygaszacza — także podczas druku. Noc (wyłączony ekran albo zegar 30%) działa tylko w ustawionych godzinach.
  • Płynne przygaszanie (ok. 1,2 s); dotyk od razu przywraca pełną jasność.

Wygaszacz i zegar

  • Animacja zmiany godziny jak kartka kalendarza — zmieniają się tylko inne cyfry, ok. 1,2 s.
  • Przy zmianie minuty odświeżany jest tylko pas z cyframi, a nie cały ekran.
  • Ekran startowy pokazuje prawdziwą wersję firmware zamiast stałego „v0.9”.

Menu ustawień na panelu

  • Pogoda i noc → Noc: harmonogram, początek i koniec nocy (siatka lub − / +), tryb nocny (ekran wyłączony / zegar 30%), nocny czas bez dotyku.
  • Wygląd: motyw, tryb ekranu i wentylatory w jednym miejscu.
  • Język i WebUI (dawniej „Język i dane”): język, kod QR do WebUI oraz informacje o panelu — wersja, adres IP, siła Wi-Fi.
  • Zegar i ekran: przełącznik Pong na zegarze.

WebUI

  • Nowy układ sekcji „Ekran”: osobne karty (tryb, motyw, wygaszanie za dnia, podświetlenie nocą, pogoda i zmrok), powiadomienie po każdym zapisie. Teksty PL / EN / DE.
  • Ukryte ustawienia, których ekran 4.3B nie używa (zachowują zapisane wartości).

Wydajność i pamięć

  • Szybsze przesyłanie obrazu: kopiowany jest tylko zmieniony prostokąt, oczekiwanie na ekran odbywa się w tle, przyciemnianie liczone tablicami (wynik identyczny co do bitu). Zmierzone na panelu: klatka wygaszacza ok. 34–66 ms zamiast 168 ms, animacja zegara ok. 14 klatek/s zamiast ok. 4.
  • Firmware mniejszy o 182 KB (91% slotu zamiast 97%) — strony WebUI są przechowywane skompresowane. Gdyby rozpakowanie się nie udało, panel pokazuje awaryjną stronę z wgrywaniem firmware i przełączeniem slotu.
  • Więcej wolnej pamięci wewnętrznej — patrz „Zapas pamięci”.

Diagnoza Wi-Fi (z oryginalnego projektu)

  • Gdy panel nie połączy się z zapisaną siecią i przejdzie w tryb konfiguracji, ekran konfiguracji pokazuje przyczynę: sieci nie znaleziono, inna wielkość liter w nazwie, za słaby sygnał, za krótkie lub błędne hasło, sieć firmowa (Enterprise), brak adresu IP od routera.
  • Strona konfiguracji w telefonie wyjaśnia przyczynę i podpowiada, co zrobić (PL / EN / DE).
  • Przeniesione z Keralots/BambuHelper (20cefc9, 636f10d) i dopasowane do ekranu 4.3B; rejestr synchronizacji: docs/UPSTREAM.md.

Zapas pamięci

  • Bufory szyfrowanego połączenia z drukarką w PSRAM — zwalnia ok. 46 KB szybkiej pamięci wewnętrznej (wolne w spoczynku ok. 101 KB zamiast ok. 55 KB).
  • Połączenie z drukarką czeka na spokojny moment (1,5 s bez zapytań WebUI i wystarczająco wolnej pamięci, najwyżej 20 s), a WebUI odpowiada „spróbuj za chwilę” tylko przy krytycznym braku pamięci podczas łączenia (wgrywanie firmware nigdy).
  • Zmierzone na panelu: po aktualizacji, gdy przeglądarka przeładowuje WebUI w trakcie łączenia z drukarką, minimum wolnej pamięci wewnętrznej ok. 62 KB zamiast ok. 3 KB; przy ciągłym, równoległym obciążeniu WebUI 57 KB zamiast 0,5 KB. Połączenie z drukarką: 109/109 poprawnych raportów w 2 min, bez ponownych połączeń.

Poprawki

  • Zegar w wygaszaczu nie pokazuje już na chwilę „--:--” przy zmianie minuty.
  • Wygaszacz wieczorem działa także podczas druku.

Diagnostyka

  • /monitor/status: czas kopiowania klatki, czas oczekiwania na ekran, liczba kopiowanych wierszy oraz liczba klatek i czas ostatniej animacji zegara. Same liczniki, bez danych osobowych.

Bez zmian względem v4.0.0

  • Grafiki ekranu (szpula, dysza, stół, komora), konfiguracja sprzętu (SDK cache64_xip, zegar RGB 12 MHz), kanały aktualizacji Stable / Beta.

Testy

Na komputerze — 223 testy (1 opcjonalny pominięty), wszystkie przechodzą

Nowe względem v4.0.0:

  • test_night_minutes — okno nocy z minutami na prawdziwym kodzie (także przez północ), zapis, eksport i import, pola czasu w WebUI.
  • test_dusk_dim — poziomy jasności 100 / 50 / 30%, kroki płynnego przygaszania, noc niezależna od danych słonecznych.
  • test_clock_flip — czas, ruch i odstęp cyfr animacji, liczba klatek, przejście licznika czasu przez zero.
  • test_dim_table — nowe przyciemnianie identyczne ze starym dla wszystkich 65 536 kolorów.
  • test_partial_rects — 400 losowych prostokątów w dwóch buforach ze zmianami jasności: każdy piksel aktualny, wyświetlany bufor nigdy nie zapisywany.
  • test_page_compression — bezstratna kompresja stron, zachowane bloki #if, dekompresor (także uszkodzone dane).
  • test_ws43b_unused_settings — ukryte ustawienia WebUI nie są czytane przez ekran 4.3B i nadal są wysyłane.
  • Diagnoza Wi-Fi: teksty strony konfiguracji tłumaczone przez katalog PL/DE (kontrola kompletności katalogów).
  • test_connect_gate — połączenie z drukarką czeka na spokojny WebUI i wolną pamięć (najwyżej 20 s); odciążanie WebUI tylko przy krytycznym braku pamięci, nigdy dla wgrywania firmware.

Rozszerzone: interakcja z menu na panelu (ekran Noc, siatki godzin i minut, wygaszacz z nowych ekranów, zmrok podczas druku), renderer wygaszacza (animacja bez pełnego przerysowania, klatki co 40 ms mimo danych MQTT, zegar chwilowo nieczytelny), endpoint statusu, WebUI (niemiecki, ukryte pola).

Build

  • Arduino-ESP32 3.3.11, ESP-IDF 5.5.5, SDK cache64_xip, zegar RGB 12 MHz; kontrole XIP, mapy linkera i I2C przeszły. Szczegóły w BUILD-INFO.json.

Na panelu (testy właściciela projektu)

  • Potwierdzone: przyciemnianie o zmroku i wygaszacz, noc z minutami i siatki na panelu, menu na panelu, WebUI ładuje się normalnie (ok. 0,35 s), zapisywanie ustawień, brak nowych artefaktów po zmianie przesyłania obrazu, zapas pamięci (testy obciążeniowe WebUI po restarcie i przy połączeniu z drukarką).
  • Zmierzone: czasy klatek i animacji zegara (wartości powyżej).
  • Nie potwierdzone jeszcze: długotrwała praca (w tym połączenie z drukarką z buforami TLS w PSRAM) oraz ekran diagnozy Wi-Fi na sprzęcie (pojawia się tylko po nieudanym połączeniu z siecią). Plik z numerem v4.1.0 nie był osobno testowany na sprzęcie przed publikacją.

Znane problemy

  • Artefakty obrazu podczas długiego druku (zaobserwowane m.in. na Becie 1) — bufor obrazu w pamięci jest poprawny; przyczyna w trakcie analizy, porównanie z v4.0.0 w toku.
  • Wybudzanie dotykiem: #1.

Instalacja

W WebUI panelu wybierz Stable → Sprawdź aktualizacje i zainstaluj v4.1.0 (kanał Beta również ją zaoferuje jako nowszą od Bety 19). Ręcznie: prześlij BambuHelper-ws_lcd_43b-v4.1.0-ota.bin na stronie aktualizacji firmware (aplikacja OTA dla istniejącej instalacji WS43B z dwoma slotami po 3 MiB; nie do pierwszej instalacji USB).

Po aktualizacji z v4.0.0 sprawdź w sekcji Ekran godziny nocy i opcję „Przyciemniaj od zachodu do wschodu słońca” — zmienił się sposób jej działania (patrz „Noc, zmrok i jasność”).

Powrót: prześlij ręcznie plik OTA z v4.0.0 (pominie minuty nocy).

Pliki

  • BambuHelper-ws_lcd_43b-v4.1.0-ota.bin — aplikacja OTA.
  • BUILD-INFO.json — pochodzenie, konfiguracja i wyniki kontroli.
  • SHA256SUMS — sumy kontrolne.

Gałąź: waveshare-43b (z ws43b/layout-settings, PR #5), commit źródeł: d6795d671be862ffae71de69a0d810b901453412.
Rozmiar aplikacji: 2890608 B, zapas do slotu: 255120 B. SHA-256: 2263c83fb1942fba1f19d8cc27c108a29e01a0acbec0ebbc611a97a4b0348c5a.