Dieselbe P4-Display-Firmware bedient jetzt wahlweise das bisherige 4,3-Zoll-Panel JC4880P443C-I-W (ST7701, 480x800) oder das neue 7-Zoll-Panel JC1060P470C-I-W (JD9165, 1024x600). Umgeschaltet wird über JC_PANEL_TYPE in config.h (JC_PANEL_43 / JC_PANEL_70) oder per Compiler-Flag -DJC_PANEL_TYPE=70. Vorgabe bleibt das 4,3-Zoll-Panel; dessen Verhalten ändert sich nicht.
Änderungen
src/lcd/esp_lcd_jd9165.c/.h aus dem Hersteller-Paket übernommen; board_bringup.c legt je nach Panel DSI-Bus, DPI-Zeitbasis und Herstellertreiber an.
pins_config.h liefert Auflösung, LCD-Reset (4,3": GPIO5, 7,0": GPIO27) und Ausrichtung panelabhängig. Das 7-Zoll-Panel ist nativ Querformat, deshalb entfallen dort die 270-Grad-Rotation und die PPA-Beschleunigung.
lvgl_port_v9.h bezieht LVGL_PORT_H/V_RES aus pins_config.h statt fest 480/800.
Der GT911 des 7-Zöllers meldet Rohkoordinaten im Raster 800x480 statt 1024x600. Die Umrechnung hängt am process_coordinates-Hook von esp_lcd_touch, damit die Herstellerdatei esp_lcd_touch_gt911.c unverändert bleibt. Ohne sie wäre nur der linke obere Bildteil bedienbar.
ui.cpp rechnet nicht mehr mit fest verdrahteten 480 Pixeln Höhe, sondern mit DISP_VER_RES. Layout und Schriften bleiben sonst unverändert: Das Dashboard arbeitet fast durchgehend mit Prozentmaßen, und die feineren Pixelabstände des 7-Zöllers (170 statt 213 dpi) lassen dieselben Schriftgrößen physisch größer erscheinen.
Verkabelung
Unverändert: P4 GPIO33 = TX, GPIO31 = RX. Beim 7-Zöller liegen diese Pins allerdings auf der FPC-Buchse FPC4 (1,0 mm, 16-polig) statt auf einer Stiftleiste — dort wird ein Adapterkabel gebraucht.
Hersteller-Paket
JC_Display_Firmware_7zoll/ enthält Schaltpläne, Spezifikation, Datenblätter, Handbuch, Burn-Dateien und die Arduino-Demos. Werkzeuge, Archive und mitgelieferte Fremdbibliotheken sind per .gitignore ausgeschlossen (587 MB im Original, 21 MB im Repo).
Test
Kompiliertest ESP32-P4, beide Varianten:
Variante
Flash
statischer RAM
4,3" (JC_PANEL_43)
1.173.768 B (37 %)
322.880 B (98 %)
7,0" (JC_PANEL_70)
1.138.752 B (36 %)
322.600 B (98 %)
Auf Hardware ist der 7-Zoll-Zweig noch nicht erprobt.
Dieselbe P4-Display-Firmware bedient jetzt wahlweise das bisherige 4,3-Zoll-Panel **JC4880P443C-I-W** (ST7701, 480x800) oder das neue 7-Zoll-Panel **JC1060P470C-I-W** (JD9165, 1024x600). Umgeschaltet wird über `JC_PANEL_TYPE` in `config.h` (`JC_PANEL_43` / `JC_PANEL_70`) oder per Compiler-Flag `-DJC_PANEL_TYPE=70`. Vorgabe bleibt das 4,3-Zoll-Panel; dessen Verhalten ändert sich nicht.
### Änderungen
- `src/lcd/esp_lcd_jd9165.c/.h` aus dem Hersteller-Paket übernommen; `board_bringup.c` legt je nach Panel DSI-Bus, DPI-Zeitbasis und Herstellertreiber an.
- `pins_config.h` liefert Auflösung, LCD-Reset (4,3": GPIO5, 7,0": GPIO27) und Ausrichtung panelabhängig. Das 7-Zoll-Panel ist nativ Querformat, deshalb entfallen dort die 270-Grad-Rotation und die PPA-Beschleunigung.
- `lvgl_port_v9.h` bezieht `LVGL_PORT_H/V_RES` aus `pins_config.h` statt fest 480/800.
- Der GT911 des 7-Zöllers meldet Rohkoordinaten im Raster 800x480 statt 1024x600. Die Umrechnung hängt am `process_coordinates`-Hook von `esp_lcd_touch`, damit die Herstellerdatei `esp_lcd_touch_gt911.c` unverändert bleibt. Ohne sie wäre nur der linke obere Bildteil bedienbar.
- `ui.cpp` rechnet nicht mehr mit fest verdrahteten 480 Pixeln Höhe, sondern mit `DISP_VER_RES`. Layout und Schriften bleiben sonst unverändert: Das Dashboard arbeitet fast durchgehend mit Prozentmaßen, und die feineren Pixelabstände des 7-Zöllers (170 statt 213 dpi) lassen dieselben Schriftgrößen physisch größer erscheinen.
### Verkabelung
Unverändert: P4 GPIO33 = TX, GPIO31 = RX. Beim 7-Zöller liegen diese Pins allerdings auf der FPC-Buchse **FPC4** (1,0 mm, 16-polig) statt auf einer Stiftleiste — dort wird ein Adapterkabel gebraucht.
### Hersteller-Paket
`JC_Display_Firmware_7zoll/` enthält Schaltpläne, Spezifikation, Datenblätter, Handbuch, Burn-Dateien und die Arduino-Demos. Werkzeuge, Archive und mitgelieferte Fremdbibliotheken sind per `.gitignore` ausgeschlossen (587 MB im Original, 21 MB im Repo).
### Test
Kompiliertest ESP32-P4, beide Varianten:
| Variante | Flash | statischer RAM |
|---|---|---|
| 4,3" (`JC_PANEL_43`) | 1.173.768 B (37 %) | 322.880 B (98 %) |
| 7,0" (`JC_PANEL_70`) | 1.138.752 B (36 %) | 322.600 B (98 %) |
Auf Hardware ist der 7-Zoll-Zweig noch nicht erprobt.
Dieselbe Display-Firmware bedient jetzt wahlweise das bisherige 4,3-Zoll-Panel
JC4880P443C-I-W (ST7701, 480x800) oder das neue 7-Zoll-Panel JC1060P470C-I-W
(JD9165, 1024x600). Umgeschaltet wird über JC_PANEL_TYPE in config.h
(JC_PANEL_43 / JC_PANEL_70) oder per Compiler-Flag -DJC_PANEL_TYPE=70. Vorgabe
bleibt das 4,3-Zoll-Panel; dessen Verhalten ändert sich nicht.
- src/lcd/esp_lcd_jd9165.c/.h aus dem Hersteller-Paket übernommen;
board_bringup.c legt je nach Panel DSI-Bus, DPI-Zeitbasis und Herstellertreiber an.
- pins_config.h liefert Auflösung, LCD-Reset (4,3": GPIO5, 7,0": GPIO27) und
Ausrichtung panelabhängig. Das 7-Zoll-Panel ist nativ Querformat, deshalb
entfallen dort die 270-Grad-Rotation und die PPA-Beschleunigung.
- lvgl_port_v9.h bezieht LVGL_PORT_H/V_RES aus pins_config.h statt fest 480/800.
- Der GT911 des 7-Zöllers meldet Rohkoordinaten im Raster 800x480 statt 1024x600.
Die Umrechnung hängt am process_coordinates-Hook von esp_lcd_touch, damit die
Herstellerdatei esp_lcd_touch_gt911.c unverändert bleibt.
- ui.cpp rechnet nicht mehr mit fest verdrahteten 480 Pixeln Höhe, sondern mit
DISP_VER_RES. Layout und Schriften bleiben sonst unverändert.
- Hersteller-Paket des 7-Zöllers unter JC_Display_Firmware_7zoll/ abgelegt;
Werkzeuge, Archive und mitgelieferte Fremdbibliotheken per .gitignore
ausgeschlossen (587 MB im Original, 21 MB im Repo).
Kompiliertest ESP32-P4, beide Varianten:
4,3": 1.173.768 B Flash (37 %), 322.880 B RAM (98 %)
7,0": 1.138.752 B Flash (36 %), 322.600 B RAM (98 %)
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
thomas
merged commit 27a3ee840e into main2026-08-22 02:36:53 +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.
Dieselbe P4-Display-Firmware bedient jetzt wahlweise das bisherige 4,3-Zoll-Panel JC4880P443C-I-W (ST7701, 480x800) oder das neue 7-Zoll-Panel JC1060P470C-I-W (JD9165, 1024x600). Umgeschaltet wird über
JC_PANEL_TYPEinconfig.h(JC_PANEL_43/JC_PANEL_70) oder per Compiler-Flag-DJC_PANEL_TYPE=70. Vorgabe bleibt das 4,3-Zoll-Panel; dessen Verhalten ändert sich nicht.Änderungen
src/lcd/esp_lcd_jd9165.c/.haus dem Hersteller-Paket übernommen;board_bringup.clegt je nach Panel DSI-Bus, DPI-Zeitbasis und Herstellertreiber an.pins_config.hliefert Auflösung, LCD-Reset (4,3": GPIO5, 7,0": GPIO27) und Ausrichtung panelabhängig. Das 7-Zoll-Panel ist nativ Querformat, deshalb entfallen dort die 270-Grad-Rotation und die PPA-Beschleunigung.lvgl_port_v9.hbeziehtLVGL_PORT_H/V_RESauspins_config.hstatt fest 480/800.process_coordinates-Hook vonesp_lcd_touch, damit die Herstellerdateiesp_lcd_touch_gt911.cunverändert bleibt. Ohne sie wäre nur der linke obere Bildteil bedienbar.ui.cpprechnet nicht mehr mit fest verdrahteten 480 Pixeln Höhe, sondern mitDISP_VER_RES. Layout und Schriften bleiben sonst unverändert: Das Dashboard arbeitet fast durchgehend mit Prozentmaßen, und die feineren Pixelabstände des 7-Zöllers (170 statt 213 dpi) lassen dieselben Schriftgrößen physisch größer erscheinen.Verkabelung
Unverändert: P4 GPIO33 = TX, GPIO31 = RX. Beim 7-Zöller liegen diese Pins allerdings auf der FPC-Buchse FPC4 (1,0 mm, 16-polig) statt auf einer Stiftleiste — dort wird ein Adapterkabel gebraucht.
Hersteller-Paket
JC_Display_Firmware_7zoll/enthält Schaltpläne, Spezifikation, Datenblätter, Handbuch, Burn-Dateien und die Arduino-Demos. Werkzeuge, Archive und mitgelieferte Fremdbibliotheken sind per.gitignoreausgeschlossen (587 MB im Original, 21 MB im Repo).Test
Kompiliertest ESP32-P4, beide Varianten:
JC_PANEL_43)JC_PANEL_70)Auf Hardware ist der 7-Zoll-Zweig noch nicht erprobt.