From 4a3bbca18b5708a9f425c16989e305a042475de7 Mon Sep 17 00:00:00 2001 From: Alfred Date: Thu, 2 Apr 2026 16:20:06 +0200 Subject: [PATCH] Document project status and next steps --- README.md | 5 ++++- STATUS.md | 25 +++++++++++++++++++++++++ 2 files changed, 29 insertions(+), 1 deletion(-) create mode 100644 STATUS.md diff --git a/README.md b/README.md index d680df1..276e5df 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,9 @@ V1-Firmware-Grundgeruest fuer ein tragbares ESP32-GPS-Geraet, das Naehe und Richtung zu konfigurierten Kraftorten auf einem 54er-WS2812B-Ring anzeigt. +## Status-Überblick +Details zu erledigten, laufenden und geplanten Aufgaben stehen in [STATUS.md](STATUS.md). + ## V1-Status Implementiert: @@ -38,7 +41,7 @@ Tests lokal (native): pio test -e native ``` -Native Unity-Tests decken Geo-Mathematik, State-Transitions und Ausnahmefälle ab (BLE-Timeouts ohne Button, Rückfall auf `GpsWait` bei Fix-Verlust, DeepSleep aus Long-Press, etc.). +Native Unity-Tests decken Geo-Mathematik, State-Transitions und Ausnahmef�lle ab (BLE-Timeouts ohne Button, R�ckfall auf `GpsWait` bei Fix-Verlust, DeepSleep aus Long-Press, etc.). Optional auf Hardware: diff --git a/STATUS.md b/STATUS.md new file mode 100644 index 0000000..5a9d933 --- /dev/null +++ b/STATUS.md @@ -0,0 +1,25 @@ +# Status (Stand 2026-04-02) + +## Erledigt +- PlatformIO-Repository mit allen vorgesehenen Modulen und LittleFS/`places.json` Loader. +- Nicht-blockierende Main-Loop mit State Machine, GPS-Datenmodell inklusive RMC/GGA Parser-Grundgerüst und Geo-Funktionen (Haversine, Bearing, Scoring, LED-Mapping). +- Basis für Button-, LED-, Power- und BLE-Maintenance-Module, dazu minimaler Serial-Ausgaben und pragmatische BLE-Kommandos für Status/Stop/Help. +- Unity-Tests für Geo-Logik und State-Machine-Transitions sowie Projekt- und Test-Workflows dokumentiert im README. + +## Teilweise umgesetzt +- BLE-Maintenance bleibt jetzt ein Stub: Window/Serial-Kommandos existieren, echte NimBLE-Services, OTA- und Upload-Pfade fehlen noch. +- LED-Themes und Animationen sind als Renderer-Grundstruktur vorhanden, aber nur einfache Zustände und keine ausgearbeiteten CALM/PULSE/AURORA-Varianten. +- GPS-Qualitätsheuristiken beschränken sich auf Basis-Fix/Sicherheit, ohne EMA-Filter, Fine-Tuning oder Extended Scoring für Edge-Fälle. + +## Offen +- NimBLE-Service/Characteristics, Upload/OTA-Handling, Status-Notifications und saubere BLE-Deinitialisierung nach Timeout oder Disconnect. +- Erweiterte LED-Rendering-Themes, Richtungs-/Score-Modi, Gamma-Korrektur und Hysterese gegen Flackern. +- Power-Features wie Deep Sleep via Long Press, definierte Wake-up-Pfade, Logging-Standardisierung, Watchdog. +- Architektur-Dokumentation (`docs/architecture.md`), BLE-Protokoll (docs/ble_protocol.md) und non-technical Deliverables für pinout/wiring. + +## Nächste sinnvolle Schritte +1. Dokumentation abschließen: fehlende Architektur- und BLE-Protokoll-Docs sowie Hardware/PIN-Notizen. +2. BLE-Maintenance mit echten NimBLE-Services, Upload-/OTA-Routinen und Status Notifications ergänzen. +3. LED-Renderer mit CALM/PULSE/AURORA-Themen, Hysterese/Gamma und Direction/Score-Modi aufbauen. +4. Power-Flow vervollständigen (Deep Sleep, Watchdog, Button-Wake-up) und Logging standardisieren. +5. Tests erweitern, um neue BLE-/LED-/Power-Logik abzudecken und GitHub-Actions-Build-Workflow dokumentieren.