Skip to content

Releases

v4.1.1-beta.2 (WS43B Beta)

Pre-release

Choose a tag to compare

@honzo90 honzo90 released this 09 Nov 11:28

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.local albo 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 z curl → 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)

Pre-release

Choose a tag to compare

@honzo90 honzo90 released this 06 Nov 12:34

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/auto odrzuca 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

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.

v4.1.0-beta.19 (WS43B Beta)

Pre-release

Choose a tag to compare

@honzo90 honzo90 released this 05 Nov 13:52

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

Choose a tag to compare

@honzo90 honzo90 released this 26 Oct 08:12

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

Choose a tag to compare

@honzo90 honzo90 released this 21 Oct 08:17

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.