Die Sparklines im Dashboard lagen flach auf gleicher Höhe und bewegten sich nicht, obwohl ein Kessel bei 80 °C stand und der andere bei 0.
Ursache:lv_chart_set_range() war an den Sollwert gebunden (soll-60 bis soll+30 in Zehntelgrad). Liegt die Temperatur unter diesem Fenster - beim Aufheizen oder bei abgeschaltetem Kessel -, klemmt LVGL jeden Punkt auf den unteren Rand. Beide Kurven landeten dadurch auf derselben Linie.
Neues spark_range_fit(): Ausschnitt aus min/max der vorhandenen Punkte (lv_chart_get_y_array), Mindestspanne DASH_SPARK_MIN_SPAN (40 = 4,0 °C), sonst ein Achtel Luft nach oben und unten.
Der zuletzt gesetzte Bereich wird in user_data gemerkt, weil LVGL keinen Getter dafür hat; ohne den Vergleich würde set_range das Diagramm bei jeder Zustandsmeldung invalidieren.
Die Charts füllen jetzt den Platz unterhalb der Zahlen (flex_grow 1, min_height 90) statt als 64-px-Streifen mittig zu hängen.
Aufräumen nach der abgeschlossenen Fehlersuche:
Herzschlag, [Zustand]- und [Touch]-Messzeilen entfernt.
refr_monitor_install() hinter WS7_PERF_MONITOR (aus).
scroll_ohne_nachlauf() gibt LV_OBJ_FLAG_SCROLL_MOMENTUM wieder frei.
Beide Panel-Varianten mit arduino-cli gegengebaut.
Die Sparklines im Dashboard lagen flach auf gleicher Höhe und bewegten sich nicht, obwohl ein Kessel bei 80 °C stand und der andere bei 0.
**Ursache:** `lv_chart_set_range()` war an den Sollwert gebunden (`soll-60` bis `soll+30` in Zehntelgrad). Liegt die Temperatur unter diesem Fenster - beim Aufheizen oder bei abgeschaltetem Kessel -, klemmt LVGL jeden Punkt auf den unteren Rand. Beide Kurven landeten dadurch auf derselben Linie.
- Neues `spark_range_fit()`: Ausschnitt aus min/max der vorhandenen Punkte (`lv_chart_get_y_array`), Mindestspanne `DASH_SPARK_MIN_SPAN` (40 = 4,0 °C), sonst ein Achtel Luft nach oben und unten.
- Der zuletzt gesetzte Bereich wird in `user_data` gemerkt, weil LVGL keinen Getter dafür hat; ohne den Vergleich würde `set_range` das Diagramm bei jeder Zustandsmeldung invalidieren.
- Die Charts füllen jetzt den Platz unterhalb der Zahlen (`flex_grow` 1, `min_height` 90) statt als 64-px-Streifen mittig zu hängen.
**Aufräumen** nach der abgeschlossenen Fehlersuche:
- Herzschlag, `[Zustand]`- und `[Touch]`-Messzeilen entfernt.
- `refr_monitor_install()` hinter `WS7_PERF_MONITOR` (aus).
- `scroll_ohne_nachlauf()` gibt `LV_OBJ_FLAG_SCROLL_MOMENTUM` wieder frei.
Beide Panel-Varianten mit arduino-cli gegengebaut.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
https://claude.ai/code/session_019G95njDFkedFqXiz5sEaJ2
Die Sparklines im Dashboard lagen flach auf gleicher Höhe und bewegten sich
nicht, obwohl ein Kessel bei 80 °C stand und der andere bei 0.
Ursache: lv_chart_set_range() war an den Sollwert gebunden (soll-60 bis
soll+30 in Zehntelgrad). Liegt die Temperatur unter diesem Fenster - beim
Aufheizen oder bei abgeschaltetem Kessel -, klemmt LVGL jeden Punkt auf den
unteren Rand. Beide Kurven landeten dadurch auf derselben Linie.
- Neues spark_range_fit(): Ausschnitt aus min/max der vorhandenen Punkte
(lv_chart_get_y_array), Mindestspanne DASH_SPARK_MIN_SPAN (40 = 4,0 °C),
sonst ein Achtel Luft nach oben und unten.
- Der zuletzt gesetzte Bereich wird in user_data gemerkt, weil LVGL keinen
Getter dafür hat; ohne den Vergleich würde set_range das Diagramm bei jeder
Zustandsmeldung invalidieren.
- Die Charts füllen jetzt den Platz unterhalb der Zahlen (flex_grow 1,
min_height 90) statt als 64-px-Streifen mittig zu hängen.
Aufräumen nach der abgeschlossenen Fehlersuche:
- Herzschlag, [Zustand]- und [Touch]-Messzeilen entfernt.
- refr_monitor_install() hinter WS7_PERF_MONITOR (aus).
- scroll_ohne_nachlauf() gibt LV_OBJ_FLAG_SCROLL_MOMENTUM wieder frei.
Beide Panel-Varianten mit arduino-cli gegengebaut.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019G95njDFkedFqXiz5sEaJ2
thomas
merged commit fc0a756127 into main2026-09-03 17:01:50 +02:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Die Sparklines im Dashboard lagen flach auf gleicher Höhe und bewegten sich nicht, obwohl ein Kessel bei 80 °C stand und der andere bei 0.
Ursache:
lv_chart_set_range()war an den Sollwert gebunden (soll-60bissoll+30in Zehntelgrad). Liegt die Temperatur unter diesem Fenster - beim Aufheizen oder bei abgeschaltetem Kessel -, klemmt LVGL jeden Punkt auf den unteren Rand. Beide Kurven landeten dadurch auf derselben Linie.spark_range_fit(): Ausschnitt aus min/max der vorhandenen Punkte (lv_chart_get_y_array), MindestspanneDASH_SPARK_MIN_SPAN(40 = 4,0 °C), sonst ein Achtel Luft nach oben und unten.user_datagemerkt, weil LVGL keinen Getter dafür hat; ohne den Vergleich würdeset_rangedas Diagramm bei jeder Zustandsmeldung invalidieren.flex_grow1,min_height90) statt als 64-px-Streifen mittig zu hängen.Aufräumen nach der abgeschlossenen Fehlersuche:
[Zustand]- und[Touch]-Messzeilen entfernt.refr_monitor_install()hinterWS7_PERF_MONITOR(aus).scroll_ohne_nachlauf()gibtLV_OBJ_FLAG_SCROLL_MOMENTUMwieder frei.Beide Panel-Varianten mit arduino-cli gegengebaut.
🤖 Generated with Claude Code
https://claude.ai/code/session_019G95njDFkedFqXiz5sEaJ2