Skip to content
This repository was archived by the owner on Oct 19, 2026. It is now read-only.

T-Deck Plus + T-Watch S3 (Release nur noch diese Boards) und Flash-/Speicherprüfung im CI - #36

Open
Pietwars wants to merge 2 commits into
mainfrom
port/speicherpruefung
Open

Pietwars wants to merge 2 commits into
mainfrom
port/speicherpruefung

Conversation

@Pietwars

@Pietwars Pietwars commented Oct 19, 2026 •

Copy link
Copy Markdown
Owner

Erweitert: Neben der Flash- und Speicherprüfung enthält dieser PR jetzt die Portierung auf LILYGO T-Deck Plus und LILYGO T-Watch S3. Release und CI-Boardjob laufen nur noch für diese beiden Boards. Kein Merge, kein Tag, kein Release.

T-Deck Plus / T-Watch S3 (Commit 3d3e60f)

  • Neue Profile: disaster_tdeck_wifi und disaster_twatch_s3_wifi.
    • ESP32-S3, SX1262, huge_app.csv.
    • WLAN-Portal wie bei den bisherigen Boards (das Portal ist die einzige Companion-Schnittstelle), TX 10 dBm, CR 8, MAX_CONTACTS 64, OFFLINE_QUEUE_SIZE 64.
    • Kein Bluetooth.
  • T-Watch-Variante: variants/lilygo_twatch_s3, boards/lilygo_twatch_s3.json, AXP2101, Touch über LovyanGFX.
    • Übernommen aus DisAHRsterRadio-MeshCore 0.9.4 bzw. MeshCore-PR #2799 (siehe UPSTREAM.md).
    • 240 MHz statt 80 MHz wegen des WLAN-Portals.
  • T-Deck-Anpassungen aus DisAHRsterRadio-MeshCore:
    • gemeinsamer SPI-Bus für Display und Funk,
    • Akkumessung mit eFuse-Kalibrierung.
  • Minimale Display-Anzeige ui-brand: DisAHRsterRadio-Bild, Akkuzeile (Ladestand, Spannung, Verbrauch/Restzeit) und Knopf „Advert senden“.
    • Der Knopf sendet einen Flood-Advert über das neue MyMesh::floodAdvert().
    • Bedienung: T-Deck Trackball 2,5 s; T-Watch Touch-Knopf oder Seitentaste lang.
    • Keine Kopplungs- oder PIN-Anzeige.
  • Werkzeuge und Tests: tools/brand_preview.py (Vorschau-PNGs), tools/gen_brand_logo.py (Logo reproduzierbar) und Hosttest tests/batt_trend.test.cpp.
  • Release und Pakete:
    • release.yml-Matrix und tools/package.sh (Standard-ENVS) umgestellt.
    • Paketnamen: DisasterMesh-<V>-tdeck.zip und -twatch-s3.zip.
    • Prüfung über verify_release.py … spiffs.bin tdeck twatch-s3.
    • Release-Text, ANLEITUNG.template.md (Download-Modus, Display, Admin-Reset) und Boardverträge (16 MiB) angepasst.
  • CI: Der Job sx1276-boards (T3 V1.6.1, Heltec V2, Heltec-Diagnose) heißt jetzt release-boards und baut die beiden neuen Boards mit Speicherprüfung.
    • Heltec V2 und T3 bleiben als Profile im Code.
    • Die TTGO- und T3-S3-Testbuilds (Rollen Repeater, Room, SD) bleiben vorerst als Code-Abdeckung.
  • Doku: README („Ab dem nächsten Release“), DETAILS und CHANGELOG.

Lokal geprüft (pioarduino 55.03.312-1, PlatformIO 6.2.0)

Profil Flash (Linker) statisches RAM
disaster_tdeck_wifi 1.415.093 von 3.145.728 84.768
disaster_twatch_s3_wifi 1.447.157 von 3.145.728 85.276
  • validate_memory.py (auch mit factory.bin und boot_app0) ok.
  • package.sh und verify_release.py: 2 Pakete vollständig.
  • Python- und C++-Hosttests, version.py --check und pin_libs.py --check ok.
  • Regressionsbuild disaster_ttgo_wifi ok.

Grenzen

  • Nicht auf Hardware geprüft.
  • T-Watch S3 hat keine Taste für den Admin-Reset (10 s halten). Die Admin-Zugangsdaten erscheinen beim ersten Start seriell.
  • T-Deck Plus: Beim 10-s-Halten des Trackballs für den Admin-Reset wird nach 2,5 s zusätzlich ein Advert gesendet.
  • Keine Web/App-Synchronisierung (SharedQueue), da kein Bluetooth.

Übernimmt aus DisAHRsterRadio-MeshCore 0.9.4 nur, was zu DisasterMesh passt: die Flash- und Speicherprüfung, angepasst an klassische ESP32. Kein Merge, kein Tag, kein Release.

  • tools/validate_memory.py prüft nach jedem Build der WLAN-Portal-Profile: Image-Header (Chip-ID, Flashgröße), Segmente, Prüfsumme/SHA-256, Partitionstabelle (MD5, Überlappung, Grenzen), ob firmware.bin/spiffs.bin passen, Linker-Werte für Flash/RAM. Der Bericht landet im Job Summary und im Artefakt.
  • Boardvertrag tools/memory_boards.json: T3 V1.6.1/TLora 4 MiB; Heltec V2 8 MiB laut Image-Header, min_spiffs.csv nutzt davon 4 MiB.
  • Hosttests tests/memory_validation.test.py (7 Tests).
  • Firmware unverändert.

Lokal geprüft (PlatformIO 6.2.0): disaster_ttgo_wifi, disaster_tlora_v2_1_sx1276_wifi, disaster_heltec_v2_sx1276_wifi, _diag – alle gültig, je ca. 650–668 KB frei in der App-Partition.

Bewusst nicht übernommen (passt nicht):

  • Web/BLE-Sync: DisasterMesh-Portal-Builds haben kein Bluetooth.
  • Marken-Anzeige/Akku-Zeile: TFT-Oberfläche, DisasterMesh-Boards haben 128×64-OLED.
  • T-Deck Plus/T-Watch S3: kein Profil in DisasterMesh.
  • Web-Flasher: DisasterMesh hat keinen.

Heltec V2 bleibt vorerst drin: Es ist das einzige Release-Board von DisasterMesh. Die Entfernung braucht eine Entscheidung (siehe Bericht).

…-MeshCore 0.9.4, angepasst an klassische ESP32)
…ge und Flood-Advert; Release und CI-Boardjob nur noch für diese Boards
@Pietwars Pietwars changed the title Flash- und Speicherprüfung im CI (aus DisAHRsterRadio-MeshCore 0.9.4) T-Deck Plus + T-Watch S3 (Release nur noch diese Boards) und Flash-/Speicherprüfung im CI Oct 19, 2026

This branch has not been deployed

No deployments
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant