Repository navigation
Releases
v4.1.1-beta.2 (WS43B Beta)
BambuHelper WS43B v4.1.1-beta.2 — wersja testowa z zabezpieczeniami WebUI dla Waveshare ESP32-S3-Touch-LCD-4.3B.
⚠️ Beta służy do testów na urządzeniu. Wersją stabilną pozostaje v4.1.0. Zawiera wszystko z v4.1.1-beta.1 (przerwanie obrazu w IRAM, automatyczny powrót po nieudanej aktualizacji) oraz zabezpieczenia poniżej.
Co się zmienia względem v4.1.1-beta.1
Ochrona WebUI przed obcymi stronami
Do tej pory każda strona internetowa otwarta na telefonie lub komputerze w Twojej sieci mogła po cichu wysyłać polecenia do panelu — np. wgrać firmware, zrobić reset fabryczny albo wyłączyć gniazdko drukarki.
- Polecenia zmieniające cokolwiek są przyjmowane tylko z WebUI samego panelu (sprawdzanie
Origin/Referer). Narzędzia bez przeglądarki (np.curl) działają jak dotąd. - Panel odpowiada tylko pod własnym adresem: IP, nazwą hosta,
nazwa.localalbo nazwą nadaną przez router (.lan,.home,.fritz.box…). Chroni to przed atakiem „DNS rebinding”. - Wgrywanie firmware jest sprawdzane zanim zapisze się pierwszy bajt.
- Reset fabryczny działa tylko z przycisku w WebUI, nie przez zwykły link.
Opcjonalny PIN do WebUI
- Sieć → PIN do WebUI: 4–8 cyfr, puste pole wyłącza PIN. Przeglądarka pyta o niego z nazwą użytkownika
admin. - Zapomniany PIN widać na panelu: Ustawienia → Język i WebUI. Reset fabryczny też go usuwa.
- Domyślnie wyłączony — bez PIN-u WebUI działa jak dotąd.
Kod dostępu drukarki nie trafia do kopii ustawień
- Eksport ustawień nie zawiera już kodu dostępu (daje on pełną kontrolę nad drukarką w sieci). Import zachowuje kod zapisany w panelu.
Bezpieczne logowanie do chmury Bambu
- Usunięto ponawianie połączenia bez weryfikacji certyfikatu — wcześniej przy błędzie TLS token konta mógł trafić do podsłuchującego.
Rozmiar: +12,8 KB względem beta.1.
Testy
Na komputerze — 249 testów (1 opcjonalny pominięty), wszystkie przechodzą
- Nowy
test_web_security: zasady sprawdzania adresu, pochodzenia żądania i PIN-u (C++ na hoście) oraz ich podłączenie w firmware (middleware, kontrola przed zapisem OTA, reset tylko POST, eksport bez kodu, brak TLS bez weryfikacji). - Test uploadu OTA: odmowa dostępu nie rozpoczyna aktualizacji i nie rozłącza drukarki.
Na panelu (jako v4.1.1-alpha.4, ten sam kod)
- Obcy adres (rebinding) → 403; żądanie z obcej strony /
Origin: null→ 403; z WebUI panelu i zcurl→ działa. - Wgranie firmware z obcej strony → odrzucone, bez restartu, drukarka cały czas połączona.
- PIN: brak / zły → 401, dobry → działa; wgranie firmware bez PIN-u odrzucone; wyłączenie PIN-u przywraca normalną pracę.
- Eksport → import tego samego pliku: kod dostępu zachowany, drukarka połączona po restarcie.
- Testy przeglądarkowe WebUI (Playwright, desktop i iPhone): wszystkie przechodzą; zapis z WebUI (POST) działa.
- Pamięć wewnętrzna, porównanie z beta.1 przy tym samym obciążeniu (pełne testy WebUI ×2): beta.1 min. 21,3 KB, beta.2 min. 23,4 KB — bez pogorszenia.
Do sprawdzenia w tej becie
- Wygląd linii „PIN do WebUI” na ekranie Język i WebUI panelu.
- Długotrwała praca i długie wydruki (jak w beta.1).
Znane problemy
- Intensywne korzystanie z WebUI zbija wolną pamięć wewnętrzną do ok. 21–23 KB (tak samo w beta.1 i beta.2). Bez awarii w testach; do zbadania w kolejnej wersji.
- Zakłócenia obrazu: poprawka z beta.1, czekamy na dłuższe obserwacje.
- Wybudzanie dotykiem: #1.
Instalacja
W WebUI panelu wybierz Beta → Sprawdź aktualizacje i zainstaluj v4.1.1-beta.2. Ręcznie: prześlij BambuHelper-ws_lcd_43b-v4.1.1-beta.2-ota.bin na stronie aktualizacji firmware (aplikacja OTA dla istniejącej instalacji WS43B z dwoma slotami po 3 MiB; nie do pierwszej instalacji USB). Ustawienia zostają.
Powrót: prześlij ręcznie plik OTA z v4.1.0 lub v4.1.1-beta.1.
Pliki
BambuHelper-ws_lcd_43b-v4.1.1-beta.2-ota.bin— aplikacja OTA.BUILD-INFO.json— pochodzenie, konfiguracja (w tym SDK z IRAM) i wyniki kontroli.SHA256SUMS— sumy kontrolne.
Gałąź: ws43b/layout-settings, commit źródeł: b1d52ebe1768cf5a79d9689362d00b831d20f19b.
Rozmiar aplikacji: 2905824 B, zapas do slotu: 239904 B. SHA-256: bcc3e1b7d12cee5554dd43cb6f864c60a409a0840009aa779068602c19f55ce8.
v4.1.1-beta.1 (WS43B Beta)
BambuHelper WS43B v4.1.1-beta.1 — wersja testowa poprawek dla Waveshare ESP32-S3-Touch-LCD-4.3B.
⚠️ Beta służy do testów na urządzeniu. Wersją stabilną pozostaje v4.1.0. Funkcje i wygląd są takie same jak w v4.1.0 — zmiany dotyczą stabilności obrazu i bezpieczeństwa aktualizacji.
Co się zmienia względem v4.1.0
Poprawka zakłóceń obrazu (do potwierdzenia w dłuższych testach)
- Przesyłanie obrazu na ekran działa teraz z szybkiej pamięci wewnętrznej (IRAM) zamiast z PSRAM. Wcześniej, przy dużym obciążeniu (łączenie z drukarką, duże raporty MQTT, zapis ustawień, długi druk), procedura odświeżania mogła się spóźniać i na ekranie pojawiały się poziome „duchy” fragmentów obrazu — mimo że sam obraz w pamięci był poprawny.
- SDK przebudowany z tych samych źródeł, ustawień i zależności co w v4.1.0; jedyna zmiana konfiguracji to
CONFIG_LCD_RGB_ISR_IRAM_SAFE=y.
Automatyczny powrót po nieudanej aktualizacji
- Nowa wersja startuje na próbę i zostaje zatwierdzona dopiero po 30 s poprawnej pracy (ekran rysuje, Wi-Fi połączone; bez Wi-Fi po 3 min). Restart na Twoje polecenie — zapis ustawień, import, kolejna aktualizacja — zatwierdza ją od razu.
- Jeśli panel zrestartuje się wcześniej (zawieszenie, błąd), sam wraca do poprzedniej wersji.
- Wersja, która się nie uruchomiła, jest zapamiętywana: WebUI nie zaproponuje jej ponownie online (ręczne wgranie pliku nadal możliwe).
- Pomysł przeniesiony z mechanizmu aktualizacji ekranu dla Raspberry Pi tego samego autora.
Nowe komunikaty na panelu
- Ustawienia → Język i WebUI pokazuje na żółto: „Aktualizacja vX nie uruchomiła się – działa poprzednia wersja” albo „Ostatni restart: za słabe zasilanie – sprawdź zasilacz i kabel USB”. Kafelek w ustawieniach pokazuje krótką wersję.
Build
- Firmware nie zawiera już lokalnych ścieżek z komputera, na którym został zbudowany; build przerywa się, gdyby jakakolwiek się pojawiła.
Testy
Na komputerze — 227 testów (1 opcjonalny pominięty), wszystkie przechodzą
- Nowy
test_ota_health: zasady zatwierdzania nowej wersji (30 s / 3 min bez Wi-Fi / restart na polecenie), odczyt wersji ze slotu, blokada nieudanej wersji online, podłączenie w firmware, WebUI i na panelu. - Weryfikator SDK przyjmuje SDK z przerwaniem RGB w IRAM tylko wtedy, gdy manifest SDK to jawnie deklaruje; poprzedni SDK nadal przechodzi bez zmian.
Na panelu (testy właściciela projektu, wersje alpha z tym samym kodem)
- Przerwanie RGB i wypełnianie buforów linii w IRAM (sprawdzone w mapie linkera).
- Zatwierdzenie nowej wersji po ~30 s; test odcięcia zasilania: wgrana wersja odłączona przed zatwierdzeniem → panel sam wrócił do poprzedniej, zapamiętał nieudaną wersję,
/ota/autoodrzuca jej instalację, ręczny powrót do niej zablokowany. - Pamięć wewnętrzna: czysty start min. 87,6 KB, restart z przeładowaniem WebUI w trakcie łączenia z drukarką min. 56,5 KB, w spoczynku ~101–105 KB.
- Brak zakłóceń obrazu w pierwszych testach. Nie potwierdzone jeszcze: długotrwała praca i długie wydruki.
Znane problemy
- Zakłócenia obrazu: poprawka w tej becie, czekamy na dłuższe obserwacje.
- Wybudzanie dotykiem: #1.
Instalacja
W WebUI panelu wybierz Beta → Sprawdź aktualizacje i zainstaluj v4.1.1-beta.1. Ręcznie: prześlij BambuHelper-ws_lcd_43b-v4.1.1-beta.1-ota.bin na stronie aktualizacji firmware (aplikacja OTA dla istniejącej instalacji WS43B z dwoma slotami po 3 MiB; nie do pierwszej instalacji USB). Ustawienia zostają.
Powrót: prześlij ręcznie plik OTA z v4.1.0.
Pliki
BambuHelper-ws_lcd_43b-v4.1.1-beta.1-ota.bin— aplikacja OTA.BUILD-INFO.json— pochodzenie, konfiguracja (w tym SDK z IRAM) i wyniki kontroli.SHA256SUMS— sumy kontrolne.
Gałąź: ws43b/layout-settings, commit źródeł: 9570fb5f8dbec6d5e3caf8bc0e7af5c11b7bd7de.
Rozmiar aplikacji: 2892976 B, zapas do slotu: 252752 B. SHA-256: bf50d897d923f6c8adadcf4429b59abebfe3737c4115c6cb98f5963579131c6a.
BambuHelper v4.1.0 — Stable: noc z minutami, zmrok i szybszy ekran
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.
v4.1.0-beta.19 (WS43B Beta)
BambuHelper WS43B v4.1.0-beta.19 — publiczna wersja testowa dla Waveshare ESP32-S3-Touch-LCD-4.3B.
✅ Ta beta została wydana jako stabilna v4.1.0 (ten sam kod). Zainstaluj v4.1.0 z kanału Stable. 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 „Nowe w Becie 18”.
Nowe w Becie 19: 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.
Nowe w Becie 18: 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 w tej linii Bet:
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 tej dokładnie wersji (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ą).
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 Beta → Sprawdź aktualizacje i zainstaluj v4.1.0-beta.19. Ręcznie: prześlij BambuHelper-ws_lcd_43b-v4.1.0-beta.19-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 (v4.0.0 pominie minuty nocy).
Pliki
BambuHelper-ws_lcd_43b-v4.1.0-beta.19-ota.bin— aplikacja OTA.BUILD-INFO.json— pochodzenie, konfiguracja i wyniki kontroli.SHA256SUMS— sumy kontrolne.
Gałąź: ws43b/layout-settings, commit źródeł: 212083e2859b45f8dfc82db8982888828191f1c8.
Rozmiar aplikacji: 2890592 B, zapas do slotu: 255136 B. SHA-256: 746c722aafbc56c1555a25ed92edc3b45b0dd8198568f36ec460c3212233bcb5.
BambuHelper v4.0.0 — Stable: XIP i stabilny ekran
BambuHelper WS43B v4.0.0 — stabilne wydanie dla Waveshare ESP32-S3-Touch-LCD-4.3B.
Wydanie promuje konfigurację Bety 5 po potwierdzeniu przez użytkownika, że firmware działa, a fizyczny ekran jest stabilny. W źródłach zmieniono wyłącznie numer firmware z v4.0.0-beta.5 na v4.0.0; pozostałe 198 wejść kompilacji są identyczne.
Obraz i zapis ustawień
Przebudowany SDK ESP-IDF 5.5.5 z XIP z PSRAM zachowuje dostęp do kodu i stałych danych podczas zapisu ustawień do flash. W sprawdzonej ścieżce zapisu używany jest mutex zamiast wyłączania cache, co usuwa podejrzany mechanizm zakłócania obsługi LCD.
Zachowano funkcje Bety 5, języki PL/EN/DE, cache64 oraz żądany zegar RGB 12 MHz. Ekran startowy pokazuje BambuHelper v0.9; wersja firmware w informacjach to v4.0.0.
Aktualizacja online
W WebUI wybierz Stable → Sprawdź aktualizacje → instalacja. Użytkownicy v3.9.1 mogą użyć dotychczasowej funkcji sprawdzania aktualizacji. Kanał Beta również wybiera v4.0.0 jako wersję nowszą od Bety 5.
Plik BambuHelper-ws_lcd_43b-v4.0.0-ota.bin jest aplikacją OTA dla istniejącej instalacji WS43B z dwoma slotami po 3 MiB. Nie jest pełnym obrazem pierwszej instalacji USB. Zapewnij stałe zasilanie podczas aktualizacji.
Zakres weryfikacji
- Konfiguracja Bety 5: działanie i stabilny obraz potwierdzone przez użytkownika na urządzeniu.
- v4.0.0: ponowna kompilacja tego samego kodu z nowym numerem wersji; zachowano Arduino-ESP32 3.3.11, dokładny SDK cache64_xip i 12 MHz.
- Testy ofert aktualizacji: 48 przypadków w ośmiu kombinacjach wersji i języka. Sprawdzono przejście z v3.9.1 i Bety 5, wybór kanałów oraz brak ponownej oferty v4.0.0.
- Kontrole obrazu, SHA, położenia XIP w IRAM, pochodzenia bibliotek i układu partycji są opisane w
BUILD-INFO.json. - Długotrwała praca i odzyskiwanie po zakłóceniach nie zostały osobno potwierdzone. Poprzedni problem gaśnięcia/wybudzania pozostaje do obserwacji: #1. Dokładny obraz z numerem v4.0.0 nie był osobno wgrywany podczas publikacji.
Pliki
BambuHelper-ws_lcd_43b-v4.0.0-ota.bin— aplikacja OTA.BUILD-INFO.json— pochodzenie, konfiguracja, wyniki i zakres fizycznego potwierdzenia.SHA256SUMS— sumy kontrolne aplikacji i metadanych.
Commit źródeł: 8a126a558baa4e359dd442c0f0267b4120ad768c. Odtworzenie wymaga osobno przygotowanego SDK XIP i jego zgodnego manifestu; domyślny profil cache64 nie odtwarza tego wariantu.
Rozmiar aplikacji: 3047520 B, zapas do slotu: 98208 B. SHA-256: 08c14466b5a9b3bf30f2c59b9a3c44eb4c85ba2b3b9a28999fc70d91812a4015.
BambuHelper v3.9.1 — Waveshare 4.3B OTA
Wydanie aplikacji OTA v3.9.1 dla Waveshare ESP32-S3-Touch-LCD-4.3B. Jest widoczne w istniejącym kanale Update online. Zmiana kodu względem v3.9.1-ws43b-test.1 obejmuje tylko numer wersji; nie zawiera poprawek problemów opisanych poniżej.
Instalacja
W istniejącym panelu WS43B wybierz Wi-Fi i system → Aktualizacja online → Sprawdź aktualizacje. Wersja v3.9.1 jest rozpoznawana jako nowsza od v3.9.1-ws43b-test.1. Zachowaj zasilanie podczas aktualizacji.
Plik BambuHelper-ws_lcd_43b-v3.9.1-ota.bin zawiera samą aplikację. Wymaga istniejącej instalacji WS43B z dwoma slotami OTA po 3 145 728 bajtów. Nie jest pełnym obrazem flash ani plikiem do pierwszej instalacji; upstreamowy web flasher nie obsługuje tej płytki.
Weryfikacja tej paczki
- 18 testów hostowych OTA/WebUI: PASS.
- Dobór wersji test.1 → v3.9.1 oraz brak ponownej oferty v3.9.1: PASS (testy syntetyczne EN/PL).
- Kontrola wersji, zakresu zmian i dokładnego URL assetu: PASS.
- Kompilacja Arduino ESP32 3.3.11 / cache64 oraz kontrole linkowania SDK i I2C: PASS.
- Obraz ESP32-S3, checksum segmentów i dołączony SHA-256: PASS.
- Rozmiar aplikacji: 2865824 bajtów; limit slotu: 3 145 728 bajtów.
- Commit źródeł:
4e0eb166de7485a77f05eb6c156b9036604c77a7. - SHA-256 aplikacji:
1fdfd2c3ed0aa2fddda0ab002a8eab2ed778bfe2d1f6737c67cc50fc4a790ed6.
Ograniczenia
Publikacja jako zwykły GitHub release umożliwia wykrycie przez Update online i nie oznacza pełnej akceptacji sprzętu. Nowego buildu v3.9.1 nie wgrano na urządzenie w ramach przygotowania wydania.
Na bazowej wersji test.1 potwierdzono 21.10.2026 ręczne OTA, restart, zgodność całej aplikacji w pamięci i zachowanie ustawień. Dodatkowy test 120 sekund zakończył się FAIL z powodu okresów nieświeżych danych drukarki mimo połączenia Wi-Fi/MQTT; przyczyna pozostaje nieustalona. Nie potwierdzono fizycznie obrazu, dotyku ani wybudzania. Problem dark-screen/touch-wake i pełna walidacja cyklu wydruku pozostają otwarte.
Istniejący transport OTA ma ponowienie z setInsecure() i nie weryfikuje podpisów firmware; to wydanie nie zmienia tego mechanizmu. SHA256SUMS służy do niezależnego sprawdzenia pobranej paczki.