diff --git a/P4_Display_Firmware/Changelog.txt b/P4_Display_Firmware/Changelog.txt index e5a952f..30e6e7d 100644 --- a/P4_Display_Firmware/Changelog.txt +++ b/P4_Display_Firmware/Changelog.txt @@ -1,3 +1,13 @@ +Version 1.10.2: +- Die Verlaufskurven im Dashboard wurden überhaupt nicht fortgeschrieben. Der Code dafür + stand am Ende der Umschaltung „Heizleistung anzeigen" auf der Verlauf-Seite - also im + Callback eines Knopfes. Die Kurven wuchsen nur weiter, wenn jemand genau diesen Knopf + drückte. Sonst zeigten sie unverändert den Wert, der beim Aufbau der Darstellung gerade + anlag: zwei flache, gleich hohe Linien. +- Die Fortschreibung sitzt jetzt im sekündlichen Abtaster, dort, wo auch der große Verlauf + seine Messwerte nimmt. Damit bewegen sich die Kurven, und die gemeinsame Skala aus 1.10.1 + kann ihre Arbeit überhaupt erst tun. + Version 1.10.1: - Die beiden Verlaufskurven teilen sich jetzt eine gemeinsame Skala. In 1.10.0 zoomte jede Kurve auf ihre eigenen Werte - dadurch saß jede mittig in ihrem eigenen Fenster, und diff --git a/P4_Display_Firmware/ui.cpp b/P4_Display_Firmware/ui.cpp index 616acb7..9fe67b7 100644 --- a/P4_Display_Firmware/ui.cpp +++ b/P4_Display_Firmware/ui.cpp @@ -1727,14 +1727,6 @@ static void chart_duty_btn_cb(lv_event_t*) { else lv_obj_add_flag(g_legDuty, LV_OBJ_FLAG_HIDDEN); } chart_redraw(); - - // Verlaufskurven des Dashboards (Darstellung "Verlauf") mitfuehren. Beide teilen sich - // eine Skala, siehe spark_ranges_fit(). - if (g_sparkSerW && g_sparkW) - lv_chart_set_next_value(g_sparkW, g_sparkSerW, (int32_t)(g_state.tempW * 10.0f)); - if (g_sparkSerD && g_sparkD) - lv_chart_set_next_value(g_sparkD, g_sparkSerD, (int32_t)(g_state.tempD * 10.0f)); - spark_ranges_fit(); // gemeinsame Skala, damit die Hoehen vergleichbar bleiben } static void build_chart(lv_obj_t* p) { lv_obj_clear_flag(p, LV_OBJ_FLAG_SCROLLABLE); @@ -1959,6 +1951,20 @@ static void chart_redraw() { lv_chart_refresh(g_chart); } static void chart_sample_cb(lv_timer_t*) { + // Verlaufskurven des Dashboards (Darstellung "Verlauf") fortschreiben. Das stand + // frueher am Ende von chart_duty_btn_cb - also im Callback eines Knopfes auf der + // Verlauf-SEITE. Die Kurven wurden dadurch nur fortgeschrieben, wenn jemand genau + // diesen Knopf drueckte; sonst zeigten sie unveraendert den Wert, der beim Aufbau + // der Darstellung gerade anlag. Beide Linien lagen deshalb flach und identisch. + // + // Bewusst vor dem Ausstieg unten: Die Kurven im Dashboard haengen nicht daran, ob + // die Verlauf-Seite mit ihrem grossen Diagramm schon aufgebaut ist. + if (g_sparkSerW && g_sparkW) + lv_chart_set_next_value(g_sparkW, g_sparkSerW, (int32_t)(g_state.tempW * 10.0f)); + if (g_sparkSerD && g_sparkD) + lv_chart_set_next_value(g_sparkD, g_sparkSerD, (int32_t)(g_state.tempD * 10.0f)); + spark_ranges_fit(); // gemeinsame Skala, damit die Hoehen vergleichbar bleiben + if (!g_chart || !g_hist) return; // 1-s-Probe in die 60-min-Historie (Ringpuffer); Anzeige zeichnet chart_redraw bool caseOn = g_state.caseSensorEnabled && g_state.hasCaseTemp;