- Ring-Buffer _logBuf in web_server.cpp: webLogForward() schreibt auf Core 1 - GET /log-data liefert Puffer als Plain-Text (kein WebSocket, kein Core-Konflikt) - Browser pollt alle 2 s, Auto-Scroll, dunkles Terminal-Theme - LOG_I/LOG_E/LOG_D: Timestamp (HH:MM:SS nach NTP, sonst +Xs), webLogForward() - Alle Serial.* in laser_tracker.cpp, mqtt_client.cpp, web_server.cpp auf LOG_I/LOG_E - main.cpp: esp_reset_reason() beim Booten loggen (POWER_ON / WATCHDOG / PANIC...) - telnet_logger.h entfernt (war nur noch Deprecated-Stub) - Feature-Requests.md: FR-002 abgeschlossen
2.7 KiB
2.7 KiB
Feature Requests & Bug Fixes
Dieses Dokument verfolgt laufende Bug Fixes und kleinere Feature Requests nach Abschluss der Hauptentwicklungsphasen (Implementation-Plan.md Phase 1–9).
Größere Änderungen (neue Module, neue Architektur) werden weiterhin imImplementation-Plan.mddokumentiert.
Format
- [ ] **FR-NNN** Kurzbeschreibung
- Details, Kontext, betroffene Dateien
- Commit: `<hash>` (wird nach Erledigung eingetragen)
Status: [ ] = offen · [x] = erledigt
Offen
– keine –
Erledigt
-
FR-002 Web Console – serieller Monitor über Browser (WebSocket) ✅
- Route
/logliefert HTML-Seite mit automatisch scrollendem Terminal (dunkles Theme) - WebSocket-Endpunkt
/log-wsviaAsyncWebSocketim bestehenden ESPAsyncWebServer LOG_I/LOG_E/LOG_Dinconfig.hformatieren in lokalen Puffer und rufenwebLogForward()aufwebLogForward()sendet perws.textAll()– läuft nativ in AsyncTCP, kein Konflikt- "Log Console"-Button auf Statusseite / automatischer WebSocket-Reconnect nach Trennung
- Commit: –
- Route
-
FR-004 Bug:
session_sumim MQTT-Heartbeat falsch (Binärzahl statt Dezimal) ✅serialized(String(getAllSessionsSumMinutes(), 2))→String(int, basis)interpretiert 2. Argument als Basis, nicht Dezimalstellen- Beispiel: 18 Min →
"10010"(18 in Binär), 20 Min →"10100" - Fix:
doc["session_sum"] = laserTracker.getAllSessionsSumMinutes()– direkt als JSON-Integer, keinserialized()nötig machine_running_time_minwar korrekt:String(float, 2)= 2 Dezimalstellen – anderer Overload- Version: 1.0.1 → 1.0.2
- Commit:
83537e3
-
FR-003 Bug: NTP Zeitzone falsch (UTC statt CET/CEST) ✅
configTime(0, 0, ...)lieferte UTC → Anzeige 1h zu früh (CET) / 2h zu früh (CEST)wifi_connector.cpp:configTzTime("CET-1CEST,M3.5.0,M10.5.0/3", "pool.ntp.org", "time.nist.gov")– automatische Sommerzeitmqtt_client.cpp:gmtime()→localtime(),Z-Suffix entfernt – Payload zeigt Lokalzeit- Version: 1.0.0 → 1.0.1
- Commit:
3a31082
-
FR-001 Firmware-Version auf Webseite und im MQTT-Status-Payload
- Definition:
FIRMWARE_VERSIONalsbuild_flagsinplatformio.ini[env]-Basisblock (Single Source of Truth) - Fallback
#define FIRMWARE_VERSION "0.0.0"inconfig.h(Arduino IDE ohne build_flags) - Format:
1.0.0 (Feb 26 2026)– Version + C++-Makro__DATE__(Compile-Zeitpunkt) - Web: Firmware-Zeile in der Statustabelle auf
/+ Footer auf/config - MQTT:
"firmware_version": "1.0.0 (Feb 26 2026)"imlasercutter/status-Payload - Commit:
46a8c59
- Definition:
Erstellt: 26. Februar 2026