Der Ordner hieß JC_Display_Firmware, bedient seit 1.6.0 aber auch das Waveshare 7inch DSI LCD (H) am ESP32-P4-Pico. Der Name führte in die Irre. - JC_Display_Firmware/ -> P4_Display_Firmware/ (samt Sketch, den Arduino gleichnamig zum Ordner verlangt) - Doku/JC-Display_UART-Protokoll.md -> Doku/P4-Display_UART-Protokoll.md, Verweise und Titel angepasst - Verweise in CLAUDE.md, README und Quelltextköpfen nachgezogen Nur Namen und Pfade, keine Logikänderung. Der Vendor-Ordner JC_Display_Firmware_7zoll/ behält seinen Namen, ebenso die Bezeichner JC_PANEL_TYPE/jc_board_bringup im Quelltext. Enthält außerdem die bereits im Arbeitsverzeichnis liegende, noch nicht committete Ergänzung des Git-Workflows in CLAUDE.md (PRs über die Gitea-API statt der hängenden tea-CLI). Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018QoLDQeUh1dCQz7yYZVb4Y
2.9 KiB
Projekt-Orientierung
Dieses Repository ist die Steuerung einer Espresso-/Siebträgermaschine (Dual-PID, Wasser- und Dampfkessel getrennt geregelt). Sie besteht aus zwei getrennten Firmwares für zwei Mikrocontroller, die per UART (230400 8N1, JSON-Zeilen) verbunden sind:
-
ESP32-S3 – Hauptsteuerung in der Maschine (Source of Truth). Datei:
Dual_PID_FastHeatUp.ino(im Projekt-Root). Regelt PID/Heizungen/SSRs, Pumpe/Ventile, Waage (HX711/Brew-by-Weight), Standby/Eco, Profile, Nutzungsstatistik und stellt die Web-UI + WLAN + OTA bereit. Änderungshistorie:Changelog.txt(Root), Version steht inString version = "…". -
ESP32-P4 – UART-Touch-Display (spiegelt den S3-Zustand). Ordner:
P4_Display_Firmware/(HauptsketchP4_Display_Firmware.ino, UI inui.cpp/ui.h, UART-Protokoll inprotocol_client.*, LVGL 9.x). Hat kein eigenes WLAN (der ESP32-C6-Co-Prozessor ist ungenutzt); alle Daten kommen über UART vom S3. Eigene VersionDISPLAY_FW_VERSION+P4_Display_Firmware/Changelog.txt.
Wenn ich „S3/Controller/Maschine" sage, ist Dual_PID_FastHeatUp.ino gemeint;
„P4/Display" ist der Ordner P4_Display_Firmware/.
Nicht anfassen: Der Ordner Sicherungen/ enthält nur datierte Versions-Backups
(.ino) — niemals dort editieren. Unter P4_Display_Firmware/JC4880P443C_I_W/ liegen
reine Hersteller-Demos/Beispiele (Board-Support), ebenfalls nicht als Projektcode behandeln.
Agent Instructions
- UI-Texte muessen immer in allen verfuegbaren Anwendungssprachen hinterlegt oder geaendert werden. Wenn neue UI-Strings entstehen, sind die entsprechenden Sprachdateien vollstaendig zu ergaenzen.
- Dateien duerfen generell nur ohne BOM geschrieben werden. Textdateien sind als UTF-8 ohne BOM anzulegen oder zu aktualisieren.
- Sprachstrings/Texte sind immer mit Umlauten zu schreiben
Git-Workflow
- Host: Gitea
git.mueller.black, Repothomas/Dual-PID, Userthomas, CLItea. - Aenderungen immer ueber Feature-Branch + Merge-Request, nie direkt auf
maincommitten oder pushen. - PR anlegen und mergen bevorzugt über die Gitea-REST-API (PowerShell
Invoke-RestMethodaufhttps://git.mueller.black/api/v1/repos/thomas/Dual-PID/pulls[/<nr>/merge], Token ausC:\Users\Thomas\AppData\Local\tea\config.yml, nur in Variable, nie ausgeben), da dietea-CLI gegengit.mueller.blackoft hängt und nie zurückkehrt.tea pr create/tea pr mergenur als Ausweichweg. PRs dürfen selbstständig gemergt werden (Auto-Merge, kein grünes CI erforderlich); danach den Merge kurz melden. - Kein Force-Push, kein History-Rewrite auf geteilten Branches.
- Commit-Identitaet bleibt
raw-designs/Thomas@raw-designs.de(globale Git-Config, nicht aendern). - Commit-Messages im Conventional-Commits-Format (feat/fix/docs/refactor/...).
- Auch Branch-Namen, Commit-Messages sowie PR-Titel und -Beschreibungen sind mit echten Umlauten zu schreiben (sofern technisch möglich).