Compare commits
6
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9a0761f6da | ||
|
|
e6c09b7a9a | ||
|
|
4fa0c81087 | ||
|
|
04eb77fb2d | ||
|
|
7878f1bafd | ||
|
|
60bb859fc9 |
@@ -1,3 +1,27 @@
|
||||
Version 1.6.8:
|
||||
- Scrollen und Wischen laufen am Waveshare-Panel flüssiger: LVGL rechnet dort jetzt im
|
||||
16-Millisekunden-Takt statt alle 33 ms. Dieser Wert steuert nicht nur die Bildrate,
|
||||
sondern auch, wie oft der Touch abgetastet und wie fein eine Animation gerechnet wird -
|
||||
mit 30 Schritten je Sekunde war vor allem das Ziehen mit dem Finger sichtbar ruckelig.
|
||||
Das Panel läuft mit 60 Hz, mehr als 16 ms bringt also nichts.
|
||||
- Kommt das Zeichnen einmal nicht hinterher, wird ein Bild später fertig; kaputt geht
|
||||
dabei nichts. Die JC-Panels bleiben bei 33 ms.
|
||||
|
||||
Version 1.6.7:
|
||||
- Der Menue-Knopf oben links fängt Tipps jetzt auch knapp daneben ab. Mit 48x36 Pixeln war
|
||||
er auf dem 7-Zoll-Panel ein sehr kleines Ziel; gemessen wurde ein Fehlgriff von rund
|
||||
10 Pixeln neben der Fläche, weshalb sich das Menü scheinbar nicht öffnen ließ. Optisch
|
||||
bleibt der Knopf unverändert, die Trefferfläche wächst um 20 Pixel nach allen Seiten.
|
||||
Sie wirkt nur innerhalb der Kopfleiste - dem Seiteninhalt darunter wird nichts genommen.
|
||||
- Die Touch-Zuordnung selbst war korrekt: Eine Messung mit WS7_TOUCH_DEBUG hat gezeigt,
|
||||
dass Achsen und Spiegelung stimmen.
|
||||
|
||||
Version 1.6.6:
|
||||
- Neuer Schalter WS7_TOUCH_DEBUG in pins_config.h: Auf 1 gesetzt, gibt jeder Berührpunkt
|
||||
seine Rohwerte und die daraus errechnete Bildposition auf der seriellen Konsole aus.
|
||||
Gedacht zum Einmessen des Touch, wenn Bedienelemente nicht reagieren - insbesondere am
|
||||
oberen Bildrand, wo die 44 Pixel hohe Kopfleiste sitzt.
|
||||
|
||||
Version 1.6.5:
|
||||
- Zwei der drei Tempo-Maßnahmen aus 1.6.4 haben sich am Gerät als untauglich erwiesen und
|
||||
stehen wieder auf ihrem alten Wert. Sie bleiben als Schalter erhalten, mit Notiz, woran
|
||||
|
||||
@@ -211,6 +211,10 @@ static void ws7_touch_map(esp_lcd_touch_handle_t tp, uint16_t *x, uint16_t *y,
|
||||
// Bild wird um 180 Grad gedreht ausgegeben -> Touch muss mitdrehen.
|
||||
px = (uint16_t)(LCD_H_RES - 1 - px);
|
||||
py = (uint16_t)(LCD_V_RES - 1 - py);
|
||||
#endif
|
||||
#if WS7_TOUCH_DEBUG
|
||||
esp_rom_printf("[Touch] roh X=%u Y=%u -> Bild X=%u Y=%u\n",
|
||||
(unsigned)x[i], (unsigned)y[i], (unsigned)px, (unsigned)py);
|
||||
#endif
|
||||
x[i] = px;
|
||||
y[i] = py;
|
||||
|
||||
@@ -126,7 +126,7 @@
|
||||
// -------------------------------------------------------------------------------------
|
||||
// Firmware
|
||||
// -------------------------------------------------------------------------------------
|
||||
#define DISPLAY_FW_VERSION "1.6.5" // Firmware-Stand der P4-Display-Steuerung (Info-Seite)
|
||||
#define DISPLAY_FW_VERSION "1.6.8" // Firmware-Stand der P4-Display-Steuerung (Info-Seite)
|
||||
|
||||
// -------------------------------------------------------------------------------------
|
||||
// Protokoll
|
||||
|
||||
@@ -91,7 +91,17 @@
|
||||
*====================*/
|
||||
|
||||
/*Default display refresh, input device read and animation step period.*/
|
||||
/* Der Wert bestimmt nicht nur die Bildrate, sondern auch, wie oft der Touch abgetastet
|
||||
* und wie fein eine Animation gerechnet wird. 33 ms sind 30 Schritte je Sekunde - beim
|
||||
* Ziehen mit dem Finger deutlich als Stocken zu sehen. Das Waveshare-Panel laeuft mit
|
||||
* 60 Hz, deshalb dort 16 ms; mehr als das Panel zeigen kann, bringt nichts. Kommt das
|
||||
* Zeichnen nicht hinterher, wird es einfach seltener fertig - kaputt geht dabei nichts.
|
||||
* Die JC-Panels bleiben bei 33 ms, damit sich ihr Verhalten nicht aendert. */
|
||||
#if JC_PANEL_TYPE == WS_PANEL_7H
|
||||
#define LV_DEF_REFR_PERIOD 16 /*[ms]*/
|
||||
#else
|
||||
#define LV_DEF_REFR_PERIOD 33 /*[ms]*/
|
||||
#endif
|
||||
|
||||
/*Default Dot Per Inch. Used to initialize default sizes such as widgets sized, style paddings.
|
||||
*(Not so important, you can adjust it to modify default sizes and spaces)*/
|
||||
|
||||
@@ -127,6 +127,10 @@
|
||||
#define WS7_TOUCH_MIRROR_RAW_X 1
|
||||
#define WS7_TOUCH_MIRROR_RAW_Y 0
|
||||
|
||||
// Zum Einmessen des Touch: 1 gibt jeden Beruehrpunkt roh und umgerechnet auf der
|
||||
// seriellen Konsole aus. Danach wieder auf 0, sonst laeuft das Log dauernd mit.
|
||||
#define WS7_TOUCH_DEBUG 0
|
||||
|
||||
#elif JC_PANEL_TYPE == JC_PANEL_70
|
||||
|
||||
#define LCD_H_RES 1024
|
||||
|
||||
@@ -3171,6 +3171,11 @@ void ui_init(ProtocolClient* client) {
|
||||
|
||||
lv_obj_t* burger = th_button(header, LV_SYMBOL_LIST, COL_CARD2, COL_TEXT);
|
||||
lv_obj_set_size(burger, 48, 36);
|
||||
// Der Knopf bleibt optisch klein, faengt Tipps aber auch knapp daneben ab. 48x36 Pixel
|
||||
// sind auf dem 7-Zoll-Panel ein sehr kleines Ziel; gemessen wurde ein Fehlgriff von
|
||||
// rund 10 Pixeln. Die Vergroesserung wirkt nur innerhalb der Kopfleiste - darunter
|
||||
// beschneidet sie die Leiste selbst, sodass dem Seiteninhalt nichts weggenommen wird.
|
||||
lv_obj_set_ext_click_area(burger, 20);
|
||||
lv_obj_add_event_cb(burger, hamburger_cb, LV_EVENT_CLICKED, nullptr);
|
||||
|
||||
g_hdrTitle = lv_label_create(header);
|
||||
|
||||
Reference in New Issue
Block a user