Skip to content

Dongle: Log-Zeitstempel auf Wanduhrzeit statt Millisekunden-seit-Boot umstellen #446

Description

@haumacher

Problem

Die Firmware loggt aktuell mit dem ESP-IDF-Default CONFIG_LOG_TIMESTAMP_SOURCE_RTOS, d.h. der Zeitstempel ist die Zeit seit Boot in Millisekunden:

I (66366) sip: → SIP keepalive ping (4 bytes)

Diese relativen Zeiten sind beim Lesen des Logs (Serial-Konsole und Web-Live-Stream) lästig zu interpretieren — man kann nicht direkt sehen, wann etwas passiert ist.

Lösungsvorschlag

ESP-IDF bietet eine fertige Umschaltung auf die Systemuhr. In sdkconfig.defaults:

# statt CONFIG_LOG_TIMESTAMP_SOURCE_RTOS=y
CONFIG_LOG_TIMESTAMP_SOURCE_SYSTEM=y

Dann lautet das Format I (14:23:05.123) sip: …. Die Uhrzeit kommt aus esp_log_system_timestamp()localtime_r() und respektiert damit die im Gerät gesetzte Zeitzone (echte lokale Wanduhrzeit).

Verträglichkeit

  • Beide Formate behalten die Klammern ((%s) statt (%lu)). Der Log-Parser in main/log_capture.c überspringt den Zeitstempel generisch bis zum ersten ") " und interpretiert ihn nie — Web-„Protokoll"-Panel, Live-Stream und die Host-Tests (test/test_log_capture.c) funktionieren unverändert. Kein Code-Change nötig, nur die Config.

Bekannte Einschränkungen

  1. Nur Uhrzeit, kein Datum (HH:MM:SS.mmm). Für Live-Debugging ausreichend; über mehrere Tage lassen sich Tage nicht unterscheiden. Volles Datum bräuchte einen eigenen Format-Hook (deutlich mehr Aufwand, hier nicht vorgesehen).
  2. In den ersten Sekunden nach Boot (vor SNTP-Sync) ist die Zeit noch falsch (Epoch ~01:00:00 + Uptime), bis die Uhr steht.

Priorität

Niedrig — reine Bedienbarkeitsverbesserung beim Log-Lesen.

Metadata

Metadata

Assignees

No one assigned

    Labels

    dongleIssue related to the PhoneBlock dongle hardware/firmware.enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions